การทดสอบแบบ Agile - การติดตามกิจกรรม
สถานะการทดสอบสามารถสื่อสารได้ -
- ในระหว่างการประชุมประจำวัน
- การใช้เครื่องมือจัดการทดสอบมาตรฐาน
- ผ่านทางผู้ส่งสาร
สถานะการทดสอบที่กำหนดโดยสถานะการผ่านการทดสอบเป็นสิ่งสำคัญในการตัดสินใจว่างานนั้น“ เสร็จสิ้น” หรือไม่ เสร็จสิ้นหมายถึงการทดสอบทั้งหมดสำหรับงานผ่าน
ความคืบหน้าการทดสอบ
สามารถติดตามความคืบหน้าของการทดสอบได้โดยใช้ -
- Scrum Boards (บอร์ดงาน Agile)
- แผนภูมิ Burndown
- ผลการทดสอบอัตโนมัติ
ความคืบหน้าของการทดสอบยังมีผลโดยตรงต่อความก้าวหน้าของการพัฒนา เนื่องจากสามารถย้ายเรื่องราวของผู้ใช้ไปที่Doneสถานะหลังจากถึงเกณฑ์การยอมรับเท่านั้น ในทางกลับกันสิ่งนี้จะถูกตัดสินโดยสถานะการทดสอบเนื่องจากเกณฑ์การยอมรับจะถูกตัดสินโดยสถานะการทดสอบ
หากมีความล่าช้าหรือการอุดตันระหว่างการทดสอบทีมงานทั้งหมดจะหารือและทำงานร่วมกันเพื่อแก้ไขปัญหาเดียวกัน
ในโครงการ Agile การเปลี่ยนแปลงเกิดขึ้นค่อนข้างบ่อย เมื่อมีการเปลี่ยนแปลงมากมายเราสามารถคาดหวังได้ว่าสถานะการทดสอบความคืบหน้าการทดสอบและคุณภาพของผลิตภัณฑ์จะมีการพัฒนาอย่างต่อเนื่อง ผู้ทดสอบ Agile จำเป็นต้องได้รับข้อมูลดังกล่าวไปยังทีมเพื่อให้สามารถตัดสินใจได้อย่างเหมาะสมในเวลาที่เหมาะสมเพื่อติดตามความสำเร็จของการทำซ้ำแต่ละครั้ง
เมื่อเกิดการเปลี่ยนแปลงอาจส่งผลต่อคุณลักษณะที่มีอยู่จากการทำซ้ำก่อนหน้านี้ ในกรณีเช่นนี้ต้องปรับปรุงการทดสอบด้วยตนเองและแบบอัตโนมัติเพื่อจัดการกับความเสี่ยงการถดถอยอย่างมีประสิทธิผล จำเป็นต้องมีการทดสอบการถดถอย
คุณภาพของผลิตภัณฑ์
เมตริกคุณภาพผลิตภัณฑ์ ได้แก่ -
- การทดสอบผ่าน / ไม่ผ่าน
- พบข้อบกพร่อง / แก้ไข
- ความครอบคลุมการทดสอบ
- อัตราการผ่านการทดสอบ / ไม่ผ่าน
- อัตราการค้นพบข้อบกพร่อง
- ความหนาแน่นของข้อบกพร่อง
การรวบรวมและรายงานเมตริกคุณภาพผลิตภัณฑ์โดยอัตโนมัติช่วยใน -
- การรักษาความโปร่งใส
- รวบรวมเมตริกที่เกี่ยวข้องและจำเป็นทั้งหมดในเวลาที่เหมาะสม
- รายงานทันทีโดยไม่เกิดความล่าช้าในการสื่อสาร
- ให้ผู้ทดสอบเน้นการทดสอบ
- การกรองการใช้เมตริกในทางที่ผิด
เพื่อรักษาคุณภาพของผลิตภัณฑ์โดยรวมทีม Agile จำเป็นต้องได้รับคำติชมจากลูกค้าว่าผลิตภัณฑ์ตรงตามความคาดหวังของลูกค้าหรือไม่ สิ่งนี้จะต้องดำเนินการในตอนท้ายของการทำซ้ำแต่ละครั้งและข้อเสนอแนะจะเป็นข้อมูลสำหรับการทำซ้ำในภายหลัง
ปัจจัยแห่งความสำเร็จ
ในโครงการ Agile สามารถส่งมอบผลิตภัณฑ์ที่มีคุณภาพได้หากการทดสอบ Agile สำเร็จ
ประเด็นต่อไปนี้จะต้องได้รับการพิจารณาเพื่อความสำเร็จของการทดสอบ Agile -
การทดสอบแบบ Agile ขึ้นอยู่กับแนวทางการทดสอบก่อนและต่อเนื่อง ดังนั้นเครื่องมือทดสอบแบบเดิมซึ่งสร้างขึ้นจากแนวทางการทดสอบล่าสุดอาจไม่เหมาะสม ดังนั้นในขณะที่เลือกเครื่องมือทดสอบในโปรเจ็กต์ Agile จำเป็นต้องมีการตรวจสอบความสอดคล้องกับการทดสอบ Agile
ลดเวลาในการทดสอบทั้งหมดโดยทำการทดสอบอัตโนมัติในช่วงก่อนหน้าของวงจรการพัฒนา
ผู้ทดสอบ Agile จำเป็นต้องรักษาจังหวะเพื่อให้สอดคล้องกับกำหนดการเผยแพร่การพัฒนา ดังนั้นการวางแผนการติดตามและการวางแผนใหม่ของกิจกรรมการทดสอบจึงจำเป็นต้องทำทันทีโดยมีคุณภาพของผลิตภัณฑ์เป็นเป้าหมาย
การทดสอบด้วยตนเองคิดเป็น 80% ของการทดสอบในโครงการ ดังนั้นผู้ทดสอบที่มีความเชี่ยวชาญจะต้องเป็นส่วนหนึ่งของทีม Agile
การมีส่วนร่วมของผู้ทดสอบเหล่านี้ด้วยความเชี่ยวชาญตลอดวงจรการพัฒนาทำให้ทั้งทีมมุ่งเน้นไปที่ผลิตภัณฑ์ที่มีคุณภาพตรงตามความคาดหวังของลูกค้า
การกำหนดเรื่องราวของผู้ใช้โดยเน้นพฤติกรรมของผลิตภัณฑ์ที่ผู้ใช้ปลายทางคาดหวัง
การระบุเกณฑ์การยอมรับในระดับเรื่องราวของผู้ใช้ / ระดับงานตามความคาดหวังของลูกค้า
การประมาณความพยายามและระยะเวลาในการทดสอบกิจกรรม
การวางแผนกิจกรรมการทดสอบ
ประสานงานกับทีมพัฒนาเพื่อให้แน่ใจว่าการผลิตโค้ดตรงตามข้อกำหนดด้วยการออกแบบการทดสอบล่วงหน้า
ทดสอบการทดสอบครั้งแรกและต่อเนื่องเพื่อให้แน่ใจว่าสถานะเสร็จสิ้นตรงตามเกณฑ์การยอมรับในเวลาที่คาดไว้
สร้างความมั่นใจในการทดสอบในทุกระดับภายในการวิ่ง
การทดสอบการถดถอยเมื่อสิ้นสุดการวิ่งแต่ละครั้ง
รวบรวมและวิเคราะห์เมตริกผลิตภัณฑ์ที่เป็นประโยชน์ต่อความสำเร็จของโครงการ
การวิเคราะห์ข้อบกพร่องเพื่อระบุสิ่งที่ต้องได้รับการแก้ไขใน Sprint ปัจจุบันและอาจล่าช้าไปยัง Sprint ที่ตามมา
มุ่งเน้นไปที่สิ่งที่สำคัญจากมุมมองของลูกค้า
Lisa Crispin ได้กำหนดปัจจัยสำคัญ 7 ประการสำหรับความสำเร็จในการทดสอบ Agile -
Whole Team approach- ในแนวทางนี้นักพัฒนาจะฝึกผู้ทดสอบและผู้ทดสอบจะฝึกสมาชิกในทีมคนอื่น ๆ สิ่งนี้ช่วยให้ทุกคนเข้าใจทุกงานในโครงการดังนั้นการทำงานร่วมกันและการมีส่วนร่วมจะเกิดประโยชน์สูงสุด การทำงานร่วมกันของผู้ทดสอบกับลูกค้าเป็นปัจจัยสำคัญในการกำหนดความคาดหวังตั้งแต่เริ่มต้นและแปลเกณฑ์การยอมรับให้เป็นเกณฑ์ที่จำเป็นในการผ่านการทดสอบ
Agile Testing Mindset - ผู้ทดสอบมีความกระตือรือร้นในการปรับปรุงคุณภาพอย่างต่อเนื่องและทำงานร่วมกับทีมอื่น ๆ อย่างต่อเนื่อง
Automate Regression Testing- ออกแบบมาเพื่อทดสอบความสามารถและพัฒนาไดรฟ์พร้อมการทดสอบ เริ่มง่ายๆและให้ทีมงานเลือกเครื่องมือ พร้อมให้คำแนะนำ
Provide and Obtain Feedback- เนื่องจากนี่เป็นค่า Agile หลักทีมงานทั้งหมดควรเปิดรับความคิดเห็น เนื่องจากผู้ทดสอบเป็นผู้ให้ข้อเสนอแนะจากผู้เชี่ยวชาญจึงต้องให้ความสำคัญกับข้อมูลที่เกี่ยวข้องและจำเป็น ในทางกลับกันการได้รับข้อเสนอแนะควรรองรับการเปลี่ยนแปลงกรณีทดสอบและการทดสอบ
Build a Foundation of Core Agile Practices - มุ่งเน้นไปที่การทดสอบควบคู่ไปกับการเข้ารหัสการผสานรวมอย่างต่อเนื่องสภาพแวดล้อมการทดสอบการทำงานร่วมกันการทำงานเพิ่มขึ้นการยอมรับการเปลี่ยนแปลงการรักษาพลังร่วมกัน
Collaborate with Customers - คัดลอกตัวอย่างทำความเข้าใจและตรวจสอบการแมปข้อกำหนดกับพฤติกรรมของผลิตภัณฑ์การตั้งค่าเกณฑ์การยอมรับการรับข้อเสนอแนะ
Look at the Big Picture - ขับเคลื่อนการพัฒนาด้วยการทดสอบและตัวอย่างสำหรับธุรกิจโดยใช้ข้อมูลการทดสอบในโลกแห่งความจริงและคิดถึงผลกระทบในด้านอื่น ๆ