การทดสอบแบบ Agile - ผู้ทดสอบในทีม
Agile Development ยึดทีมเป็นศูนย์กลางและนักพัฒนาและผู้ทดสอบมีส่วนร่วมในโครงการและกิจกรรมการพัฒนาทั้งหมด การทำงานเป็นทีมช่วยเพิ่มความสำเร็จในการทดสอบในโครงการ Agile
ทีมผู้ทดสอบใน Agile ต้องมีส่วนร่วมและมีส่วนร่วมในกิจกรรมทั้งหมดของโครงการและในขณะเดียวกันก็ต้องใช้ความเชี่ยวชาญในการทดสอบ
ผู้ทดสอบ Agile ควรมีทักษะการทดสอบแบบดั้งเดิม นอกจากนี้ Agile tester ต้องการ -
มีมนุษยสัมพันธ์ดี
ความสามารถในการดำเนินการเชิงบวกและมุ่งเน้นการแก้ปัญหากับสมาชิกในทีมและผู้มีส่วนได้ส่วนเสีย
ความสามารถในการแสดงความคิดที่สำคัญมุ่งเน้นคุณภาพและไม่เชื่อมั่นเกี่ยวกับผลิตภัณฑ์
ความถนัดที่จะกระตือรือร้นในการรับข้อมูลจากผู้มีส่วนได้ส่วนเสีย
ทักษะในการทำงานอย่างมีประสิทธิผลกับลูกค้าและผู้มีส่วนได้ส่วนเสียในการกำหนดเรื่องราวของผู้ใช้ที่สามารถทดสอบได้เกณฑ์การยอมรับ
ความสามารถในการเป็นสมาชิกในทีมที่ดีในการทำงานร่วมกับนักพัฒนาในการผลิตโค้ดคุณภาพ
การใช้ทักษะการทดสอบเพื่อให้มีกรณีทดสอบที่ถูกต้องในเวลาที่เหมาะสมและในระดับที่เหมาะสมและดำเนินการได้ดีภายในระยะเวลาของการวิ่ง
ความสามารถในการประเมินและรายงานผลการทดสอบความคืบหน้าการทดสอบและคุณภาพของผลิตภัณฑ์
เปิดกว้างเพื่อตอบสนองต่อการเปลี่ยนแปลงอย่างรวดเร็วรวมถึงการเปลี่ยนแปลงเพิ่มหรือปรับปรุงกรณีทดสอบ
ศักยภาพในการจัดระเบียบงานด้วยตนเอง
ความกระตือรือร้นในการเติบโตของทักษะอย่างต่อเนื่อง
ความสามารถในการทดสอบอัตโนมัติ, การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ (TDD), การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ (ATDD), การพัฒนาพฤติกรรมที่ขับเคลื่อน (BDD) และการทดสอบตามประสบการณ์
บทบาทของผู้ทดสอบในทีม Agile
ผู้ทดสอบในทีม Agile มีส่วนร่วมในโครงการและกิจกรรมการพัฒนาทั้งหมดเพื่อสนับสนุนความเชี่ยวชาญด้านการทดสอบให้ดีที่สุด
กิจกรรม Agile Tester ได้แก่ -
ตรวจสอบการใช้เครื่องมือทดสอบอย่างเหมาะสม
การกำหนดค่าใช้งานและจัดการสภาพแวดล้อมการทดสอบและข้อมูลการทดสอบ
การให้คำปรึกษาสมาชิกในทีมคนอื่น ๆ ในแง่มุมที่เกี่ยวข้องของการทดสอบ
ตรวจสอบให้แน่ใจว่ามีการจัดกำหนดการงานทดสอบที่เหมาะสมในระหว่างการวางแผนรุ่นและการวิ่ง
การทำความเข้าใจการนำไปใช้และการปรับปรุงกลยุทธ์การทดสอบ
ร่วมมือกับนักพัฒนาลูกค้าและผู้มีส่วนได้ส่วนเสียในการชี้แจงข้อกำหนดทั้งในด้านความสามารถในการทดสอบความสอดคล้องและความสมบูรณ์
ทำการทดสอบที่ถูกต้องในเวลาที่เหมาะสมและในระดับการทดสอบที่เหมาะสม
รายงานข้อบกพร่องและทำงานร่วมกับทีมในการแก้ไข
การวัดและการรายงานความครอบคลุมการทดสอบในมิติความครอบคลุมทั้งหมดที่เกี่ยวข้อง
การมีส่วนร่วมใน sprint retrospectives เสนอแนะเชิงรุกและดำเนินการปรับปรุง
ใน Agile Lifecycle ผู้ทดสอบมีบทบาทสำคัญใน -
- Teamwork
- การวางแผนการทดสอบ
- Sprint Zero
- Integration
- แนวปฏิบัติในการทดสอบแบบ Agile
การทำงานเป็นทีม
ในการพัฒนาแบบ Agile การทำงานเป็นทีมเป็นพื้นฐานดังนั้นจึงต้องมีสิ่งต่อไปนี้ -
Collaborative Approach- ทำงานร่วมกับสมาชิกในทีมข้ามสายงานในกลยุทธ์การทดสอบการวางแผนการทดสอบข้อกำหนดการทดสอบการดำเนินการทดสอบการประเมินผลการทดสอบและการรายงานผลการทดสอบ สนับสนุนความเชี่ยวชาญในการทดสอบร่วมกับกิจกรรมอื่น ๆ ของทีม
Self-organizing - การวางแผนและจัดระเบียบที่ดีภายในการวิ่งเพื่อให้บรรลุเป้าหมายของการทดสอบโดยการรวมความเชี่ยวชาญจากสมาชิกในทีมคนอื่น ๆ ด้วย
Empowerment - การตัดสินใจทางเทคนิคที่เหมาะสมเพื่อให้บรรลุเป้าหมายของทีม
Commitment - มุ่งมั่นทำความเข้าใจและประเมินพฤติกรรมและคุณลักษณะของผลิตภัณฑ์ตามที่ลูกค้าและผู้มีส่วนได้ส่วนเสียต้องการ
Transparent - เปิดกว้างสื่อสารและรับผิดชอบ
Credibility- สร้างความมั่นใจในความน่าเชื่อถือของกลยุทธ์การทดสอบการนำไปใช้และการดำเนินการ แจ้งให้ลูกค้าและผู้มีส่วนได้ส่วนเสียทราบเกี่ยวกับกลยุทธ์การทดสอบ
Open to Feedback- เข้าร่วมใน sprint retrospectives เพื่อเรียนรู้จากทั้งความสำเร็จและความล้มเหลว การค้นหาความคิดเห็นของลูกค้าและดำเนินการอย่างรวดเร็วและเหมาะสมเพื่อให้แน่ใจว่าได้ส่งมอบที่มีคุณภาพ
Resilient - การตอบสนองต่อการเปลี่ยนแปลง
การวางแผนการทดสอบ
การวางแผนการทดสอบควรเริ่มต้นในระหว่างการวางแผนรุ่นและการอัปเดตในระหว่างการวิ่งแต่ละครั้ง การวางแผนการทดสอบควรครอบคลุมงานต่อไปนี้ -
การกำหนดขอบเขตการทดสอบขอบเขตของการทดสอบการทดสอบและเป้าหมายการวิ่ง
การตัดสินใจเกี่ยวกับสภาพแวดล้อมการทดสอบเครื่องมือทดสอบข้อมูลการทดสอบและการกำหนดค่า
กำหนดการทดสอบคุณสมบัติและลักษณะเฉพาะ
กำหนดเวลางานทดสอบและกำหนดความถี่ของการทดสอบ
การระบุวิธีการทดสอบเทคนิคเครื่องมือและข้อมูลการทดสอบ
การตรวจสอบข้อกำหนดเบื้องต้นเช่นงานก่อนหน้าความเชี่ยวชาญและการฝึกอบรม
การระบุการอ้างอิงเช่นฟังก์ชันรหัสส่วนประกอบของระบบผู้ขายเทคโนโลยีเครื่องมือกิจกรรมงานทีมประเภทการทดสอบระดับการทดสอบและข้อ จำกัด
การกำหนดลำดับความสำคัญโดยพิจารณาจากความสำคัญของลูกค้า / ผู้ใช้และการอ้างอิง
มาถึงช่วงเวลาและความพยายามในการทดสอบ
การระบุงานในการวางแผนการวิ่งแต่ละครั้ง
Sprint Zero
Sprint Zero เกี่ยวข้องกับกิจกรรมการเตรียมความพร้อมก่อนการวิ่งครั้งแรก ผู้ทดสอบต้องทำงานร่วมกับทีมในกิจกรรมต่อไปนี้ -
- การระบุขอบเขต
- แบ่งเรื่องราวของผู้ใช้ออกเป็น sprints
- การสร้างสถาปัตยกรรมระบบ
- การวางแผนจัดหาและติดตั้งเครื่องมือ (รวมถึงเครื่องมือทดสอบ)
- การสร้างกลยุทธ์การทดสอบเบื้องต้นสำหรับทุกระดับการทดสอบ
- การกำหนดเมตริกการทดสอบ
- การระบุเกณฑ์การยอมรับหรือเรียกอีกอย่างว่าคำจำกัดความของ "เสร็จสิ้น"
- การกำหนดเกณฑ์การออก
- การสร้างบอร์ด Scrum
- การกำหนดทิศทางสำหรับการทดสอบตลอดทั้งสปรินต์
บูรณาการ
ใน Agile ผลิตภัณฑ์ที่ใช้งานได้คุณภาพควรพร้อมสำหรับการเปิดตัวเมื่อใดก็ได้ในวงจรการพัฒนา นี่หมายถึงการบูรณาการอย่างต่อเนื่องเป็นส่วนหนึ่งของการพัฒนา เครื่องทดสอบ Agile จำเป็นต้องรองรับการผสานรวมอย่างต่อเนื่องกับการทดสอบอย่างต่อเนื่อง
เพื่อให้บรรลุเป้าหมายนี้ผู้ทดสอบจำเป็นต้อง -
- เข้าใจกลยุทธ์การรวมกลุ่ม
- ระบุการอ้างอิงทั้งหมดระหว่างฟังก์ชันและคุณสมบัติ
แนวปฏิบัติในการทดสอบแบบ Agile
ผู้ทดสอบ Agile จำเป็นต้องปรับแนวทางปฏิบัติแบบ Agile สำหรับการทดสอบในโครงการ Agile
Pairing- สมาชิกในทีมสองคนทำงานร่วมกันที่แป้นพิมพ์เดียวกัน จากการทดสอบอย่างใดอย่างหนึ่งบทวิจารณ์ / วิเคราะห์การทดสอบอื่น ๆ สมาชิกในทีมสองคนสามารถ
ผู้ทดสอบหนึ่งคนและนักพัฒนาหนึ่งคน
ผู้ทดสอบหนึ่งคนและนักวิเคราะห์ธุรกิจหนึ่งคน
ผู้ทดสอบสองคน
Incremental Test Design - กรณีทดสอบสร้างขึ้นจากเรื่องราวของผู้ใช้โดยเริ่มจากการทดสอบอย่างง่ายและเปลี่ยนเป็นการทดสอบที่ซับซ้อนมากขึ้น
Mind Mapping- แผนที่ความคิดเป็นแผนภาพในการจัดระเบียบข้อมูลด้วยสายตา การทำแผนที่ความคิดสามารถใช้เป็นเครื่องมือที่มีประสิทธิภาพในการทดสอบแบบ Agile ซึ่งสามารถจัดระเบียบข้อมูลเกี่ยวกับเซสชันการทดสอบที่จำเป็นกลยุทธ์การทดสอบและข้อมูลการทดสอบ