การทดสอบแบบ Agile - เทคนิค
เทคนิคการทดสอบจากการทดสอบแบบดั้งเดิมสามารถใช้ในการทดสอบ Agile ได้เช่นกัน นอกจากนี้ยังมีการใช้เทคนิคการทดสอบและคำศัพท์เฉพาะของ Agile ในโครงการ Agile
พื้นฐานการทดสอบ
ในโครงการที่มีความคล่องตัวสินค้าที่ค้างอยู่ในระบบจะแทนที่เอกสารข้อกำหนดข้อกำหนด โดยปกติเนื้อหาของสินค้าค้างส่งเป็นเรื่องราวของผู้ใช้ ข้อกำหนดที่ไม่ใช้งานได้รับการดูแลในเรื่องราวของผู้ใช้ด้วย ดังนั้นพื้นฐานการทดสอบในโครงการ Agile คือเรื่องราวของผู้ใช้
เพื่อให้แน่ใจว่าการทดสอบคุณภาพสามารถพิจารณาสิ่งต่อไปนี้เพิ่มเติมเป็นพื้นฐานการทดสอบ -
- ประสบการณ์จากการทำซ้ำก่อนหน้านี้ของโครงการเดียวกันหรือโครงการในอดีต
- ฟังก์ชันที่มีอยู่สถาปัตยกรรมการออกแบบรหัสและลักษณะคุณภาพของระบบ
- ข้อมูลบกพร่องจากโครงการปัจจุบันและในอดีต
- ความคิดเห็นของลูกค้า
- เอกสารสำหรับผู้ใช้
คำจำกัดความของ Done
คำจำกัดความของ Done (DoD) คือเกณฑ์ที่ใช้ในโครงการ Agile เพื่อให้แน่ใจว่ากิจกรรมใน Sprint backlog เสร็จสมบูรณ์ DoD อาจแตกต่างกันไปในแต่ละทีม Scrum แต่ควรสอดคล้องกันภายในทีมเดียว
DoD คือรายการตรวจสอบของกิจกรรมที่จำเป็นซึ่งทำให้มั่นใจได้ว่าจะมีการใช้งานฟังก์ชันและคุณสมบัติในเรื่องราวของผู้ใช้พร้อมกับข้อกำหนดที่ไม่สามารถใช้งานได้ซึ่งเป็นส่วนหนึ่งของเรื่องราวของผู้ใช้ เรื่องราวของผู้ใช้จะเข้าสู่ขั้นตอนเสร็จสิ้นหลังจากที่รายการทั้งหมดในรายการตรวจสอบ DoD เสร็จสิ้น มีการแบ่งปัน DoD ระหว่างทีม
DoD ทั่วไปสำหรับเรื่องราวของผู้ใช้สามารถมี -
- เกณฑ์การยอมรับโดยละเอียดที่ทดสอบได้
- เกณฑ์เพื่อให้แน่ใจว่าเรื่องราวของผู้ใช้สอดคล้องกับเรื่องอื่น ๆ ในการทำซ้ำ
- เกณฑ์เฉพาะที่เกี่ยวข้องกับผลิตภัณฑ์
- ลักษณะการทำงานของพฤติกรรม
- ลักษณะที่ไม่ทำงาน
- Interfaces
- ทดสอบข้อกำหนดข้อมูล
- ความครอบคลุมการทดสอบ
- Refactoring
- ข้อกำหนดการตรวจสอบและการอนุมัติ
นอกจาก DoD สำหรับเรื่องราวของผู้ใช้แล้ว DoD ยังจำเป็น -
- ในทุกระดับของการทดสอบ
- สำหรับแต่ละคุณสมบัติ
- สำหรับการทำซ้ำแต่ละครั้ง
- สำหรับการเปิดตัว
ข้อมูลการทดสอบ
ผู้ทดสอบต้องมีข้อมูลการทดสอบดังต่อไปนี้ -
- เรื่องราวของผู้ใช้ที่ต้องทดสอบ
- เกณฑ์การยอมรับที่เกี่ยวข้อง
- การเชื่อมต่อระบบ
- สภาพแวดล้อมที่ระบบคาดว่าจะทำงาน
- ความพร้อมของเครื่องมือ
- ความครอบคลุมการทดสอบ
- DoD
ในโครงการ Agile เนื่องจากการทดสอบไม่ใช่กิจกรรมตามลำดับและผู้ทดสอบควรทำงานในโหมดการทำงานร่วมกันจึงเป็นความรับผิดชอบของผู้ทดสอบที่จะ -
- รับข้อมูลการทดสอบที่จำเป็นอย่างต่อเนื่อง
- ระบุช่องว่างของข้อมูลที่มีผลต่อการทดสอบ
- แก้ไขช่องว่างร่วมกับสมาชิกในทีมคนอื่น ๆ
- ตัดสินใจว่าเมื่อใดถึงระดับการทดสอบ
- ตรวจสอบให้แน่ใจว่ามีการทดสอบที่เหมาะสมในช่วงเวลาที่เกี่ยวข้อง
การออกแบบการทดสอบการทำงานและไม่ใช้งาน
ในโครงการ Agile สามารถใช้เทคนิคการทดสอบแบบเดิมได้ แต่เน้นที่การทดสอบในระยะเริ่มต้น ต้องมีกรณีทดสอบก่อนที่จะเริ่มการใช้งาน
สำหรับการออกแบบการทดสอบฟังก์ชันผู้ทดสอบและนักพัฒนาสามารถใช้เทคนิคการออกแบบการทดสอบ Black Box แบบดั้งเดิมเช่น -
- การแบ่งพาร์ติชันความเท่าเทียมกัน
- การวิเคราะห์มูลค่าขอบเขต
- ตารางการตัดสินใจ
- การเปลี่ยนสถานะ
- ต้นไม้คลาส
สำหรับการออกแบบการทดสอบที่ไม่ใช้งานได้เนื่องจากข้อกำหนดที่ไม่ใช้งานได้นั้นเป็นส่วนหนึ่งของเรื่องราวของผู้ใช้แต่ละคนเทคนิคการออกแบบการทดสอบกล่องดำสามารถใช้เพื่อออกแบบกรณีทดสอบที่เกี่ยวข้องเท่านั้น
การทดสอบเชิงสำรวจ
ในโครงการ Agile เวลามักเป็นปัจจัย จำกัด สำหรับการวิเคราะห์ทดสอบและการออกแบบการทดสอบ ในกรณีเช่นนี้สามารถใช้เทคนิคการทดสอบเชิงสำรวจร่วมกับเทคนิคการทดสอบแบบเดิมได้
Exploratory Testing (ET) หมายถึงการเรียนรู้พร้อมกันการออกแบบการทดสอบและการดำเนินการทดสอบ ในการทดสอบเชิงสำรวจผู้ทดสอบจะควบคุมการออกแบบการทดสอบอย่างแข็งขันในขณะที่ดำเนินการและใช้ข้อมูลที่ได้รับขณะทดสอบเพื่อออกแบบการทดสอบใหม่และดีกว่า
การทดสอบเชิงสำรวจมีประโยชน์เพื่อรองรับการเปลี่ยนแปลงในโครงการ Agile
การทดสอบตามความเสี่ยง
การทดสอบตามความเสี่ยงคือการทดสอบตามความเสี่ยงของความล้มเหลวและลดความเสี่ยงโดยใช้เทคนิคการออกแบบการทดสอบ
ความเสี่ยงด้านคุณภาพของผลิตภัณฑ์สามารถกำหนดเป็นปัญหาที่อาจเกิดขึ้นกับคุณภาพของผลิตภัณฑ์ ความเสี่ยงด้านคุณภาพของผลิตภัณฑ์ ได้แก่ -
- ความเสี่ยงในการทำงาน
- ความเสี่ยงด้านประสิทธิภาพที่ไม่สามารถใช้งานได้
- ความเสี่ยงในการใช้งานที่ไม่สามารถใช้งานได้
การวิเคราะห์ความเสี่ยงจะต้องทำเพื่อประเมินความน่าจะเป็น (โอกาส) และผลกระทบของแต่ละความเสี่ยง จากนั้นความเสี่ยงจะถูกจัดลำดับความสำคัญ -
- ความเสี่ยงสูงต้องการการทดสอบที่กว้างขวาง
- ความเสี่ยงต่ำต้องใช้การทดสอบเคอร์เซอร์เท่านั้น
การทดสอบได้รับการออกแบบโดยใช้เทคนิคการทดสอบที่เหมาะสมตามระดับความเสี่ยงและลักษณะความเสี่ยงของแต่ละความเสี่ยง จากนั้นจะทำการทดสอบเพื่อลดความเสี่ยง
การทดสอบพอดี
Fit Tests คือการทดสอบการยอมรับโดยอัตโนมัติ Tools Fit และ FitNesse สามารถใช้สำหรับการทดสอบการยอมรับโดยอัตโนมัติ
FIT ใช้ JUnit แต่ขยายฟังก์ชันการทดสอบ ตาราง HTML ใช้เพื่อแสดงกรณีทดสอบ Fixture คือคลาส Java ที่อยู่หลังตาราง HTML ฟิกซ์เจอร์รับเนื้อหาของตาราง HTML และรันกรณีทดสอบในโครงการที่กำลังทดสอบ