เทคนิคการทดสอบซอฟต์แวร์พร้อมตัวอย่างการออกแบบกรณีทดสอบ
เทคนิคการทดสอบซอฟต์แวร์คืออะไร?
เทคนิคการทดสอบซอฟต์แวร์ช่วยให้คุณออกแบบกรณีทดสอบได้ดีขึ้น เนื่องจากการทดสอบแบบครอบคลุมเป็นไปไม่ได้ เทคนิคการทดสอบด้วยตนเองจึงช่วยลดจำนวนกรณีทดสอบที่ต้องดำเนินการพร้อมทั้งเพิ่มความครอบคลุมของการทดสอบ เทคนิคเหล่านี้ช่วยระบุเงื่อนไขการทดสอบที่ยากต่อการจดจำด้วยวิธีอื่น
การวิเคราะห์มูลค่าขอบเขต (BVA)
การวิเคราะห์ค่าขอบเขตขึ้นอยู่กับการทดสอบที่ขอบเขตระหว่างพาร์ติชัน ประกอบด้วยขอบเขตสูงสุด ต่ำสุด ภายในหรือภายนอก ค่าทั่วไป และค่าความผิดพลาด
โดยทั่วไปจะเห็นได้ว่ามีข้อผิดพลาดจำนวนมากเกิดขึ้นที่ขอบเขตของค่าอินพุตที่กำหนดไว้ แทนที่จะเป็นจุดกึ่งกลาง มีชื่อเรียกอีกอย่างว่า BVA และให้กรณีทดสอบต่างๆ ที่ใช้ค่าขอบเขต
เทคนิคการทดสอบกล่องดำนี้ช่วยเสริมการแบ่งส่วนความเท่าเทียม เทคนิคการทดสอบซอฟต์แวร์นี้ใช้หลักการที่ว่า หากระบบทำงานได้ดีสำหรับค่าเฉพาะเหล่านี้ ระบบก็จะทำงานได้ดีกับค่าทั้งหมดที่อยู่ระหว่างค่าขอบเขตทั้งสอง
แนวทางการวิเคราะห์มูลค่าขอบเขต
- หากเงื่อนไขอินพุตถูกจำกัดระหว่างค่า x และ y กรณีทดสอบควรได้รับการออกแบบด้วยค่า x และ y รวมถึงค่าที่สูงกว่าและต่ำกว่า x และ y
- หากเงื่อนไขอินพุตมีค่าจำนวนมาก ควรพัฒนาเคสทดสอบซึ่งจำเป็นต้องใช้ตัวเลขต่ำสุดและสูงสุด ในกรณีนี้ ค่าที่สูงกว่าและต่ำกว่าค่าต่ำสุดและสูงสุดก็จะได้รับการทดสอบด้วยเช่นกัน
- ใช้แนวทางที่ 1 และ 2 กับเงื่อนไขเอาต์พุต ให้ผลลัพธ์ที่สะท้อนถึงค่าต่ำสุดและค่าสูงสุดที่คาดหวัง นอกจากนี้ยังทดสอบค่าที่ต่ำกว่าหรือสูงกว่าด้วย
ตัวอย่าง:
Input condition is valid between 1 to 10 Boundary values 0,1,2 and 9,10,11
การแบ่งชั้นความเท่าเทียมกัน
การแบ่งพาร์ติชันคลาสที่เทียบเท่าช่วยให้คุณสามารถแบ่งชุดเงื่อนไขการทดสอบออกเป็นพาร์ติชันซึ่งควรจะถือว่าเหมือนกัน วิธีการทดสอบซอฟต์แวร์นี้จะแบ่งโดเมนอินพุตของโปรแกรมออกเป็นคลาสของข้อมูลที่ควรจะออกแบบกรณีทดสอบ
แนวคิดเบื้องหลังเทคนิคการออกแบบกรณีทดสอบนี้คือกรณีทดสอบที่มีค่าตัวแทนของแต่ละคลาสจะเท่ากับการทดสอบค่าอื่นใดในคลาสเดียวกัน ช่วยให้คุณสามารถระบุคลาสการเทียบเท่าที่ถูกต้องและไม่ถูกต้องได้
ตัวอย่าง:
เงื่อนไขอินพุตถูกต้องระหว่าง
1 to 10 and 20 to 30
ดังนั้นจึงมีคลาสที่เท่าเทียมกันห้าคลาส
--- to 0 (invalid) 1 to 10 (valid) 11 to 19 (invalid) 20 to 30 (valid) 31 to --- (invalid)
คุณเลือกค่าจากแต่ละคลาส เช่น
-2, 3, 15, 25, 45
อ่านเพิ่มเติมเกี่ยวกับ – การวิเคราะห์ค่าขอบเขตและการทดสอบการแบ่งส่วนความเท่าเทียมกัน
การทดสอบตามตารางการตัดสินใจ
ตารางการตัดสินใจเรียกอีกอย่างว่าตารางสาเหตุ-ผลกระทบ เทคนิคการทดสอบซอฟต์แวร์นี้ใช้สำหรับฟังก์ชันที่ตอบสนองต่ออินพุตหรือเหตุการณ์รวมกัน ตัวอย่างเช่น ควรเปิดใช้งานปุ่มส่งหากผู้ใช้ป้อนข้อมูลในฟิลด์ที่จำเป็นทั้งหมด
ภารกิจแรกคือการระบุฟังก์ชันการทำงานที่เอาต์พุตขึ้นอยู่กับการรวมกันของอินพุต หากมีชุดค่าผสมอินพุตจำนวนมาก ให้แบ่งออกเป็นชุดย่อยเล็กๆ ซึ่งมีประโยชน์ในการจัดการตารางการตัดสินใจ
สำหรับทุกฟังก์ชัน คุณจะต้องสร้างตารางและแสดงรายการอินพุตและเอาต์พุตที่เกี่ยวข้องทุกประเภท ซึ่งช่วยในการระบุสภาวะที่ผู้ทดสอบมองข้าม
ต่อไปนี้เป็นขั้นตอนในการสร้างตารางการตัดสินใจ:- เกณฑ์อินพุตเป็นแถว
- ป้อนกฎทั้งหมดในคอลัมน์
- เติมตารางด้วยการผสมผสานอินพุตต่างๆ
- ในแถวสุดท้าย ให้จดบันทึกเอาต์พุตเทียบกับชุดอินพุต
ตัวอย่าง: ปุ่มส่งในแบบฟอร์มการติดต่อจะเปิดใช้งานเฉพาะเมื่อผู้ใช้ป้อนข้อมูลทั้งหมดเท่านั้น
การเปลี่ยนแปลงของรัฐ
ในเทคนิคการเปลี่ยนสถานะ การเปลี่ยนแปลงในเงื่อนไขอินพุตจะเปลี่ยนสถานะของแอปพลิเคชันภายใต้การทดสอบ (AUT) เทคนิคการทดสอบนี้ช่วยให้ผู้ทดสอบสามารถทดสอบพฤติกรรมของ AUT ได้ ผู้ทดสอบสามารถดำเนินการนี้ได้โดยการป้อนเงื่อนไขอินพุตต่างๆ ตามลำดับ ในเทคนิคการเปลี่ยนสถานะ ทีมทดสอบจะให้ค่าการทดสอบอินพุตที่เป็นบวกและลบเพื่อประเมินพฤติกรรมของระบบ
แนวปฏิบัติสำหรับการเปลี่ยนสถานะ:
- การเปลี่ยนสถานะควรใช้เมื่อทีมทดสอบกำลังทดสอบแอปพลิเคชันสำหรับชุดค่าอินพุตที่จำกัด
- ควรใช้เทคนิคการออกแบบกรณีทดสอบเมื่อทีมทดสอบต้องการทดสอบลำดับของเหตุการณ์ที่เกิดขึ้นในแอปพลิเคชันภายใต้การทดสอบ
ตัวอย่าง:
ในตัวอย่างต่อไปนี้ หากผู้ใช้ป้อนรหัสผ่านที่ถูกต้องในสามครั้งแรก ผู้ใช้จะสามารถเข้าสู่ระบบได้สำเร็จ หากผู้ใช้ป้อนรหัสผ่านไม่ถูกต้องในการลองครั้งแรกหรือครั้งที่สอง ผู้ใช้จะได้รับแจ้งให้ป้อนรหัสผ่านอีกครั้ง เมื่อผู้ใช้ป้อนรหัสผ่านไม่ถูกต้อง 3rd เวลาดำเนินการแล้ว และบัญชีจะถูกบล็อก
แผนภาพการเปลี่ยนสถานะ
ในไดอะแกรมนี้ เมื่อผู้ใช้ระบุหมายเลข PIN ที่ถูกต้อง เขาหรือเธอจะย้ายไปยังสถานะที่ได้รับสิทธิ์การเข้าถึง ตารางต่อไปนี้สร้างขึ้นโดยอิงจากไดอะแกรมด้านบน
ตารางการเปลี่ยนสถานะ
รหัส PIN ที่ถูกต้อง | PIN ไม่ถูกต้อง | |
---|---|---|
S1) เริ่มต้น | S5 | S2 |
ส2) 1st ความพยายาม | S5 | S3 |
ส3) 2nd ความพยายาม | S5 | S4 |
ส4) 3rd ความพยายาม | S5 | S6 |
S5) ให้สิทธิ์การเข้าถึงแล้ว | - | - |
S6) บัญชีถูกบล็อก | - | - |
ในตารางข้างต้น เมื่อผู้ใช้ป้อน PIN ที่ถูกต้อง สถานะจะเปลี่ยนเป็นได้รับสิทธิ์การเข้าถึง และหากผู้ใช้ป้อนรหัสผ่านไม่ถูกต้อง เขาหรือเธอจะถูกย้ายไปยังสถานะถัดไป ถ้าเขาทำแบบเดียวกัน 3rd เวลาเขาจะเข้าสู่สถานะถูกบล็อกบัญชี
เกิดข้อผิดพลาดในการคาดเดา
เกิดข้อผิดพลาดในการคาดเดา เป็นเทคนิคการทดสอบซอฟต์แวร์โดยอาศัยการคาดเดาข้อผิดพลาดซึ่งมีอยู่ในโค้ด เทคนิคนี้ขึ้นอยู่กับประสบการณ์อย่างมากที่นักวิเคราะห์การทดสอบใช้ประสบการณ์ของตนเพื่อคาดเดาส่วนที่เป็นปัญหาของแอปพลิเคชันการทดสอบ ดังนั้นนักวิเคราะห์การทดสอบจึงต้องมีทักษะและประสบการณ์เพื่อให้สามารถคาดเดาข้อผิดพลาดได้ดียิ่งขึ้น
เทคนิคนี้จะนับรายการข้อผิดพลาดที่เป็นไปได้หรือสถานการณ์ที่มีแนวโน้มว่าจะเกิดข้อผิดพลาด จากนั้นผู้ทดสอบจะเขียน a กรณีทดสอบ เพื่อเปิดเผยข้อผิดพลาดเหล่านั้น ในการออกแบบกรณีทดสอบตามเทคนิคการทดสอบซอฟต์แวร์นี้ นักวิเคราะห์สามารถใช้ประสบการณ์ที่ผ่านมาเพื่อระบุเงื่อนไขได้
แนวทางการคาดเดาข้อผิดพลาด:
- การทดสอบควรใช้ประสบการณ์ก่อนหน้าในการทดสอบแอปพลิเคชันที่คล้ายกัน
- ความเข้าใจในระบบที่ทดสอบ
- ความรู้เกี่ยวกับข้อผิดพลาดในการใช้งานทั่วไป
- จำพื้นที่ที่มีปัญหาก่อนหน้านี้
- ประเมินข้อมูลย้อนหลังและผลการทดสอบ
สรุป
- เทคนิคการออกแบบเคสทดสอบช่วยให้คุณออกแบบเคสได้ดีขึ้น มีเทคนิคที่ใช้กันหลักๆ 5 ประการ
- การวิเคราะห์ค่าขอบเขตกำลังทดสอบที่ขอบเขตระหว่างพาร์ติชัน
- การแบ่งพาร์ติชันคลาสที่เทียบเท่าช่วยให้คุณสามารถแบ่งชุดเงื่อนไขการทดสอบออกเป็นพาร์ติชันซึ่งควรจะถือว่าเหมือนกัน
- เทคนิคการทดสอบซอฟต์แวร์ Decision Table ใช้สำหรับฟังก์ชันที่ตอบสนองต่ออินพุตหรือเหตุการณ์รวมกัน
- ในเทคนิคการเปลี่ยนสถานะ การเปลี่ยนแปลงในเงื่อนไขอินพุตจะเปลี่ยนสถานะของแอปพลิเคชันภายใต้การทดสอบ (AUT)
- การคาดเดาข้อผิดพลาดเป็นเทคนิคการทดสอบซอฟต์แวร์ซึ่งมีพื้นฐานมาจากการคาดเดาข้อผิดพลาดซึ่งสามารถมีชัยในโค้ดได้