Testing time
How Long Do You Think You Need?
The Way It Is
นี่คือปฏิทินของ Project Team A
ในเวลาหนึ่งเดือน
- งาน Development ได้ไป 19 วันทำงาน — สีเขียว
- งาน Testing ได้ไป 2 วันทำงาน — สีเหลือง
- งาน Release เอาไป 1 วันทำงาน — สีแดง
หลักใหญ่ใจความคือ “จะทำ Development มานานกี่ชาติไม่สำคัญ ยังไงคุณก็ได้เวลาทำ Testing ไม่เกิน 3 วัน” ฮ่าๆๆ
เอ๊ะ หลายคนอาจจะสงสัยว่าเจอแบบนี้คนที่ต้องทำงาน Testing ยอมได้อย่างไร? ความจริงคือเค้าไม่ได้ยอมหรอกครับแต่เค้าไม่รู้เลยว่าตัวเองจะมีเวลาได้ทำงานแค่สองวันเพราะไม่เคยมีใครมาถามเค้าก่อน
The Way It Should Be
อลัน เพจ (Alan Page, Test Director At Microsoft) ผู้ร่วมเขียนหนังสือชื่อ How We Test Software At Microsoft กล่าวไว้อย่างน่าสนใจว่า
“How do you estimate how long it will take you to test a feature or an application? One rule of thumb I have seen used often is to copy the development time …, Alan Page, How We Test Software At Microsoft”
“กับคำถามที่ว่าคุณมีวิธีการอย่างไรในการประเมินเวลาที่คุณต้องใช้ในการทดสอบ Feature หรือ Application? กฎง่ายๆข้อหนึ่งที่ผมเห็น [พนักงาน Microsoft] ใช้อยู่บ่อยๆคือการเลียนแบบเวลาที่ใช้ในการพัฒนา เช่น ถ้าฟีเจอร์นี้ใช้เวลาพัฒนา 3 man-days ก็ต้องใช้เวลาทดสอบ 3 man-days เช่นกัน …”
หนังสือเล่มนี้เขียนเมื่อปี 2008 ก็ประมาณหกปีมาแล้วแต่เนื้อความประโยคนี้ผมคิดว่ายังทันสมัยอยู่พอสมควรเพราะ
- มันชี้ให้เห็นว่า Testing เป็นเรื่องสำคัญที่ต้องให้เวลาซึ่งปัจจุบันนี้ Testing ยิ่งสำคัญกว่าแต่ก่อนเพราะคุณภาพเป็นเรื่องที่ต่อรองไม่ได้
- มันชี้ให้เห็นว่า Testing ไม่ใช่เรื่องง่ายซึ่งปัจจุบันนี้ก็ยังไม่ง่าย
- และมันก็ชี้ให้เห็นว่ามีหลายคนไม่เข้าใจว่า Testing มีความสำคัญและไม่ใช่เรื่องง่าย … ก็ลองดูปฏิทินข้างบนดูสิ
เนื่องจาก Effort กับ Duration ไม่เหมือนกัน ถ้าคุณไม่สามารถผสมผสานการทำ Testing เข้าไปเป็นส่วนหนึ่งของ Development ได้อย่างกลมกลืนและเหมาะสมไม่ว่าจะด้วยการประยุกต์ใช้ Agile Development, Automated Testing, Test-Driven Development, Continuous Integration/Testing, อื่นๆ และอื่นๆ คุณก็ไม่ควรวาดปฏิทินที่มี Duration แบบนั้นขึ้นมา … มันเป็นหลักฐานฟ้องว่าคุณไม่เข้าใจและไม่แคร์คำว่า “คุณภาพ”
ในอีกด้านหนึ่ง ถ้าคุณอยู่ในทีมนี้แล้วเป็นคนที่โดนตั้งคำถามว่า “ต้องใช้เวลาเทสเท่าไร?” คุณก็ควรจะตอบไปว่า
“แล้วใช้เวลา Develop เท่าไรคะ? หนูก็ใช้เท่านั้นค่ะ” พร้อมยิ้มหวานๆให้หนึ่งที ☺