การทดสอบกรณีการใช้งานพร้อมตัวอย่าง

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

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

  • 🎭 แสดงปฏิสัมพันธ์ของแบบจำลองให้ชัดเจน: ระบุผู้กระทำ (A) และระบบ (S) ในแต่ละขั้นตอนเพื่อให้ผู้ทดสอบสามารถใช้งานได้ tracทุกขั้นตอนของการทำธุรกรรม
  • 🛤️ เริ่มด้วยการสำรวจเส้นทางที่ราบรื่นก่อน: ตรวจสอบความถูกต้องของสถานการณ์ความสำเร็จหลักก่อน จากนั้นจึงเพิ่มส่วนขยายและเส้นทางข้อยกเว้นที่จำลองข้อผิดพลาดของผู้ใช้จริง
  • 🧩 Anchor โดยมีเงื่อนไข: กำหนดเงื่อนไขก่อนและหลังการทดสอบให้ชัดเจนในแต่ละขั้นตอน เพื่อให้ผลการทดสอบมีความชัดเจนไม่คลุมเครือ
  • 🔗 Tracการยอมรับ: เชื่อมโยงกรณีการใช้งานกับเกณฑ์การยอมรับ เพื่อให้ผู้มีส่วนได้ส่วนเสียทางธุรกิจสามารถอนุมัติการครอบคลุมได้ในเวลาที่ปล่อยเวอร์ชันใหม่
  • 🤖 ใช้ระบบ AI ช่วยเหลือ: แปลง User Story ที่เขียนด้วยภาษาอังกฤษธรรมดาให้เป็น Use Case ฉบับร่าง เพื่อเร่งกระบวนการออกแบบการทดสอบและลดขั้นตอนการทำงานที่ตกหล่น

ใช้การทดสอบกรณี: ตัวอย่าง

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ความสามารถ: กรณีการใช้งานจะสอดคล้องกับเกณฑ์การยอมรับเพื่อให้ผู้มีส่วนได้ส่วนเสียอนุมัติโดยตรง
  • การป้องกันข้อบกพร่อง: ตรวจสอบช่องว่างการบูรณาการพื้นผิวก่อนที่วงจรการถดถอยจะเริ่มต้นขึ้น
  • สิ่งของที่สามารถนำกลับมาใช้ใหม่ได้: กรณีการใช้งานเดียวกันนี้ยังใช้เป็นข้อมูลสำหรับกรณีทดสอบ สื่อการฝึกอบรม และเอกสารประกอบการใช้งานสำหรับผู้ใช้ด้วย

ข้อจำกัดของการทดสอบกรณีการใช้งาน

เทคนิคนี้มีประสิทธิภาพแต่ไม่ได้ครอบคลุมทุกด้าน โปรดคำนึงถึงข้อจำกัดต่อไปนี้:

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

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

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

การทดสอบกรณีการใช้งาน (Use case testing) เหมาะที่สุดสำหรับการใช้งานในระดับระบบและระดับการยอมรับ หลังจากทำการทดสอบหน่วย (Unit test) และการทดสอบการบูรณาการ (Integration test) แล้ว โดยมีเป้าหมายเพื่อตรวจสอบความถูกต้องของขั้นตอนการทำงานของผู้ใช้โดยรวม แทนที่จะเป็นการตรวจสอบฟังก์ชันแต่ละอย่าง

ตัวแสดง “A” แทนผู้ใช้หรือระบบภายนอกที่เริ่มต้นการโต้ตอบ ระบบ “S” แทนซอฟต์แวร์ที่ตอบสนองต่อการกระทำเหล่านั้น สัญลักษณ์นี้ช่วยให้การไหลของข้อมูลกระชับและอ่านง่าย

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

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

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

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

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

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