การทดสอบอาร์เรย์มุมฉากคืออะไร? (ตัวอย่าง)

⚡ สรุปอย่างชาญฉลาด

การทดสอบด้วยอาร์เรย์เชิงตั้งฉาก (Orthogonal Array Testing) เป็นเทคนิคแบบกล่องดำที่ใช้อาร์เรย์ทางสถิติในการสร้างชุดทดสอบขนาดกะทัดรัด ครอบคลุมค่าอินพุตทุกคู่ด้วยจำนวนกรณีทดสอบที่น้อยกว่าการทดสอบแบบผสมผสานอย่างละเอียดถี่ถ้วน

  • 🎯 คำมั่นสัญญาหลัก: ระดับทุกคู่ระหว่างปัจจัยสองตัวใดๆ จะปรากฏอย่างน้อยหนึ่งครั้งในผลลัพธ์ที่สร้างขึ้น
  • 🔢 สัญกรณ์: อาร์เรย์ถูกเขียนด้วยตัวอักษร Lวิ่ง(ระดับ)ปัจจัยที่มี) ดังนั้น L9(3⁴) หมายถึงการรันเก้าครั้งสำหรับปัจจัยสามระดับสี่ตัว
  • 📉 ระดับการออม: ปัจจัยสี่ประการในสามระดับแต่ละระดับจะลดจำนวนชุดค่าผสมที่ครอบคลุมทั้งหมดจาก 81 ชุดเหลือเพียงเก้าชุดค่าผสมเชิงตั้งฉาก
  • 🧮 กฎการรักษาสมดุล: ต้องเติมข้อมูลลงในคอลัมน์โดยไม่ให้ปัจจัยสองตัวใดเคลื่อนที่ไปพร้อมกัน มิเช่นนั้นตารางจะไม่เป็นตารางตั้งฉาก
  • 🛠️ เครื่องมือ: Generatorระบบต่างๆ เช่น PICT และ ACTS สร้างอาร์เรย์โดยอัตโนมัติ ซึ่งช่วยขจัดแหล่งที่มาหลักของข้อผิดพลาดที่เกิดจากมนุษย์
  • ⚠️ ขีดจำกัดที่ทราบ: การครอบคลุมแบบจับคู่ไม่สามารถตรวจจับข้อบกพร่องที่ต้องใช้ค่าเฉพาะสามค่าขึ้นไปพร้อมกันได้

การทดสอบอาร์เรย์เชิงตั้งฉากช่วยลดชุดค่าผสมอินพุตให้เหลือชุดกรณีทดสอบขนาดเล็กที่สมดุล

การทดสอบอาร์เรย์มุมฉาก

การทดสอบอาร์เรย์มุมฉาก (OAT) การทดสอบด้วยอาร์เรย์เชิงตั้งฉาก (Orthogonal Array Testing) เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ใช้อาร์เรย์เชิงตั้งฉากในการสร้างกรณีทดสอบ เป็นวิธีการทดสอบทางสถิติ และมีประโยชน์อย่างยิ่งเมื่อระบบที่กำลังทดสอบรับข้อมูลเข้าจำนวนมาก การทดสอบด้วยอาร์เรย์เชิงตั้งฉากช่วยเพิ่มความครอบคลุมของการทดสอบให้สูงสุดโดยการจับคู่และรวมข้อมูลเข้า ทำให้ระบบได้รับการทดสอบด้วยกรณีทดสอบที่ค่อนข้างน้อยและใช้เวลาในการประมวลผลน้อยลง

ตัวอย่างเช่น เมื่อต้องตรวจสอบตั๋วรถไฟ จะต้องตรวจสอบปัจจัยต่างๆ เช่น จำนวนผู้โดยสาร หมายเลขตั๋ว หมายเลขที่นั่ง และหมายเลขขบวนรถไฟ การตรวจสอบแต่ละปัจจัยทีละอย่างนั้นยุ่งยาก การที่วิศวกร QA รวมข้อมูลหลายๆ อย่างเข้าด้วยกันและทดสอบในครั้งเดียวจะมีความมีประสิทธิภาพมากกว่า ในกรณีเช่นนี้ เราสามารถใช้วิธีการทดสอบแบบอาร์เรย์เชิงตั้งฉาก (Orthogonal Array) ได้

