testing คือ key สำคัญตัวหนึ่ง
แต่ปัญหาก็คือ เราจะมั่นใจในตัว test ได้อย่างไร
วิธีการหนึ่งก็คือใช้ coverage tool ในการ monitor
testing process เพื่อที่สรุปได้ว่า source code
ที่เรา test คิดเป็นกี่เปอร์เซนต์ของ source code
ทั้งหมด
ตัวอย่างของ coverage report ของ Tapestry project
ตัว Jester เสนออีก idea ในการ test tester
ก็คือ ตัวมันจะทำการแก้ไข source code
บางส่วน (source ของโปรแกรมที่จะ test)
ก่อนที่จะ run test program
จากนั้นก็ทำการ run test
ถ้า test ผ่าน แสดงว่า test case นั้นยังไม่ครอบคลุม
source code ในจุดที่ jester แก้ไข
จุดใน source code ที่ jester จะทำการแก้ไข
ประกอบด้วย
- แก้ไขพวกตัวเลข เช่น จาก 0 เป็น 1
- แก้ไข boolean จาก true->false, false -> true
- เปลี่ยนจาก if ( เป็น if (true ||
- เปลี่ยนจาก if ( เป้น if (false &&
จะเห็นว่าเป็นการแก้ไขแบบ simple มากๆ
แต่ก็มีโอกาสทำให้ logic ของโปรแกรมเปลี่ยนแปลงได้