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

Use Case Testing คืออะไร?
ใช้การทดสอบกรณี การทดสอบกรณีการใช้งาน (Use Case Testing) เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ระบุกรณีทดสอบที่ครอบคลุมทั้งระบบแบบทีละขั้นตอน ตั้งแต่ต้นจนจบ กรณีทดสอบเหล่านี้อธิบายถึงปฏิสัมพันธ์ระหว่างผู้ใช้และแอปพลิเคชันซอฟต์แวร์ การทดสอบกรณีการใช้งานจะเปิดเผยช่องโหว่ที่อาจไม่ปรากฏให้เห็นจากการทดสอบส่วนประกอบซอฟต์แวร์แต่ละส่วนแยกกัน
A ใช้กรณี ในการทดสอบนั้น กรณีการใช้งาน (Use case) คือคำอธิบายโดยย่อเกี่ยวกับการใช้งานซอฟต์แวร์ในลักษณะเฉพาะโดยผู้ใช้งานหรือผู้ทดสอบ กรณีการใช้งานเขียนขึ้นจากพฤติกรรมของผู้ใช้งานและการตอบสนองที่สอดคล้องกันของแอปพลิเคชัน และมีการใช้กันอย่างแพร่หลายเพื่อหาข้อสรุป กรณีทดสอบ ในระดับระบบและการยอมรับ
องค์ประกอบสำคัญของกรณีการใช้งาน
ทุกกรณีการใช้งานสร้างขึ้นจากชุดส่วนประกอบพื้นฐานเดียวกัน การรู้ส่วนประกอบล่วงหน้าทำให้การออกแบบการครอบคลุมการทดสอบที่สอดคล้องกับกรณีทดสอบทำได้ง่ายขึ้น:
- นักแสดงชาย: ผู้ใช้หรือระบบภายนอกที่เริ่มต้นการโต้ตอบ แสดงด้วยตัวอักษร “A” ในแผนผังข้อความ
- ของระบบ: ซอฟต์แวร์ที่กำลังทดสอบซึ่งตอบสนองต่อผู้ใช้งาน แทนด้วยสัญลักษณ์ “S”
- เงื่อนไขเบื้องต้น: สถานะที่ระบบต้องอยู่ในนั้นก่อนที่กรณีการใช้งานจะเริ่มต้นได้
- สถานการณ์ความสำเร็จหลัก: ลำดับขั้นตอนที่ราบรื่นของตัวแสดงและระบบ
- ส่วนขยาย / เส้นทางไหลทางเลือก: สาขาที่จัดการกับข้อยกเว้น ความล้มเหลวในการตรวจสอบ หรือทางเลือกอื่น ๆ
- เงื่อนไขหลังการทดลอง: สถานะของระบบหลังจากสิ้นสุดการใช้งาน
วิธีทำ Use Case Testing: ตัวอย่าง
ในกรณีตัวอย่างนี้ ตัวแสดง (Actor) จะถูกแทนด้วย “A” และระบบจะถูกแทนด้วย “S” ตัวอย่างด้านล่างนี้อธิบายถึงฟังก์ชันการเข้าสู่ระบบของแอปพลิเคชันบนเว็บ
| สถานการณ์ความสำเร็จหลัก | ขั้นตอน | Descriptไอออน |
|---|---|---|
| A: นักแสดง S: ระบบ | 1 | A: ป้อนชื่อตัวแทนและรหัสผ่าน |
| 2 | S: ยืนยันรหัสผ่าน | |
| 3 | S: อนุญาตการเข้าถึงบัญชี | |
| ส่วนขยาย | 2a | รหัสผ่านไม่ถูกต้อง S: แสดงข้อความและขอให้ลองใหม่อีกครั้ง (สูงสุด 4 ครั้ง) |
| 2b | รหัสผ่านไม่ถูกต้อง 4 ครั้ง ก: ปิดแอปพลิเคชัน |
แผนผังข้างต้นแสดงถึงเส้นทางที่ราบรื่นหนึ่งเส้นทางและส่วนขยายอีกสองเส้นทาง อ่านทีละขั้นตอน:
- นักแสดงป้อนอีเมลและรหัสผ่านเป็นขั้นตอนแรกของกระบวนการล็อกอินแบบครบวงจร
- ระบบจะตรวจสอบความถูกต้องของรหัสผ่าน
- หากรหัสผ่านถูกต้อง ระบบจะอนุญาตให้เข้าถึงได้
- หากรหัสผ่านไม่ถูกต้อง ระบบจะแสดงข้อความและอนุญาตให้ลองป้อนรหัสผ่านใหม่ได้สูงสุดสี่ครั้ง
- หากรหัสผ่านยังคงไม่ถูกต้องหลังจากพยายามป้อนซ้ำสี่ครั้ง ระบบจะบล็อกการพยายามป้อนรหัสผ่านเพิ่มเติม (ในตัวอย่างนี้คือ การบล็อกที่อยู่ IP)
จากกรณีการใช้งานนี้ คุณจะต้องทดสอบสถานการณ์ที่ประสบความสำเร็จ รวมถึงกรณีเพิ่มเติมอีกหนึ่งกรณีสำหรับส่วนขยายแต่ละอย่าง ซึ่งจะทำให้ได้กรณีทดสอบอย่างน้อยสามกรณี ได้แก่ การเข้าสู่ระบบที่ถูกต้อง การกู้คืนรหัสผ่านที่ไม่ถูกต้อง และการล็อกเอาต์หลังจากป้อนรหัสผ่านผิดซ้ำๆ
ข้อดีของการทดสอบกรณีการใช้งาน
การทดสอบกรณีการใช้งาน (Use Case Testing) เหมาะสมอย่างยิ่งที่จะอยู่ระหว่างข้อกำหนดและกรณีทดสอบ ข้อดีที่สำคัญมีดังนี้:
- ครอบคลุมตั้งแต่ต้นจนจบ: ทดสอบการทำธุรกรรมข้ามโมดูล ไม่ใช่ข้ามฟังก์ชันที่แยกจากกัน
- การตรวจสอบความถูกต้องโดยมุ่งเน้นที่ผู้ใช้: แต่ละสถานการณ์สะท้อนให้เห็นถึงวิธีการที่ผู้ใช้งานจริงใช้ระบบนี้
- ล้างข้อมูล tracความสามารถ: กรณีการใช้งานจะสอดคล้องกับเกณฑ์การยอมรับเพื่อให้ผู้มีส่วนได้ส่วนเสียอนุมัติโดยตรง
- การป้องกันข้อบกพร่อง: ตรวจสอบช่องว่างการบูรณาการพื้นผิวก่อนที่วงจรการถดถอยจะเริ่มต้นขึ้น
- สิ่งของที่สามารถนำกลับมาใช้ใหม่ได้: กรณีการใช้งานเดียวกันนี้ยังใช้เป็นข้อมูลสำหรับกรณีทดสอบ สื่อการฝึกอบรม และเอกสารประกอบการใช้งานสำหรับผู้ใช้ด้วย
ข้อจำกัดของการทดสอบกรณีการใช้งาน
เทคนิคนี้มีประสิทธิภาพแต่ไม่ได้ครอบคลุมทุกด้าน โปรดคำนึงถึงข้อจำกัดต่อไปนี้:
- ไม่สามารถใช้ทดแทนการทดสอบหน่วยได้: ข้อบกพร่องของส่วนประกอบระดับต่ำยังคงต้องการการทดสอบแบบเจาะจง
- ขึ้นอยู่กับกรณีการใช้งานที่แม่นยำ: กระบวนการที่ไม่ชัดเจนส่งผลให้เกิดการทดสอบที่ไม่ชัดเจนเช่นกัน
- ความคุ้มครองมีจำกัดสำหรับกรณีที่ไม่เกี่ยวข้องกับการทำงาน: ประสิทธิภาพ ความปลอดภัย และการเข้าถึง ล้วนต้องการเทคนิคเฉพาะของตนเอง
- ค่าใช้จ่ายในการบำรุงรักษา: ต้องอัปเดตกรณีการใช้งานเมื่อกฎทางธุรกิจเปลี่ยนแปลง

