รู้จักกับ Acceptance Test Stage ใน Deployment Pipeline กัน
Acceptance Test Stage ก็คือ ขั้นตอนการทดสอบเพื่อทดสอบว่าโปรแกรมทำงานได้ตามที่ลูกค้าต้องการ สามารถตอบสนองความต้องการทางธุรกิจของลูกค้าได้
โดยสิ่งที่ลูกค้าต้องการเราเรียกว่า Acceptance Criteria
ซึ่งเจ้าสิ่ง Acceptance Criteria นี้แหล่ะนำมาสร้างชุดการทดสอบเพื่อที่จะทำให้เกิดเป็น Automate Test Script และนำเข้าไปอยู่ใน Deployment Pipeline เพื่อทดสอบว่าโปรแกรมระบบของเรา ยังคงสามารถตอบความต้องการของลูกค้าอยู่ไหม เมื่อมีการเปลี่ยนแปลงในระบบของเรา
การทดสอบนี้จะเป็นการจำลองการสร้างระบบเสมือนจริง ขึ้นมาเพื่อทดสอบ
เช่นมีการติดต่อกับ Database จริง , มีระบบรอบข้างภายในของเราที่เหมือนจริง
แต่ว่า หากเป็นระบบที่มีโครงสร้างที่จำเป็นต้องเชื่อมต่อไปยังระบบภายนอก เราสามารถใช้เทคนิค Test Double เพื่อจำลองระบบภายนอกเพื่อให้เราสามารถทดสอบภายในของเราเองได้ ข้อสำคัญของชุดการทดสอบนี้ ในแต่ละการทดสอบนั้นต้องเป็นอิสระต่อกัน การทดสอบแต่ละอย่างควรจะตอบกับธุรกิจหรือมีจุดประสงค์ในการทดสอบภายในตัวเอง ซึ่งในการทดสอบนี้จะใช้เวลาในการทดสอบมากขึ้น และมีความซับซ้อนที่มากขึ้นด้วย การสร้างชุดการทดสอบนี้ควรตั้งอยู่บนหลัก INVEST
การทดสอบใน Stage นี้จะช่วยลดค่าใช้จ่ายในการทดสอบระบบของเราซ้ำ หาก Release Candidate ของเราไม่ผ่านในกระบวนการทดสอบนี้ ก็ไม่ควรนำขึ้น Release เพื่อใช้งาน หรือเข้าสู่กระบวนการทดสอบถัดไป
สุดท้าย การทดสอบนี้เป็นการทดสอบเพื่อลูกค้าของเรา การทดสอบนี้จะช่วยเพิ่มความมั่นใจในกระบวนการส่งมอบของเราให้มากขึ้น เมื่อ Software สามารถตอบโจทย์ของธุรกิจก็จะทำให้เกิดมูลค่าของธุรกิจ การทำเป็น Automate ยังมีผลประโยชน์ที่ช่วยลดแรงและค่าใช้จ่ายในการทดสอบซ้ำ ช่วยให้ทีม Tester ไปเน้นเรื่องการวางแผนการทดสอบหรืองานอื่นที่มีประโยชน์มากกว่า และมี Feedback ที่เป็นประโยชน์และบอกจุดข้อผิดพลาดได้ไวด้วย
Reference : Continuous Delivery : Chapter 8 Automated Acceptance Testing