
แผนที่การคลอบคลุมสัญญาณโทรศํพท์มือถือปัจจุบันของบริษัท AT&T ยังมีพื้นที่อีกมากที่ยังไม่มี coverage
การใช้ TDD ขับเคลื่อนการเขียนโค้ดโดยเริ่มจากการเขียนเทสต์ก่อน (บางสำนักจะเรียกเจาะจงว่าเป็น TFD – Test First Design) นอกจากจะช่วยทำให้เราสามารถออกแบบโค้ดให้สอดคล้องกับสเปกที่เขียนจากเทสต์แล้ว ยังทำให้โค้ดที่เขียนมี test coverage ในตัวไปด้วย เป็นวิธีที่ดีกว่าเขียนโค้ดให้เสร็จแล้วมาเขียนเทสต์ cover ภายหลัง ซึ่งค่อนข้างจะน่าเบื่อและอาจหลุดการเทสต์หลายๆกรณีได้
คราวนี้คำถามอยู่ที่ว่าเราควรจะเขียน code coverage ขนาดไหนถึงจะพอ อย่าลืมว่าเทสต์ก็เป็นส่วนหนึ่งของโค้ดเบสที่ต้อง maintain การมีโค้ดหรือเทสต์ที่ไม่จำเป็นก็กลายเป็นขยะโดยไม่รู้ตัว
สังเกตดูหลายๆบทความมีการพูดถึงการเขียนเทสต์ที่มุ่งเป้าที่จะ cover code ให้ครบ 100% ทำให้สงสัยว่าจำเป็นหรือไม่ ลองดูตัวอย่างข้างล่างนี้แล้วนึกตามว่าหัวข้อไหนจำเป็น/ไม่จำเป็นที่จะต้องเขียนเทสต์
- เขียนเทสต์ทดสอบทุก method หรือเฉพาะ public หรือ public/protected ในยูนิตนั้นๆ
- เขียนเทสต์ทดสอบผลของการใช้เฟรมเวิร์คในโค้ด อย่างเทสต์ว่าออบเจกที่เซฟผ่าน persistence framework เก็บลงฐานข้อมูลถูกต้องหรือไม่
- เขียนเทสต์ทดสอบ getter/setter ว่าอ่านเขียนทุกๆฟิวด์ของออบเจกในคลาสถูกต้องหรือไม่
- เขียนเทสต์คลุม execution path ภายใน method ครบหรือไม่
(more…)