การจับคู่หรือการรวมข้อมูลเข้าเพื่อประหยัดเวลาในลักษณะนี้เรียกว่า การทดสอบแบบจับคู่ (Pairwise testing) และเทคนิค OATS เป็นหนึ่งในวิธีการสร้างชุดทดสอบแบบจับคู่ เนื่องจากเทคนิคนี้ทำงานโดยอาศัยค่าข้อมูลเข้าและผลลัพธ์ที่คาดหวังเท่านั้น โดยไม่ต้องพิจารณาโค้ดภายใน จึงจัดอยู่ในกลุ่มเทคนิคการทดสอบแบบจับคู่ การทดสอบกล่องดำ ครอบครัว.

ทำไมต้อง OAT (การทดสอบอาร์เรย์มุมฉาก)

ในสถานการณ์ปัจจุบัน การส่งมอบผลิตภัณฑ์ซอฟต์แวร์คุณภาพให้กับลูกค้ากลายเป็นเรื่องท้าทายเนื่องจากความซับซ้อนของโค้ด

ในวิธีการแบบดั้งเดิม ชุดทดสอบจะประกอบด้วยกรณีทดสอบที่ได้มาจากทุกการผสมผสานของค่าอินพุตและเงื่อนไขเบื้องต้น ส่งผลให้ต้องครอบคลุมกรณีทดสอบจำนวน n กรณี

แต่ในสถานการณ์จริง ผู้ทดสอบจะไม่มีเวลามากพอที่จะทำการทดสอบทุกกรณีเพื่อค้นหาข้อบกพร่อง เนื่องจากยังมีกิจกรรมอื่นๆ เช่น การจัดทำเอกสาร ข้อเสนอแนะ และคำติชมจากลูกค้า ที่ต้องดำเนินการควบคู่ไปกับขั้นตอนการทดสอบด้วย

ดังนั้นผู้จัดการการทดสอบจึงต้องการปรับปรุงจำนวนและคุณภาพของกรณีทดสอบให้เหมาะสมที่สุดเพื่อให้มั่นใจสูงสุด ความคุ้มครองการทดสอบ ด้วยความพยายามน้อยที่สุด ความพยายามนี้เรียกว่า การเพิ่มประสิทธิภาพกรณีทดสอบ (Test Case Optimization)

  • วิธีการที่เป็นระบบและเชิงสถิติในการทดสอบปฏิสัมพันธ์ระหว่างคู่ต่างๆ
  • จุดเชื่อมต่อและจุดบูรณาการเป็นแหล่งที่มาหลักของข้อบกพร่อง
  • ดำเนินการทดสอบตามชุดกรณีทดสอบที่กำหนดไว้อย่างชัดเจนและกระชับ ซึ่งมีแนวโน้มที่จะค้นพบข้อบกพร่องส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด)
  • วิธีการเชิงตั้งฉากรับประกันการครอบคลุมแบบจับคู่ของตัวแปรทั้งหมด

ดังนั้น เทคนิคนี้จึงเป็นส่วนเสริมของวิธีการลดปริมาณข้อมูลป้อนเข้าอื่นๆ ที่ทีมงานใช้แล้ว การแบ่งส่วนสมมูลและการวิเคราะห์ค่าขอบเขต อาร์เรย์เชิงตั้งฉากจะตัดสินใจว่าค่าใดบ้างที่ควรทดสอบสำหรับฟิลด์เดียว ในขณะที่อาร์เรย์เชิงตั้งฉากจะตัดสินใจว่าค่าใดบ้างที่ควรทดสอบร่วมกัน

วิธีการแสดงการทดสอบอาร์เรย์เชิงตั้งฉาก

อาร์เรย์เชิงตั้งฉากนั้นอธิบายได้ด้วยสูตรสั้นๆ มากกว่าที่จะอธิบายด้วยรายละเอียดของสูตร แผนภาพด้านล่างแสดงให้เห็นว่าปริมาณทั้งสามในสูตรนั้นมีความสัมพันธ์กับรูปร่างของอาร์เรย์อย่างไร

สัญกรณ์อาร์เรย์เชิงตั้งฉากที่แสดงการวิ่ง ปัจจัย และระดับในสูตร L(Runs)

  • วิ่ง (N) – จำนวนแถวในอาร์เรย์ ซึ่งแปลงเป็นจำนวนกรณีทดสอบที่จะถูกสร้างขึ้น
  • ปัจจัย (K) – จำนวนคอลัมน์ในอาร์เรย์ ซึ่งหมายถึงจำนวนตัวแปรสูงสุดที่สามารถจัดการได้
  • ระดับ (V) – จำนวนค่าสูงสุดที่สามารถรับได้สำหรับปัจจัยใดๆ ก็ตาม

