← กลับไปยังบทความทั้งหมด

ระบบที่อยู่ภายใต้การทดสอบ (System under Test - SUT) คืออะไร?

สรุปใจความสำคัญ

  • SUT คือระบบหรือส่วนประกอบที่ถูกทดสอบเพื่อยืนยันความถูกต้องของการทำงาน
  • ตามมาตรฐาน ISTQB, SUT ถูกเรียกว่าเป็น 'วัตถุที่ถูกทดสอบ' (Test Object)
  • ใน Unit Testing, SUT จะไม่รวมถึง Stubs หรือ Mocks ซึ่งเป็นโค้ดจำลอง

ในโลกของการพัฒนาซอฟต์แวร์และการประกันคุณภาพ (Quality Assurance), ระบบที่อยู่ภายใต้การทดสอบ (System under Test หรือ SUT) คือระบบหรือส่วนประกอบของระบบที่กำลังถูกตรวจสอบเพื่อยืนยันว่าทำงานได้ถูกต้องตามข้อกำหนดและปราศจากข้อผิดพลาด

การนิยามตามมาตรฐานสากล

ตามคำนิยามของ ISTQB (International Software Testing Qualifications Board), SUT คือ "วัตถุที่ถูกทดสอบ" (Test Object) ซึ่งหมายถึงถึงส่วนประกอบของซอฟต์แวร์หรือระบบที่ถูกนำมาทดสอบในสถานการณ์จำลองหรือสถานการณ์จริง

นอกจากนี้ ISO/IEC/IEEE 29119 ยังได้กำหนดนิยามของ SUT ไว้ในคำศัพท์มาตรฐานและกรอบการทำงานของกระบวนการทดสอบ เพื่อให้ผู้พัฒนาและผู้ทดสอบทั่วโลกมีความเข้าใจที่ตรงกันในการสื่อสารและจัดทำเอกสารการทดสอบ

SUT ในมุมมองของการทดสอบระดับยูนิต (Unit Testing)

เมื่อพิจารณาจากการทดสอบระดับยูนิต, SUT จะหมายถึงคลาส (Classes) หรือฟังก์ชันการทำงานที่กำลังถูกทดสอบ โดยจะไม่รวมถึงส่วนประกอบที่ถูกสร้างขึ้นมาเพื่อสนับสนุนการทดสอบ เช่น:

  • Stubs: โค้ดจำลองที่ให้ผลลัพธ์คงที่เพื่อให้การทดสอบดำเนินต่อไปได้
  • Mocks: วัตถุจำลองที่ใช้ตรวจสอบว่ามีการเรียกใช้ฟังก์ชันการทำงานในรูปแบบที่ถูกต้องหรือไม่

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

สรุปความสำคัญของ SUT

หัวข้อรายละเอียด
เป้าหมายตรวจสอบความถูกต้องของการทำงาน (Correct Operation)
บทบาทเป็นจุดศูนย์กลางของการทดสอบ (Test Object)
บทบาทใน Unit Testแยกส่วนโค้ดจริงออกจากโค้ดจำลอง (Stubs/Mocks)

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

SUT ย่อมาจากอะไร?

SUT ย่อมาจาก System under Test ซึ่งแปลว่า ระบบที่อยู่ภายใต้การทดสอบ

SUT แตกต่างจาก Test Object อย่างไร?

ในบริบทของ ISTQB, ทั้งสองคำนี้ถูกใช้ในความหมายเดียวกัน โดย SUT คือระบบหรือส่วนประกอบที่กำลังถูกทดสอบ

ในการทดสอบระดับยูนิต SUT คืออะไร?

ในการทดสอบระดับยูนิต SUT คือคลาสหรือฟังก์ชันจริงที่กำลังถูกทดสอบ โดยไม่นับรวมส่วนประกอบจำลองอย่าง Stubs หรือ Mocks