Мої роботодавці проводять щомісячний конкурс одиничних тестувань. Один цілий день присвячений написанню одиничних тестів - очевидно, ми робимо більше тестувань протягом місяця, але це цілий день - і "переможець" змагань отримує приз. Однак ми знаходимо, що важко визначити, хто переможець.
Ми присвоювали бали для кожного тестового випадку. Тож якщо ви написали одиничний тест так ...
for (int i = 0; i < 100; i++) {
assertTrue(i*i, square(i));
}
вам дадуть 100 балів. Очевидно, що це спрощений приклад, але він демонструє проблеми з присвоєнням "балів" кожному тестовому випадку.
Ми насамперед магазин Java та Javascript. Тому я запропонував підрахувати кількість гілок коду, перевірених як метрику. Ми можемо легко підрахувати випробувані гілки за допомогою інструменту покриття коду (наприклад, EclEmma). Однак не впевнений, як би ми це зробили за допомогою наших тестів Selenium та отримання кодового покриття на джерелах Javascript (будь-які ідеї?)
Хтось має пропозиції щодо того, як ми могли б краще визначити переможця цього конкурсу?
Редагувати
Я знаю, як писати одиничні тести, я вмію писати ефективні одиничні тести, мені не потрібна допомога у визначенні того, що перевірити. Я не маю контролю над цим змаганням - змагання триватимуть далі. Тож я або додаю певний внесок, щоб покращити його, або продовжую проводити ігрові тести (так, я в них граю. Звичайно, я в них граю. Виграти потрібно призи)
Редагувати
Це питання тут , очевидно , не є дублікатом, хоча і містить корисну інформацію про те , як знайти хороших тестів, він не дає жодних - або корисних показників для оцінки конкуренції.