โดยทั่วไป ปัจจัยเดียวมักมีอินพุตที่ต้องทดสอบ 2 ถึง 3 ตัว จำนวนอินพุตสูงสุดนั้นจะเป็นตัวกำหนดระดับ

อ่านชื่ออาร์เรย์จากซ้ายไปขวา ใน L9(34) เลข 9 คือจำนวนครั้งที่เกิดการเรียงลำดับ เลข 3 คือจำนวนระดับที่แต่ละปัจจัยสามารถมีได้ และเลขยกกำลัง 4 คือจำนวนปัจจัย บทความเดียวกันนี้ใช้ L4(23)ซึ่งเป็นการทดลองสี่ครั้งสำหรับปัจจัยสามตัว โดยแต่ละตัวมีสองระดับ

อาร์เรย์จะต้องมีคุณสมบัติสองประการที่ทำให้เป็นอาร์เรย์ตั้งฉาก และทั้งสองคุณสมบัตินี้จะต้องเป็นจริงก่อนจึงจะเชื่อถือจำนวนการเรียงลำดับได้:

  • สมดุล: แต่ละระดับของปัจจัยจะปรากฏจำนวนครั้งเท่ากันในคอลัมน์ของตนเอง
  • ความสมบูรณ์แบบคู่: สำหรับคอลัมน์สองคอลัมน์ใดๆ การรวมกันของระดับหนึ่งระดับจากแต่ละคอลัมน์จะปรากฏขึ้นเป็นจำนวนครั้งเท่ากัน

หากคุณสมบัติข้อที่สองไม่เป็นไปตามที่กำหนด ตารางนั้นจะเป็นเพียงชุดทดสอบที่สั้นลง ไม่ใช่อาร์เรย์เชิงตั้งฉาก และการรับประกันแบบคู่ที่ใช้ในการพิสูจน์การลดขนาดนั้นจะไม่สามารถใช้ได้อีกต่อไป

วิธีทำการทดสอบอาร์เรย์มุมฉาก: ตัวอย่าง

  1. ระบุตัวแปรอิสระสำหรับสถานการณ์จำลอง
  2. ค้นหาอาร์เรย์ที่เล็กที่สุดตามจำนวนการรัน
  3. แมปปัจจัยกับอาร์เรย์
  4. เลือกค่าสำหรับระดับ "ที่เหลือ"
  5. ถอดเสียงจังหวะลงใน กรณีทดสอบรวมถึงการเพิ่มชุดค่าผสมที่น่าสงสัยเป็นพิเศษซึ่งไม่ได้ถูกสร้างขึ้นมาด้วย

ตัวอย่างสองข้อด้านล่างนี้จะนำขั้นตอนทั้งห้าไปใช้ โดยเริ่มจากปัญหาขนาดเล็กที่มีสองระดับ แล้วจึงนำไปใช้กับปัญหาขนาดใหญ่ที่มีสามระดับ

1 ตัวอย่าง

หน้าเว็บประกอบด้วยสามส่วนหลัก (บน กลาง และล่าง) ซึ่งสามารถแสดงหรือซ่อนจากผู้ใช้ได้ตามต้องการ

  • จำนวนปัจจัย = 3 (บน กลาง ล่าง)
  • จำนวนระดับ (การมองเห็น) = 2 (ซ่อนหรือแสดง)
  • ประเภทอาร์เรย์ = L4(23)

(4 คือจำนวนครั้งที่ได้หลังจากสร้างอาร์เรย์ OAT)

ถ้าเราใช้วิธีแบบดั้งเดิมโดยการเปลี่ยนทีละส่วน เราจะต้องใช้กรณีทดสอบประมาณ 2 x 3 = 6 กรณีทดสอบ

กรณีทดสอบ สถานการณ์ ค่าที่จะทดสอบ
ทดสอบ #1 HIDDEN Top
ทดสอบ #2 แสดง Top
ทดสอบ #3 HIDDEN ด้านล่าง
ทดสอบ #4 แสดง ด้านล่าง
ทดสอบ #5 HIDDEN กลาง
ทดสอบ #6 แสดง กลาง

