Manual vs Automated Testing
Manual และ automated testing ไม่ได้เป็นคู่แข่งกัน แต่เป็นเครื่องมือคนละแบบที่ช่วยตอบคำถามคนละประเภทในงานพัฒนา
อย่าคิดว่าอย่างใดอย่างหนึ่งแทนกันได้ทั้งหมด
Manual เก่งเรื่องการสำรวจและมองประสบการณ์จริง ส่วน automated เก่งเรื่องความสม่ำเสมอและการตรวจซ้ำในงานที่ทำบ่อย
Manual testing เหมาะกับอะไร
Manual testing เหมาะกับการเดิน flow จริงด้วยสายตาและการตัดสินใจของคน โดยเฉพาะกรณีที่เรายังอยากสำรวจพฤติกรรมของระบบหรือเช็กความลื่นไหลของประสบการณ์ใช้งาน
- exploratory testing เพื่อหาเคสที่ยังนึกไม่ถึง
- ตรวจ UX และความรู้สึกในการใช้งานจริง
- quick check หลังแก้ไขเล็กน้อย
Automated testing เหมาะกับอะไร
Automated testing เหมาะกับสิ่งที่ต้องรันบ่อย ต้องการความสม่ำเสมอ และอยากได้ feedback เร็วทุกครั้งที่มีการเปลี่ยนโค้ด
- กัน regression ใน flow สำคัญ
- รันซ้ำได้ทุกครั้งก่อน merge หรือ deploy
- ตรวจ business logic หรือ integration ที่คนไม่ควรต้องเช็กมือซ้ำ ๆ
เมื่อไรควรเริ่ม automate
ให้เริ่มจากจุดที่ทีมเสียเวลาตรวจซ้ำบ่อย หรือจุดที่พังแล้วกระทบสูงก่อน ไม่จำเป็นต้อง automate ทุกอย่างตั้งแต่วันแรก
Point 1
flow เดิมต้องเช็กทุก release
Point 2
จุดที่เคยพังซ้ำและสร้าง regression บ่อย
Point 3
logic สำคัญที่ผิดพลาดแล้วกระทบผู้ใช้หรือธุรกิจชัดเจน