เช้านี้อ่านเจอบทความเรื่อง What is Regression Testing ?
ทำการอธิบายเกี่ยวกับ Regression testing ว่าคืออะไร ?
มีเป้าหมายเพื่ออะไร ?
และจะลงมือทำการทดสอบเมื่อใด ?
จึงทำการสรุปการอ่านไว้นิดหน่อย
Regression Testing คืออะไร ?
เป็นการทดสอบชนิดหนึ่งใน Functional testing ใช้สำหรับการตรวจสอบปัญหาที่เกิดขึ้นมาจาก การเพิ่มหรือแก้ไข code ของระบบ เพื่อหาว่าต้นเหตุของปัญหาอยู่ที่ไหน เพื่อยืนยันว่าการเพิ่มหรือแก้ไขสามารถแก้ไขปัญหาได้ หรือไม่ส่งผลกระทบต่อการทำงานของระบบคำถามต่อมาคือ Functional testing มันคืออะไรล่ะ ?
เป็นการทดสอบ และ เป็นขั้นตอนที่ถูกสร้างขึ้นมาเพื่อ ใช้ยืนยันว่าแต่ component ของระบบ ทำงานร่วมกันได้อย่างถูกต้องตามความต้องการที่ตกลงไว้ร่วมกัน โดยเน้นที่การทดสอบจาก interface ของระบบงาน เพื่อทำให้มั่นใจว่าระบบงานนั้นสามารถทำงานได้อย่างเหมาะสมกับผู้ใช้งาน เช่น ถ้าเป็นระบบ Web application ก็เน้นไปที่ User Interface บน browser ถ้าเป็นระบบ API ก็เน้นไปที่การใช้งานผ่าน API Functional testing ประกอบไปด้วยการทดสอบชนิดต่าง ๆ ดังนี้- Smoke testing
- Sanity testing
- Integration testing
- Acceptance testing
- Regression testing
คำถามต่อมาคือ ทำ Regression testing ตอนไหน ?
Regression testing เป็นการทดสอบที่สำคัญมาก ๆ ของการพัฒนา software จะลงมือทำเมื่อ- ทำการ release ระบบ หรือ feature ใหม่ ๆ
- เมื่อทำการแก้ไขข้อผิดพลาดต่าง ๆ ที่สำคัญ
คำว่าเป็นไปไม่ได้ มันคืออะไร ? ไม่เคยทำ หรือ ทำไม่เป็น หรือ ... ดังนั้นลงมือทำเถอะครับ ถ้าไม่ลงมือทำสักทีจะทำเป็นหรือไง ?
เนื่องจากทุกการเปลี่ยนแปลงของระบบล้วนมีความเสี่ยง !!
ดังนั้นสิ่งที่นักพัฒนาต้องตอบให้ได้คือ- สิ่งที่สร้างและแก้ไขไปนั้น มันทำงานได้อย่างถูกต้องหรือไม่ ?
- สิ่งที่สร้างและแก้ไขไปนั้น มันไม่ส่งผลกระทบต่อการทำงานในส่วนอื่น ๆ หรือไม่ ?