การทดลองทั้งหกครั้งนั้นจะเปลี่ยนแปลงทีละส่วน และจะไม่วางสองส่วนในสถานะที่เลือกไว้ด้วยกัน การทดสอบทุกชุดค่าผสมจะใช้เวลา 23 = 8 รอบ

หากเราไปทำ OAT Testing เราจำเป็นต้องมี Test case 4 กรณีดังนี้

กรณีทดสอบ TOP กลาง ด้านล่าง
ทดสอบ #1 ซ่อนเร้น ซ่อนเร้น ซ่อนเร้น
ทดสอบ #2 ซ่อนเร้น มองเห็นได้ มองเห็นได้
ทดสอบ #3 มองเห็นได้ ซ่อนเร้น มองเห็นได้
ทดสอบ #4 มองเห็นได้ มองเห็นได้ ซ่อนเร้น

ตรวจสอบคอลัมน์ใดก็ได้สองคอลัมน์ในตารางนั้น แล้วคู่ซ่อน/แสดงทั้งสี่คู่จะปรากฏขึ้นเพียงครั้งเดียว ซึ่งเป็นคุณสมบัติความเป็นตั้งฉากในรูปแบบที่เล็กที่สุด

2 ตัวอย่าง

ต้องมีการทดสอบการทำงานของไมโครโปรเซสเซอร์:

  • อุณหภูมิ: 100C, 150C และ 200C.
  • แรงดัน: 2 psi, 5 psi และ 8 psi
  • Doping จำนวนเงิน: 4%, 6% และ 8%
  • อัตราการตกตะกอน: 0.1 มก./วินาที, 0.2 มก./วินาที และ 0.3 มก./วินาที

หากใช้วิธีการแบบดั้งเดิม เราต้องใช้ 34 = ต้องทดสอบถึง 81 กรณีเพื่อให้ครอบคลุมข้อมูลป้อนเข้าทั้งหมด ลองใช้เมธอด OATS แทนดีกว่า:

จำนวนปัจจัย = 4 (อุณหภูมิ ความดัน โด)ping ปริมาณและอัตราการสะสม)

ระดับ = 3 ระดับต่อปัจจัย (อุณหภูมิมี 3 ระดับ คือ 100 องศาเซลเซียส 150 องศาเซลเซียส และ 200 องศาเซลเซียส และปัจจัยอื่นๆ ก็มี 3 ระดับเช่นกัน)

สร้างอาร์เรย์ดังนี้:

1. คอลัมน์ที่มีจำนวนปัจจัย

กรณีทดสอบ # อุณหภูมิ วัดความแรงบีบคั้น Doping จำนวน อัตราการสะสม

2. ป้อนจำนวนแถวให้เท่ากับจำนวนระดับต่อปัจจัย เช่น อุณหภูมิมี 3 ระดับ ดังนั้น ให้ใส่ 3 แถวสำหรับแต่ละระดับของอุณหภูมิ

กรณีทดสอบ # อุณหภูมิ วัดความแรงบีบคั้น Doping จำนวน อัตราการสะสม
1 100C
2 100C
3 100C
4 150C
5 150C
6 150C
7 200C
8 200C
9 200C

3. ทีนี้ลองกระจายแรงกดออกไปดูping ปริมาณและอัตราการสะสมในคอลัมน์

ตัวอย่างเช่น: ป้อนค่า 2 psi สำหรับอุณหภูมิ 100C, 150C และ 200C เช่นเดียวกัน ให้ป้อนค่า doping คิดเป็นร้อยละ 4 สำหรับอุณหภูมิ 100 องศาเซลเซียส 150 องศาเซลเซียส 200 องศาเซลเซียส และอื่นๆ

กรณีทดสอบ # อุณหภูมิ วัดความแรงบีบคั้น Doping จำนวน อัตราการสะสม
1 100C 2 ปอนด์ต่อตารางนิ้ว 4% 0.1 มก./วินาที
2 100C 5 ปอนด์ต่อตารางนิ้ว 6% 0.2 มก./วินาที
3 100C 8 ปอนด์ต่อตารางนิ้ว 8% 0.3 มก./วินาที
4 150C 2 ปอนด์ต่อตารางนิ้ว 4% 0.1 มก./วินาที
5 150C 5 ปอนด์ต่อตารางนิ้ว 6% 0.2 มก./วินาที
6 150C 8 ปอนด์ต่อตารางนิ้ว 8% 0.3 มก./วินาที
7 200C 2 ปอนด์ต่อตารางนิ้ว 4% 0.1 มก./วินาที
8 200C 5 ปอนด์ต่อตารางนิ้ว 6% 0.2 มก./วินาที
9 200C 8 ปอนด์ต่อตารางนิ้ว 8% 0.3 มก./วินาที

