จาก Course The Whole Team Approach to Agile Testing ที่สิงคโปร์
มีการอธิบายถึงที่มาที่ไปของ Agile Testing Quadrant
มีการอธิบายถึงเป้าหมายหลักของ Agile Testing Quadrant
มีการอธิบายถึงการใช้งานที่ถูกต้องของ Agile Testing Quadrant
ดังนั้น เรามาดูรายละเอียดในแต่ละข้อกันดูนะ
ที่มาที่ไป และ การใช้งานของ Agile Testing Quadrant
มาจาก Agile Testing Direction Matrix ของคุณ Brian Marick ดังรูป โดยในแต่ละช่อง แต่ละสี จะเรียกว่า Quadrant ประกอบไปด้วย 4 ส่วนที่จำเป็นดังนี้- Technology facing ต้องรู้จัก และ เข้าใจเทคโนโลยี
- Support Programming ต้องทำการเขียน code ในการทดสอบ
- Business facing ต้องเข้าใจเรื่องของ business domain
- Critique product
โดยในฝั่งซ้าย สำหรับการป้องกัน หรือ prevent เพื่อไม่ให้เกิดข้อผิดพลาด ส่วนด้ายขวา สำหรับการค้นหา หรือ detect ข้อผิดพลาดซึ่งถือว่าเป็นหัวใจอย่างหนึ่งของ Agile Testing แสดงดังรูป
การใช้งาน Agile Testing Quadrant
ไม่ได้เรียงลำดับตาม Q1, Q2, Q3 และ Q4 แบบ Waterfall นะ เนื่องจากมีไว้เพื่อแบ่ง และ ตัดสินใจว่า การทดสอบแต่ละชนิดควรจะอยู่ตรงไหนเพื่อทำให้ทีม มีความรู้ความเข้าใจเกี่ยวกับการทดสอบที่ตรงกันตัวอย่างเช่น ใน Q1 นั้นจะหมายถึง การทดสอบที่จำเป็นต้องมีความรู้ความเข้าใจเทคโนโลยี และต้องการการเขียน code อีกด้วย ที่ผ่านมาพบว่า แต่ระบบงานส่วนใหญ่มักจะเริ่มที่ Q2 เพราะว่า ส่วนใหญ่แล้วเรามักจะเริ่มคุยกันที่ specification + example ของแต่ละ feature จากนั้นจึงเริ่มด้วยการคิดว่าจะทดสอบกันอย่างไร ? และลงมือเขียน code ต่อไป แต่ก็มีบางระบบงานที่ต้องเริ่มจาก Q4 เช่น Performance testing เนื่องจากต้องทำการทดสอบว่า สถาปัตยกรรมของระบบงานนั้น มันรองรับการใช้งานตามความต้องการหรือไม่ ? ซึ่งเป็นเป้าหมายที่สำคัญมากของระบบงาน อีกส่วนหนึ่งที่อาจจะเข้าใจผิดก็คือ Q3 และ Q4 ต้องเขียน code ด้วยนะ เนื่องจากรูป Agile Testing Quadrant นั้นไม่ได้บอกว่าต้องเขียน code แต่ในการทำงานจริง ๆ แล้วต้องการการเขียน code บ้าง เช่นการ deploy แบบอัตโนมัติ เพื่อทำให้ทีมได้รับ feedback จากการทดสอบท่ีรวดเร็ว ของแต่ละการเปลี่ยนแปลง
สุดท้ายแล้ว Agile Testing Quadrant นั้น
มันเป็นเครื่องมือช่วย ให้ทีมเข้าใจตรงกันเกี่ยวกับการวางแผน ให้ทีมเข้าใจตรงกันเกี่ยวกับการทดสอบ ให้ทีมเข้าใจว่า ต้องทำอะไรบ้าง เพื่อให้การพัฒนาระบบงานประสบความสำเร็จ โดยที่แต่ละ Quadrant ไม่ได้มีกฎตายตัวอะไรแต่เน้นให้ทีมคิดก่อนว่า ในแต่ละ release ต้องทำอะไรบ้าง ในแต่ละรอบทำงานต้องทำอะไรบ้าง ในการแวางแผนต้องวางแผนอะไรบ้าง หนึ่งในนั้น คือ คิดก่อนว่าจะต้องทำการทดสอบอะไรบ้าง ?มาถึงตรงนี้ น่าจะทำให้เข้าใจเกี่ยวกับ Agile Testing Quadrant มากขึ้นแล้ว