การทดสอบอาร์เรย์มุมฉากคืออะไร? (ตัวอย่าง)
การทดสอบอาร์เรย์มุมฉาก
การทดสอบอาร์เรย์มุมฉาก (OAT) เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ใช้อาร์เรย์มุมฉากเพื่อสร้างกรณีทดสอบ เป็นวิธีการทดสอบทางสถิติที่มีประโยชน์อย่างยิ่งเมื่อระบบที่จะทดสอบมีข้อมูลเข้าจำนวนมาก การทดสอบอาเรย์มุมฉากช่วยเพิ่มความครอบคลุมการทดสอบให้สูงสุดโดยการจับคู่และรวมอินพุต และทดสอบระบบด้วยจำนวนกรณีทดสอบที่น้อยลงเพื่อประหยัดเวลา
ตัวอย่างเช่น เมื่อต้องตรวจสอบตั๋วรถไฟ จะต้องทดสอบปัจจัยต่างๆ เช่น จำนวนผู้โดยสาร หมายเลขตั๋ว หมายเลขที่นั่ง และหมายเลขรถไฟ การทดสอบปัจจัย/ข้อมูลอินพุตแต่ละรายการทีละอย่างนั้นค่อนข้างยุ่งยาก แต่จะดีกว่าหากวิศวกร QA รวมข้อมูลอินพุตเข้าด้วยกันและทำการทดสอบ ในกรณีดังกล่าว เราสามารถใช้การทดสอบแบบ Orthogonal Array ได้
การจับคู่หรือการรวมอินพุตและการทดสอบระบบเพื่อประหยัดเวลานี้เรียกว่าการทดสอบแบบคู่กัน เทคนิค OATS ใช้สำหรับการทดสอบแบบคู่กัน
ทำไมต้อง OAT (การทดสอบอาร์เรย์มุมฉาก)
ในสถานการณ์ปัจจุบัน การส่งมอบผลิตภัณฑ์ซอฟต์แวร์คุณภาพให้กับลูกค้ากลายเป็นเรื่องท้าทายเนื่องจากความซับซ้อนของโค้ด
ในวิธีการทั่วไป ชุดการทดสอบจะรวมกรณีการทดสอบที่ได้มาจากการรวมกันของค่าอินพุตและเงื่อนไขเบื้องต้นทั้งหมด ด้วยเหตุนี้จึงต้องครอบคลุมกรณีทดสอบจำนวน n กรณี
แต่ในสถานการณ์จริง ผู้ทดสอบจะไม่มีเวลาว่างในการดำเนินการกรณีทดสอบทั้งหมดเพื่อค้นหาข้อบกพร่อง เนื่องจากมีกระบวนการอื่นๆ เช่น เอกสาร ข้อเสนอแนะ และคำติชมจากลูกค้าที่ต้องนำมาพิจารณาในขณะที่อยู่ในสถานการณ์จริง ขั้นตอนการทดสอบ
ดังนั้นผู้จัดการการทดสอบจึงต้องการปรับปรุงจำนวนและคุณภาพของกรณีทดสอบให้เหมาะสมที่สุดเพื่อให้มั่นใจสูงสุด ความคุ้มครองการทดสอบ ด้วยความพยายามขั้นต่ำ ความพยายามนี้เรียกว่า กรณีทดสอบ การเพิ่มประสิทธิภาพ
- วิธีทดสอบปฏิสัมพันธ์แบบคู่กันอย่างเป็นระบบและสถิติ
- การโต้ตอบและจุดบูรณาการเป็นสาเหตุสำคัญของข้อบกพร่อง
- ดำเนินการกรณีทดสอบที่มีการกำหนดไว้อย่างดีและกระชับ ซึ่งมีแนวโน้มที่จะเปิดเผยข้อบกพร่องส่วนใหญ่ (ไม่ใช่ทั้งหมด)
- แนวทางมุมฉากรับประกันการครอบคลุมตัวแปรทั้งหมดเป็นคู่
OAT เป็นตัวแทนอย่างไร
สูตรคำนวณข้าวโอ๊ต
- Runs (N) – จำนวนแถวในอาร์เรย์ ซึ่งแปลงเป็นกรณีทดสอบจำนวนหนึ่งที่จะถูกสร้างขึ้น
- ปัจจัย (K) – จำนวนคอลัมน์ในอาร์เรย์ ซึ่งแปลเป็นจำนวนตัวแปรสูงสุดที่สามารถจัดการได้
- ระดับ (V) – จำนวนค่าสูงสุดที่สามารถรับได้จากปัจจัยเดียว
ปัจจัยเดียวมีอินพุต 2 ถึง 3 ที่จะทดสอบ จำนวนอินพุตสูงสุดนั้นจะเป็นตัวกำหนดระดับ
วิธีทำการทดสอบอาร์เรย์มุมฉาก: ตัวอย่าง
- ระบุตัวแปรอิสระสำหรับสถานการณ์จำลอง
- ค้นหาอาร์เรย์ที่เล็กที่สุดตามจำนวนการรัน
- แมปปัจจัยกับอาร์เรย์
- เลือกค่าสำหรับระดับ "ที่เหลือ"
- ถอดเสียง Runs ลงในกรณีทดสอบ โดยเพิ่มชุดค่าผสมที่น่าสงสัยเป็นพิเศษซึ่งไม่ได้ถูกสร้างขึ้น
1 ตัวอย่าง
เว็บเพจมีส่วนที่แตกต่างกันสามส่วน (บน กลาง ล่าง) ซึ่งสามารถแสดงหรือซ่อนแยกจากผู้ใช้ได้
- จำนวนปัจจัย = 3 (บน กลาง ล่าง)
- จำนวนระดับ (การมองเห็น) = 2 (ซ่อนหรือแสดง)
- ประเภทอาร์เรย์ = L4(23)
(4 คือจำนวนการรันที่มาถึงหลังจากสร้างอาร์เรย์ OAT)
หากเราใช้เทคนิคการทดสอบแบบ Conventional เราต้องการกรณีทดสอบเช่น 2 X 3 = 6 Test Cases
กรณีทดสอบ | สถานการณ์ | ค่าที่จะทดสอบ |
---|---|---|
ทดสอบ #1 | HIDDEN | Top |
ทดสอบ #2 | แสดง | Top |
ทดสอบ #3 | HIDDEN | ด้านล่าง |
ทดสอบ #4 | แสดง | ด้านล่าง |
ทดสอบ #5 | HIDDEN | กลาง |
ทดสอบ #6 | แสดง | กลาง |
หากเราไปทำ OAT Testing เราจำเป็นต้องมี Test case 4 กรณีดังนี้
กรณีทดสอบ | TOP | กลาง | ด้านล่าง |
---|---|---|---|
ทดสอบ #1 | ซ่อนเร้น | ซ่อนเร้น | ซ่อนเร้น |
ทดสอบ #2 | ซ่อนเร้น | มองเห็นได้ | มองเห็นได้ |
ทดสอบ #3 | มองเห็นได้ | ซ่อนเร้น | มองเห็นได้ |
ทดสอบ #4 | มองเห็นได้ | มองเห็นได้ | ซ่อนเร้น |
2 ตัวอย่าง
ต้องมีการทดสอบการทำงานของไมโครโปรเซสเซอร์:
- อุณหภูมิ: 100C, 150C และ 200C.
- แรงดัน: 2 psi, 5psi และ 8psi
- ปริมาณยาสลบ :4%,6% และ 8%
- อัตราการสะสม : 0.1 มก./วินาที , 0.2 มก./วินาที และ 0.3 มก./วินาที
โดยใช้วิธี Conventional เราจำเป็นต้องมีกรณีทดสอบ = 81 กรณีเพื่อให้ครอบคลุมอินพุตทั้งหมด มาทำงานกับวิธี OATS กันดีกว่า:
จำนวนปัจจัย = 4 (อุณหภูมิ ความดัน ปริมาณสารต้องห้าม และอัตราการสะสม)
ระดับ = 3 ระดับต่อปัจจัย (อุณหภูมิมี 3 ระดับ - 100C, 150C และ 200C และปัจจัยอื่นๆ ก็มีระดับเช่นกัน)
สร้างอาร์เรย์ดังนี้:
1. คอลัมน์ที่มีจำนวนปัจจัย
กรณีทดสอบ # | อุณหภูมิ | วัดความแรงบีบคั้น | ปริมาณยาสลบ | อัตราการสะสม |
---|---|---|---|---|
2. ใส่จำนวนแถวเท่ากับระดับต่อปัจจัย คืออุณหภูมิมี 3 ระดับ ดังนั้นให้แทรก 3 แถวสำหรับแต่ละระดับสำหรับอุณหภูมิ
กรณีทดสอบ # | อุณหภูมิ | วัดความแรงบีบคั้น | ปริมาณยาสลบ | อัตราการสะสม |
---|---|---|---|---|
1 | 100C | |||
2 | 100C | |||
3 | 100C | |||
4 | 150C | |||
5 | 150C | |||
6 | 150C | |||
7 | 200C | |||
8 | 200C | |||
9 | 200C |
3. ตอนนี้แยกความดัน จำนวนยาสลบ และอัตราการสะสมในคอลัมน์
เช่น: ป้อน 2 psi ข้ามอุณหภูมิ 100C, 150C และ 200C และป้อนปริมาณการเจือปน 4% สำหรับ 100C, 150C และ 200C เป็นต้น
กรณีทดสอบ # | อุณหภูมิ | วัดความแรงบีบคั้น | ปริมาณยาสลบ | อัตราการสะสม |
---|---|---|---|---|
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 กรณีเพื่อให้ครอบคลุม
ข้อดีของข้าวโอ๊ต
- รับประกันการทดสอบการผสมผสานแบบคู่ของตัวแปรที่เลือกทั้งหมด
- ลดจำนวนกรณีทดสอบ
- สร้างกรณีทดสอบน้อยลงซึ่งครอบคลุมการทดสอบชุดค่าผสมทั้งหมดของตัวแปรทั้งหมด
- สามารถทำการรวมตัวแปรที่ซับซ้อนได้
- สร้างได้ง่ายกว่าและเกิดข้อผิดพลาดน้อยกว่าชุดทดสอบที่สร้างขึ้นด้วยมือ
- มันมีประโยชน์สำหรับ การทดสอบการผสานรวม.
- ช่วยเพิ่มความสามารถในการผลิตเนื่องจากรอบการทดสอบและเวลาในการทดสอบลดลง
ข้อเสียของข้าวโอ๊ต
- เมื่อข้อมูลอินพุตเพิ่มขึ้น ความซับซ้อนของกรณีทดสอบก็จะเพิ่มขึ้นด้วย ส่งผลให้ต้องใช้ความพยายามและเวลามากขึ้น ดังนั้น ผู้ทดสอบจึงต้องดำเนินการต่อไป การทดสอบระบบอัตโนมัติ.
- มีประโยชน์สำหรับการทดสอบการรวมส่วนประกอบซอฟต์แวร์
ข้อผิดพลาดหรือข้อผิดพลาดขณะดำเนินการ OAT
- ความพยายามในการทดสอบไม่ควรเน้นไปที่บริเวณที่ไม่ถูกต้องของการใช้งาน
- หลีกเลี่ยงการเลือกพารามิเตอร์ที่ไม่ถูกต้องเพื่อรวม
- หลีกเลี่ยงการใช้การทดสอบ Orthogonal Array เพื่อลดความพยายามในการทดสอบ
- การใช้การทดสอบอาร์เรย์มุมฉากด้วยตนเอง
- การใช้การทดสอบอาร์เรย์ฉากกับแอปพลิเคชันที่มีความเสี่ยงสูง
สรุป
ที่นี่เราได้เห็นว่า OAT (Orthogonal Array Testing) สามารถใช้เพื่อลดความพยายามในการทดสอบได้อย่างไร และเพิ่มประสิทธิภาพกรณีทดสอบได้อย่างไร