ดังนั้นใน OA เราจำเป็นต้องมีกรณีทดสอบ 9 กรณีเพื่อให้ครอบคลุม

หมายเหตุความถูกต้อง: เติมคอลัมน์ที่เหลืออีกสามคอลัมน์ลงมาตรงๆ เหมือนขั้นตอนที่ 3 โดยใช้แรงดันเท่าเดิมping และการสะสมตัวสามเท่าภายในบล็อกอุณหภูมิทุกบล็อก ความดันและทำping ดังนั้นปริมาณจึงเคลื่อนที่ไปด้วยกัน และคู่เช่น 2 psi กับ 6% จะไม่ปรากฏ ดังนั้นเก้าแถวข้างต้นจึงเป็นชุดทดสอบที่ลดลงแทนที่จะเป็นอาร์เรย์เชิงตั้งฉากที่แท้จริง L9(3) ที่สมดุล4) อาร์เรย์ด้านล่างจะคงค่าการทำงานทั้งเก้าค่าไว้เช่นเดิม ในขณะที่ครอบคลุมคู่ระดับทั้งเก้าคู่ระหว่างปัจจัยสองตัวใดๆ

กรณีทดสอบ # อุณหภูมิ วัดความแรงบีบคั้น Doping จำนวน อัตราการสะสม
1 100C 2 ปอนด์ต่อตารางนิ้ว 4% 0.1 มก./วินาที
2 100C 5 ปอนด์ต่อตารางนิ้ว 6% 0.2 มก./วินาที
3 100C 8 ปอนด์ต่อตารางนิ้ว 8% 0.3 มก./วินาที
4 150C 2 ปอนด์ต่อตารางนิ้ว 6% 0.3 มก./วินาที
5 150C 5 ปอนด์ต่อตารางนิ้ว 8% 0.1 มก./วินาที
6 150C 8 ปอนด์ต่อตารางนิ้ว 4% 0.2 มก./วินาที
7 200C 2 ปอนด์ต่อตารางนิ้ว 8% 0.2 มก./วินาที
8 200C 5 ปอนด์ต่อตารางนิ้ว 4% 0.3 มก./วินาที
9 200C 8 ปอนด์ต่อตารางนิ้ว 6% 0.1 มก./วินาที

การทดสอบอาร์เรย์เชิงตั้งฉากเทียบกับการทดสอบแบบจับคู่ (ทุกคู่)

สองคำนี้มักใช้สลับกันในหลายทีม แต่จริงๆ แล้วไม่เหมือนกัน ทั้งสองคำมีจุดมุ่งหมายเพื่อครอบคลุมคู่ของค่า แต่แตกต่างกันที่ความเข้มงวดของการจำกัดตารางที่ได้

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

ในทางปฏิบัติ อาร์เรย์เชิงตั้งฉากแบบสมดุลเป็นแบบจำลองการสอนที่ชัดเจนกว่าและเป็นตัวเลือกที่ปลอดภัยกว่าเมื่อปัจจัยต่างๆ มีจำนวนระดับเท่ากัน ในขณะที่อาร์เรย์แบบครอบคลุมเป็นสิ่งที่เครื่องมือส่วนใหญ่สร้างขึ้นสำหรับโครงการจริงที่มีอินพุตที่ซับซ้อนและไม่เท่ากัน ทั้งสองแบบต่างก็เสริมซึ่งกันและกัน การทดสอบตารางการตัดสินใจ และ การทดสอบการเปลี่ยนสถานะซึ่งมุ่งเน้นที่กฎเกณฑ์และลำดับทางธุรกิจมากกว่าการรวมกันของค่าต่างๆ

เครื่องมือทดสอบอาร์เรย์เชิงตั้งฉาก

