จากบทความเรื่อง Programmer Test Principles เขียนโดยคุณ Kent Beck
ทำการอธิบายเรื่องของ Programmer Test ไว้น่าสนใจดี
เลยทำการสรุปจากการอ่านไว้นิดหน่อย

จากบทความสรุปไว้สั้น ๆ ว่า Programmer test ควรจะ

  • ไม่ต้องเสียเวลาในการรอ นั่นคือ ต้องทดสอบเร็ว (Waiting time == Waste) ดังนั้นเรื่องของ Fast feedback จึงสำคัญมาก
  • ยิ่งเร็วมากเท่าไร ยิ่งช่วยลดการ debug ลงไปมากเท่านั้น
  • เร็วอย่างเดียวไม่พอ ชุดการทดสอบต้องมีความน่าเชื่อถือด้วย
  • ลดความกลัวเมื่อต้อง deploy หรือช่วยให้เรารู้ว่าสิ่งที่เกิดขึ้นหลังจาก deploy เป็นอย่างไร หรือช่วยบอกว่าเราควร deploy ไหม
  • ถ้าโครงสร้างเปลี่ยนหรือทำการปรับปรุงแล้ว test ต้องไม่พัง (Refactor)
  • ถ้าพฤติกกรมการทำงานเปลี่ยนแล้ว แน่นอนว่า test ต้องพังหรือไม่ผ่าน
  • ง่ายต่อการเขียน อ่านและเปลี่ยนแปลง ซึ่งตรงนี้ต้องใช้ประสบการณ์มากพอสมควร ถ้าดูแลไม่ดีแล้วชุดการทดสอบก็จะเป็นภาระเพิ่มมาอีกนะ

มันจึงเป็นเรื่องที่ไม่ง่ายเลย
แต่สิ่งเหล่านี้คือสิ่งสำคัญที่ programmer ควรทำหรือสร้างขึ้นมา
เพราะว่า เรื่องของการทดสอบนั้น ไม่มีใครมาให้ราคา
เวลาคนจ้าง เขาจ้างให้เราสร้างระบบงานขึ้นมา ไม่ได้จ้างให้มาเขียนชุดการทดสอบ
แต่ถ้าเราไม่เขียนแล้ว ปัญหาต่าง ๆ ที่เกิดขึ้นก็จะมาลงที่ programmer แน่นอน
ขว้างงูไม่พ้นคอแน่ ๆ
ดังนั้นทำเถอะนะ ยากแต่มีประโยชน์