นายจ้างของฉันใช้การแข่งขันแบบทดสอบรายวัน หนึ่งวันเต็มจะทุ่มเทให้กับการเขียนแบบทดสอบหน่วย - แน่นอนเราทำการทดสอบเพิ่มเติมตลอดทั้งเดือน แต่นี่เป็นทั้งวัน - และ "ผู้ชนะ" ของการแข่งขันจะได้รับรางวัล อย่างไรก็ตามเราพบว่ามันยากที่จะตัดสินว่าใครเป็นผู้ชนะ
เรากำหนดคะแนนสำหรับแต่ละกรณีทดสอบ ดังนั้นถ้าคุณเขียนการทดสอบหน่วยเช่นนี้ ...
for (int i = 0; i < 100; i++) {
assertTrue(i*i, square(i));
}
คุณจะได้รับ 100 คะแนน เห็นได้ชัดว่านี่เป็นตัวอย่างง่าย ๆ แต่มันแสดงให้เห็นถึงปัญหากับการกำหนด "คะแนน" ให้กับแต่ละกรณีทดสอบ
เราเป็นร้านค้า Java & Javascript เป็นหลัก ดังนั้นฉันจึงแนะนำการนับจำนวนสาขารหัสที่ทดสอบเป็นเมตริก เราสามารถนับจำนวนสาขาที่ทดสอบผ่านเครื่องมือครอบคลุมรหัสได้อย่างง่ายดาย (เช่น EclEmma) อย่างไรก็ตามไม่แน่ใจว่าเราจะทำอย่างไรกับการทดสอบซีลีเนียมของเราและรับรหัสที่ครอบคลุมในแหล่ง Javascript (ความคิดใด ๆ ?)
ไม่มีใครมีข้อเสนอแนะใด ๆ เกี่ยวกับวิธีที่เราสามารถตัดสินผู้ชนะการแข่งขันนี้ได้ดีขึ้น
แก้ไข
ฉันรู้วิธีการเขียนการทดสอบหน่วยฉันรู้วิธีการเขียนการทดสอบหน่วยที่มีประสิทธิภาพฉันไม่ต้องการความช่วยเหลือในการกำหนดสิ่งที่จะทดสอบ ฉันไม่สามารถควบคุมการแข่งขันนี้ได้ - การแข่งขันจะดำเนินต่อไป ดังนั้นฉันจึงเพิ่มการป้อนข้อมูลบางอย่างเพื่อให้ดีขึ้นหรือทดสอบการเล่นเกมต่อไป (ใช่ฉันเล่นเกมพวกเขาแน่นอนฉันเล่นเกมพวกเขามีรางวัลที่จะชนะ)
แก้ไข
เห็นได้ชัดว่าคำถามนี้ไม่ใช่คำถามที่ซ้ำกันแม้ว่าจะมีข้อมูลที่เป็นประโยชน์เกี่ยวกับวิธีการค้นหากรณีทดสอบที่ดี แต่ก็ไม่ได้ให้ตัวชี้วัดที่มีประโยชน์เพื่อประเมินการแข่งขัน