การสร้างอาร์เรย์ด้วยมือนั้นเหมาะสมเฉพาะกับตัวอย่างขนาดเล็กที่กล่าวมาข้างต้นเท่านั้น หากมีปัจจัยมากกว่าสี่หรือห้าปัจจัย ทีมงานจะใช้โปรแกรมสร้างอาร์เรย์ และโปรแกรมจะตัดสินใจจำนวนครั้งในการทดลองให้เอง

  • ภาพ: เครื่องมือสร้างบรรทัดคำสั่งแบบโอเพนซอร์สจาก Microsoftพารามิเตอร์และค่าของพารามิเตอร์จะถูกเขียนลงในไฟล์โมเดลข้อความธรรมดา และเครื่องมือจะพิมพ์ชุดค่าผสมออกมา รองรับข้อจำกัดและโมเดลย่อย ซึ่งมีความสำคัญเมื่อคู่ค่าบางคู่ไม่ถูกต้อง ดูรายละเอียดเพิ่มเติมได้ที่ คลังข้อมูล PICT.
  • การกระทำ: เครื่องมือวิจัยจาก NIST ที่สร้างอาร์เรย์ครอบคลุมสำหรับการครอบคลุมแบบสองทางจนถึงหกทาง และยังเผยแพร่ไลบรารีของอาร์เรย์ที่คำนวณไว้ล่วงหน้า สามารถดาวน์โหลดได้จาก โครงการทดสอบเชิงผสมผสานของ NIST.
  • แพลตฟอร์มการจัดเรียงสินค้าเชิงพาณิชย์: เครื่องมือที่โฮสต์เพิ่มข้อกำหนด tracความสามารถในการใช้งาน ผลลัพธ์ที่คาดหวัง และการส่งออกไปยังระบบจัดการการทดสอบ ซึ่งเหมาะสำหรับทีมขนาดใหญ่ที่ต้องการบันทึกการตรวจสอบ
  • ไลบรารีอาร์เรย์ที่เผยแพร่แล้ว: ตารางข้อมูลมาตรฐาน เช่น L4, L8, L9, L16 และ L18 สามารถคัดลอกได้โดยตรงเมื่อจำนวนปัจจัยและระดับตรงกัน

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

ข้อดีของการทดสอบอาร์เรย์เชิงตั้งฉาก

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

สารประกอบการออมระหว่าง การทดสอบการถดถอยเนื่องจากชุดทดสอบแบบสมดุลขนาดเล็กนั้นมีราคาถูกพอที่จะเรียกใช้ซ้ำได้ทุกรอบ ในขณะที่ชุดทดสอบแบบผสมผสานที่ครอบคลุมมักจะเรียกใช้เพียงครั้งเดียวแล้วก็ถูกยกเลิกไปอย่างเงียบๆ

ข้อเสียของการทดสอบอาร์เรย์เชิงตั้งฉาก

  • เมื่อปริมาณข้อมูลป้อนเข้าเพิ่มขึ้น ความซับซ้อนของการออกแบบกรณีทดสอบก็จะเพิ่มขึ้นตามไปด้วย ส่งผลให้ต้องใช้ความพยายามและเวลาในการทำงานด้วยตนเองมากขึ้น และผู้ทดสอบจะต้องหาวิธีการทำงานที่ดียิ่งขึ้น การทดสอบระบบอัตโนมัติ.
  • การครอบคลุมแบบจับคู่ไม่ได้หมายความว่าครอบคลุมทั้งหมด ข้อบกพร่องที่ปรากฏขึ้นเฉพาะเมื่อค่าเฉพาะสามค่าเกิดขึ้นพร้อมกัน อาจผ่านการตรวจสอบไปโดยไม่ถูกแตะต้อง
  • ปัจจัยที่มีจำนวนระดับต่างกันจะไม่สามารถแมปเข้ากับอาร์เรย์มาตรฐานได้อย่างลงตัว ดังนั้นจึงจำเป็นต้องใช้อาร์เรย์แบบผสมระดับหรือตัวสร้างอาร์เรย์แบบครอบคลุม
  • การเลือกค่าระดับต่างๆ นั้นเป็นการตัดสินใจโดยใช้ดุลยพินิจ หากค่าที่สำคัญถูกละเว้นไปจากแบบจำลองอินพุต อาร์เรย์ใดๆ ก็ไม่สามารถกู้คืนค่าดังกล่าวได้
  • ข้อจำกัดระหว่างค่าต่างๆ เช่น วิธีการชำระเงินที่ใช้ได้เฉพาะในประเทศใดประเทศหนึ่งนั้น ยากที่จะแสดงออกมา และโดยปกติจะทำให้เกิดแถวที่ไม่ถูกต้องซึ่งต้องลบออกด้วยตนเอง

