กลับไปหน้าบทความ

อ่าน 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
เปิดใช้งานจริงเท็จ--
ประเภทตัวเลือก123-
หมวดหมู่เอ

ตัวเลือก 'เปิดใช้งาน', 'ประเภทตัวเลือก' และ 'หมวดหมู่' มีช่วงตัวเลือก 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

ดูเพิ่มเติม

หมายเหตุ

  1. ^ Berger, Bernie (2003). "การทดสอบที่มีประสิทธิภาพด้วย All-Pairs" (PDF) . TechWell Corporation . สืบค้นเมื่อ21 พฤศจิกายน 2023 .
  2. ^แบล็ก, เร็กซ์ (2007). การทดสอบซอฟต์แวร์เชิงปฏิบัติ: การเป็นผู้เชี่ยวชาญด้านการทดสอบที่มีประสิทธิภาพและประสิทธิผล . นิวยอร์ก: ไวลีย์ . หน้า 240. ISBN 978-0-470-12790-2.
  3. ^ 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 . 
  4. ^ Kuhn, D. Richard; Kacker, Raghu N.; Yu Lei (ตุลาคม 2010). การทดสอบเชิงรวมในทางปฏิบัติ. SP 800-142 (รายงาน). สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ . doi : 10.6028/NIST.SP.800-142 .
  5. ^ 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 ทั่วไป
  • การทดสอบแบบจับคู่ในโลกแห่งความเป็นจริง: การประยุกต์ใช้ในทางปฏิบัติกับสถานการณ์กรณีทดสอบ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=All-pairs_testing&oldid=1336973778 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การทดสอบแบบจับคู่ทั้งหมด

ในวิทยาการคอมพิวเตอร์การทดสอบแบบจับคู่ทั้งหมดหรือการทดสอบแบบจับคู่เป็นวิธีการทดสอบซอฟต์แวร์แบบผสมผสานซึ่งสำหรับแต่ละคู่ของพารามิเตอร์อินพุตของระบบ (โดยทั่วไปคืออัลกอริทึมซอฟต์แวร์.

เหตุผล

ในกรณีส่วนใหญ่ พารามิเตอร์อินพุตตัวเดียวหรือปฏิสัมพันธ์ระหว่างพารามิเตอร์สองตัวเป็นสาเหตุของบั๊กในโปรแกรม [ 2 ] บั๊กที่เกี่ยวข้องกับปฏิสัมพันธ์ระหว่างพารามิเตอร์สามตัวขึ้นไปนั้นพบได้น้อยลงเรื่อยๆ [ 3 ] และยังมีค่าใช้จ่ายในการค้นหาสูงขึ้นเรื่อยๆ ด้วย...

การทดสอบ N-wise

การทดสอบแบบ N-wise สามารถพิจารณาได้ว่าเป็นรูปแบบทั่วไปของการทดสอบแบบ pair-wise

ตัวอย่าง

พิจารณาพารามิเตอร์ที่แสดงในตารางด้านล่างนี้