อ่าน 3 นาที
การทดสอบแบบจับคู่ทั้งหมด
ในวิทยาการคอมพิวเตอร์การทดสอบแบบจับคู่ทั้งหมดหรือการทดสอบแบบจับคู่เป็นวิธีการทดสอบซอฟต์แวร์แบบผสมผสานซึ่งสำหรับแต่ละคู่ของพารามิเตอร์อินพุตของระบบ (โดยทั่วไปคืออัลกอริทึมซอฟต์แวร์.
การทดสอบแบบจับคู่ทั้งหมด
ในวิทยาการคอมพิวเตอร์การทดสอบแบบจับคู่ทั้งหมดหรือการทดสอบแบบจับคู่เป็นวิธีการทดสอบซอฟต์แวร์แบบผสมผสานซึ่งสำหรับแต่ละคู่ของพารามิเตอร์อินพุตของระบบ (โดยทั่วไปคืออัลกอริทึมซอฟต์แวร์ ) จะทดสอบชุดค่าผสมที่เป็นไปได้ทั้งหมดของพารามิเตอร์เหล่านั้น การใช้เวกเตอร์ทดสอบ ที่เลือกอย่างระมัดระวัง สามารถทำได้เร็วกว่าการค้นหาชุดค่าผสมทั้งหมดของพารามิเตอร์ทั้งหมดโดยการ "ขนาน" การทดสอบคู่พารามิเตอร์[ 1 ]
เหตุผล
ในกรณีส่วนใหญ่ พารามิเตอร์อินพุตตัวเดียวหรือปฏิสัมพันธ์ระหว่างพารามิเตอร์สองตัวเป็นสาเหตุของบั๊กในโปรแกรม[ 2 ] บั๊กที่เกี่ยวข้องกับปฏิสัมพันธ์ระหว่างพารามิเตอร์สามตัวขึ้นไปนั้นพบได้น้อยลงเรื่อยๆ[ 3 ]และยังมีค่าใช้จ่ายในการค้นหาสูงขึ้นเรื่อยๆ ด้วย การทดสอบแบบนี้จึงมีข้อจำกัดอยู่ที่การทดสอบอินพุตที่เป็นไปได้ทั้งหมด[ 4 ]ดังนั้น เทคนิคเชิงผสมผสานสำหรับการเลือกกรณีทดสอบ เช่น การทดสอบแบบจับคู่ทั้งหมด จึงเป็นการประนีประนอมระหว่างต้นทุนและผลประโยชน์ที่มีประโยชน์ ซึ่งช่วยลดจำนวนกรณีทดสอบลงได้อย่างมากโดยไม่กระทบต่อความครอบคลุมของฟังก์ชันอย่างมาก[ 5 ]
กล่าวอย่างเคร่งครัดยิ่งขึ้น หากเราสมมติว่ากรณีทดสอบมีพารามิเตอร์ที่กำหนดไว้ในชุดช่วงของพารามิเตอร์จะกำหนดโดยสมมติว่าเราจะสังเกตว่าจำนวนกรณีทดสอบที่เป็นไปได้ทั้งหมดคือการจินตนาการว่าโค้ดจัดการกับเงื่อนไขที่รับพารามิเตอร์เพียงสองตัวในแต่ละครั้ง อาจช่วยลดจำนวนกรณีทดสอบที่จำเป็นลงได้
เพื่อแสดงให้เห็น สมมติว่ามีพารามิเตอร์ X, Y, Z เราสามารถใช้述语 (predicate)ในรูปแบบลำดับที่ 3 ซึ่งรับทั้ง 3 ตัวเป็นอินพุต หรืออาจใช้述语 (predicate) ลำดับที่ 2 ที่แตกต่างกัน 3 ตัวในรูปแบบ ซึ่งสามารถเขียนในรูปแบบที่เทียบเท่าได้ โดยที่เครื่องหมายจุลภาคหมายถึงการรวมกันใดๆ หากเขียนโค้ดเป็นเงื่อนไขที่รับ "คู่" ของพารามิเตอร์ เซตของตัวเลือกช่วงต่างๆอาจเป็นมัลติเซต (multiset ) เนื่องจากอาจมีพารามิเตอร์หลายตัวที่มีจำนวนตัวเลือกเท่ากัน
เป็นหนึ่งในค่าสูงสุดของมัลติเซ็ต จำนวนกรณีทดสอบแบบจับคู่ในฟังก์ชันทดสอบนี้จะเป็นดังนี้:-
ดังนั้น หากและแล้วจำนวนการทดสอบโดยทั่วไปจะเป็น O( nm ) โดยที่nและmคือจำนวนความเป็นไปได้สำหรับพารามิเตอร์ทั้งสองที่มีตัวเลือกมากที่สุด และอาจน้อยกว่าการทดสอบแบบครบถ้วนมาก
การทดสอบ N-wise
การทดสอบแบบ N-wise สามารถพิจารณาได้ว่าเป็นรูปแบบทั่วไปของการทดสอบแบบ pair-wise
แนวคิดคือการนำการเรียงลำดับ มา ใช้กับเซต เพื่อให้เซตนั้นเรียงลำดับเช่นกัน ให้เซตที่เรียงลำดับแล้วเป็น ทูเปิลดังนี้ :-
ตอนนี้เราสามารถใช้ชุดข้อมูลนี้และเรียกมันว่าการทดสอบแบบจับคู่ (pairwise testing) และถ้าจะขยายความไปอีก เราสามารถใช้ชุดข้อมูลนี้และเรียกมันว่าการทดสอบแบบสามจับคู่ (3-wise testing) และในที่สุด เราก็สามารถเรียกมันว่า การทดสอบแบบสามจับคู่ (T-wise testing) ได้
การทดสอบแบบ N-wise ก็คือการทดสอบทุกชุดค่าผสมที่เป็นไปได้ทั้งหมดจากสูตรข้างต้น
ตัวอย่าง
พิจารณาพารามิเตอร์ที่แสดงในตารางด้านล่างนี้
| ชื่อพารามิเตอร์ | ค่า 1 | ค่า 2 | ค่า 3 | ค่า 4 |
|---|---|---|---|---|
| เปิดใช้งาน | จริง | เท็จ | - | - |
| ประเภทตัวเลือก | 1 | 2 | 3 | - |
| หมวดหมู่ | เอ | ข | ค | ง |
ตัวเลือก 'เปิดใช้งาน', 'ประเภทตัวเลือก' และ 'หมวดหมู่' มีช่วงตัวเลือก 2, 3 และ 4 ตามลำดับ การทดสอบอย่างละเอียดจะต้องใช้การทดสอบ 24 ครั้ง (2 x 3 x 4) การคูณค่าที่มากที่สุดสองค่า (3 และ 4) แสดงให้เห็นว่าการทดสอบแบบจับคู่จะต้องใช้การทดสอบ 12 ครั้ง กรณีทดสอบแบบจับคู่ที่สร้างโดยเครื่องมือ "pict" ของ Microsoft แสดงอยู่ด้านล่าง
| เปิดใช้งาน | ประเภทตัวเลือก | หมวดหมู่ |
|---|---|---|
| จริง | 3 | เอ |
| จริง | 1 | ง |
| เท็จ | 1 | ค |
| เท็จ | 2 | ง |
| จริง | 2 | ค |
| เท็จ | 2 | เอ |
| เท็จ | 1 | เอ |
| เท็จ | 3 | ข |
| จริง | 2 | ข |
| จริง | 3 | ง |
| เท็จ | 3 | ค |
| จริง | 1 | ข |
ดูเพิ่มเติม
หมายเหตุ
- ^ Berger, Bernie (2003). "การทดสอบที่มีประสิทธิภาพด้วย All-Pairs" (PDF) . TechWell Corporation . สืบค้นเมื่อ21 พฤศจิกายน 2023 .
- ^แบล็ก, เร็กซ์ (2007). การทดสอบซอฟต์แวร์เชิงปฏิบัติ: การเป็นผู้เชี่ยวชาญด้านการทดสอบที่มีประสิทธิภาพและประสิทธิผล . นิวยอร์ก: ไวลีย์ . หน้า 240. ISBN 978-0-470-12790-2.
- ^ Kuhn, D. Richard; Wallace, Dolores R.; Gallo, Albert M. Jr. (มิถุนายน 2547). "ปฏิสัมพันธ์ของข้อผิดพลาดซอฟต์แวร์และผลกระทบต่อการทดสอบซอฟต์แวร์" (PDF) . IEEE Transactions on Software Engineering . 30 (6): 418– 421. doi : 10.1109/TSE.2004.24 . S2CID 206778290 .
- ^ Kuhn, D. Richard; Kacker, Raghu N.; Yu Lei (ตุลาคม 2010). การทดสอบเชิงรวมในทางปฏิบัติ. SP 800-142 (รายงาน). สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ . doi : 10.6028/NIST.SP.800-142 .
- ^ IEEE 12. เอกสารประกอบการประชุมนานาชาติว่าด้วยการทดสอบและการตรวจสอบซอฟต์แวร์ครั้ง ที่5 (ICST) ศูนย์ความเชี่ยวชาญด้านซอฟต์แวร์ Hagenberg "การออกแบบการทดสอบ: บทเรียนที่ได้รับและผลกระทบในทางปฏิบัติ " 18 กรกฎาคม 2551 หน้า 1–150 doi : 10.1109 /IEEESTD.2008.4578383 ISBN 978-0-7381-5746-7.
{{cite book}}:|journal=ละเลย ( ช่วยเหลือ )
ลิงก์ภายนอก
- การทดสอบเชิงการจัดเรียงแบบคู่และแบบ t-way ทั่วไป
- การทดสอบแบบจับคู่ในโลกแห่งความเป็นจริง: การประยุกต์ใช้ในทางปฏิบัติกับสถานการณ์กรณีทดสอบ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การทดสอบแบบจับคู่ทั้งหมด
ในวิทยาการคอมพิวเตอร์การทดสอบแบบจับคู่ทั้งหมดหรือการทดสอบแบบจับคู่เป็นวิธีการทดสอบซอฟต์แวร์แบบผสมผสานซึ่งสำหรับแต่ละคู่ของพารามิเตอร์อินพุตของระบบ (โดยทั่วไปคืออัลกอริทึมซอฟต์แวร์.
เหตุผล
ในกรณีส่วนใหญ่ พารามิเตอร์อินพุตตัวเดียวหรือปฏิสัมพันธ์ระหว่างพารามิเตอร์สองตัวเป็นสาเหตุของบั๊กในโปรแกรม [ 2 ] บั๊กที่เกี่ยวข้องกับปฏิสัมพันธ์ระหว่างพารามิเตอร์สามตัวขึ้นไปนั้นพบได้น้อยลงเรื่อยๆ [ 3 ] และยังมีค่าใช้จ่ายในการค้นหาสูงขึ้นเรื่อยๆ ด้วย...
การทดสอบ N-wise
การทดสอบแบบ N-wise สามารถพิจารณาได้ว่าเป็นรูปแบบทั่วไปของการทดสอบแบบ pair-wise
ตัวอย่าง
พิจารณาพารามิเตอร์ที่แสดงในตารางด้านล่างนี้