ข้อจำกัดเหล่านี้ไม่ได้ทำให้เทคนิคนี้ใช้ไม่ได้ เพียงแต่กำหนดขอบเขตของมันเท่านั้น อาร์เรย์เชิงตั้งฉากช่วยลดปัญหาการรวมกัน ในขณะที่การวิเคราะห์ความเสี่ยงและ การทดสอบโดเมน ตัดสินใจก่อนว่าปัจจัยใดบ้างที่สมควรได้รับการพิจารณาในแบบจำลองตั้งแต่แรก

ข้อผิดพลาดหรือข้อผิดพลาดขณะดำเนินการ OAT

  • การมุ่งเน้นการทดสอบไปที่ส่วนที่ไม่ถูกต้องของแอปพลิเคชัน
  • เลือกพารามิเตอร์ที่จะนำมาผสานรวมกันไม่ถูกต้อง
  • ใช้การทดสอบอาร์เรย์เชิงตั้งฉากในกรณีที่ชุดข้อมูลอินพุตมีขนาดเล็กพอที่จะทดสอบได้อย่างครบถ้วน
  • การนำการทดสอบอาร์เรย์เชิงตั้งฉากมาใช้ด้วยตนเองกับแบบจำลองที่มีขนาดใหญ่จนต้องใช้ตัวสร้าง
  • การพึ่งพาการทดสอบอาร์เรย์เชิงตั้งฉากเพียงอย่างเดียวสำหรับแอปพลิเคชันที่มีความเสี่ยงสูง ซึ่งต้องการการครอบคลุมที่ลึกกว่านั้น

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

คำถามที่พบบ่อย

นี่เป็นเทคนิคแบบกล่องดำ อาร์เรย์ถูกสร้างขึ้นจากพารามิเตอร์อินพุตและค่าที่อนุญาตเท่านั้น โดยไม่มีการอ้างอิงถึงซอร์สโค้ด สาขา หรือสถานะภายใน ดังนั้นจึงสามารถออกแบบได้ก่อนที่การใช้งานจะเสร็จสมบูรณ์

ผู้ทดสอบสร้างแบบจำลองอินพุต โดยปกติแล้วจะมีนักวิเคราะห์ธุรกิจตรวจสอบว่าค่าใดบ้างที่ถูกต้อง นักพัฒนาจะเข้ามามีส่วนร่วมในส่วนที่เป็นพารามิเตอร์ภายใน เช่น การตั้งค่าแคช คุณภาพของแบบจำลอง ไม่ใช่ค่าของอาร์เรย์ จะเป็นตัวตัดสินคุณค่าของชุดทดสอบ

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

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

ความล้มเหลวใดๆ ที่ต้องการค่าเฉพาะสามค่าขึ้นไปพร้อมกัน การศึกษาเชิงประจักษ์เกี่ยวกับข้อมูลความผิดพลาดรายงานว่าความล้มเหลวส่วนใหญ่เกิดจากพารามิเตอร์หนึ่งหรือสองตัว ซึ่งเป็นเหตุผลว่าทำไมการครอบคลุมแบบคู่จึงมีประสิทธิภาพ แต่การครอบคลุมแบบสามทางนั้นเหมาะสมกว่าสำหรับคุณลักษณะที่สำคัญ

ส่วนใหญ่จะใช้ในระดับการบูรณาการและระบบ ซึ่งมีส่วนประกอบหรือการตั้งค่าหลายอย่างทำงานร่วมกัน นอกจากนี้ยังเหมาะกับเมทริกซ์สภาพแวดล้อม เช่น เบราว์เซอร์ ระบบปฏิบัติการ และขนาดหน้าจอ รวมถึงผลิตภัณฑ์ที่สามารถกำหนดค่าได้ ซึ่งจำนวนชุดค่าผสมที่จัดส่งมานั้นมากกว่าจำนวนหน้าต่างทดสอบที่มีอยู่

การเรียนรู้ของเครื่องจะอ่านข้อกำหนดและบันทึกการผลิตเพื่อเสนอปัจจัยและระดับที่สำคัญ และแบบจำลองประวัติข้อบกพร่องจะจัดอันดับว่าชุดค่าผสมใดสมควรได้รับความครอบคลุมแบบสามทาง คณิตศาสตร์ของอาร์เรย์เป็นแบบกำหนดได้ — ส่วนที่ชาญฉลาดคือการเลือกสิ่งที่จะป้อนเข้าสู่แบบจำลอง

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

สรุปโพสต์นี้ด้วย: