
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | การทดสอบหน่วย | การทดสอบระบบ |
---|---|---|
ขั้นพื้นฐาน | มุ่งเน้นไปที่การตรวจสอบการทำงานของส่วนประกอบ | ตรวจสอบระบบหลังจากรวมเข้ากับระบบที่มีขนาดใหญ่กว่า |
ดังต่อไปนี้ | ข้อมูลจำเพาะของโมดูล | ข้อกำหนดความต้องการ |
การเปิดเผยรายละเอียดของรหัส | ให้ | ไม่ได้จัดเตรียมไว้ให้ |
นั่งร้าน | จำเป็นต้องใช้ | ไม่จำเป็นต้องใช้ไดรเวอร์ / ต้นขั้ว |
ความสำคัญ | พฤติกรรมของโมดูลเดี่ยว | ฟังก์ชั่นระบบ |
ความหมายของการทดสอบหน่วย
การทดสอบหน่วย เป็นเทคนิคการพิสูจน์หน่วยที่เล็กที่สุดในซอฟต์แวร์ ส่วนประกอบที่เล็กที่สุดของซอฟต์แวร์เหล่านี้ได้รับการทดสอบแยกกัน ส่วนประกอบของ ไดรเวอร์ มีหน้าที่ในการสร้างวิธีการเรียกใช้สำหรับส่วนประกอบที่กำลังทดสอบ ส่วนประกอบที่ใช้วิธีการนั้นถูกเลียนแบบเป็น ต้นขั้ว สตับเหล่านี้เป็นการแทนที่ครั้งแรกสำหรับวิธีการวางที่ผิด
การทดสอบหน่วยถูกควบคุมโดยการทดสอบกล่องสีขาวและขั้นตอนในการทดสอบหน่วยจะดำเนินการสำหรับส่วนประกอบหลาย ๆ ชิ้นพร้อมกัน โดยจะเน้นที่การทดสอบการไหลของข้อมูลที่เหมาะสมไปตามส่วนต่อประสานของโมดูลเพราะหากไม่สนใจการทดสอบอื่น ๆ จะไม่แน่นอน
การดำเนินงานของต้นขั้ว
- ต้นขั้วสามารถดำเนินการเลียนแบบอย่างชัดเจนของงานขององค์ประกอบ
- มันสามารถแสดงข้อความหลังจากการดำเนินการของส่วนประกอบ
การดำเนินการอย่างใดอย่างหนึ่งดังกล่าวข้างต้นสามารถทำได้ในแต่ละครั้ง การทดสอบหน่วยเป็นส่วนสำคัญของการทดสอบซอฟต์แวร์ซึ่งช่วยให้มั่นใจได้ว่าการพัฒนาได้เร็วขึ้นการดีบั๊กการออกแบบเสียงเอกสารและกลไกการป้อนกลับ
ความหมายของการทดสอบระบบ
การ ทดสอบระบบ จะตรวจสอบพฤติกรรมของระบบทั้งหมด มันทำการทดสอบต่าง ๆ ในความก้าวหน้า อย่างไรก็ตามการทดสอบเหล่านี้มีจุดประสงค์ที่แตกต่างกันและตรวจสอบว่าองค์ประกอบของระบบทั้งหมดทำงานอย่างถูกต้องในลักษณะผสมผสานหรือไม่
ในการทดสอบนี้กรณีทดสอบได้รับการออกแบบตามข้อกำหนดของข้อกำหนดและมีการกล่าวรหัสว่าคล้ายกับกล่องดำ นักพัฒนาที่มีความรู้ในวงกว้างและมองเห็นได้เกี่ยวกับโครงสร้างของระบบมักจะทำการทดสอบระบบ
ประเภทของการทดสอบระบบ:
มีการทดสอบระบบหลายรูปแบบซึ่งมีการอธิบายน้อยด้านล่าง
- การทดสอบการกู้คืน : การทดสอบ ประเภทนี้ทำให้ซอฟต์แวร์ปฏิเสธหลายวิธีในการตรวจสอบกระบวนการกู้คืนที่เหมาะสม
- การทดสอบความปลอดภัย : การทดสอบความปลอดภัยตรวจสอบกลไกความปลอดภัยและป้องกันระบบจากการรุก
- การทดสอบความเครียด : เป็นเทคนิคการทดสอบที่ต้องการเงื่อนไขที่ผิดปกติของทรัพยากรเช่นปริมาณความถี่และปริมาณ
- การทดสอบประสิทธิภาพ : การทดสอบประสิทธิภาพมุ่งเน้นไปที่ประสิทธิภาพรันไทม์ของซอฟต์แวร์ซึ่งสัมพันธ์กับทั้งระบบ
ความแตกต่างที่สำคัญระหว่างการทดสอบหน่วยและการทดสอบระบบ
- การทดสอบหน่วยทำงานตามข้อกำหนดของโมดูล เมื่อเทียบกับการทดสอบระบบปฏิบัติตามข้อกำหนดความต้องการรวมสำหรับซอฟต์แวร์และฮาร์ดแวร์
- ในการทดสอบหน่วยรายละเอียดของรหัสสามารถมองเห็นได้โดยผู้ทดสอบในขณะที่นี่ไม่ใช่กรณีในการทดสอบระบบ เหตุผลเบื้องหลังคือการทดสอบหน่วยสามารถดำเนินการโดยผู้พัฒนาโมดูล แต่การทดสอบระบบเป็นงานที่ใหญ่กว่าที่ผู้ทดสอบและผู้พัฒนาเป็นบุคคลสองคนที่แตกต่างกันเพื่อดำเนินการที่แตกต่าง
- การทดสอบหน่วยใช้เทคนิคการนั่งร้านโดยที่รหัสที่สร้างไม่ได้เป็นส่วนหนึ่งของซอฟต์แวร์และมีวัตถุประสงค์เพียงอย่างเดียวในการทดสอบ ในทางตรงกันข้ามการทดสอบระบบไม่ได้ใช้เทคนิคการนั่งร้าน
- ในการทดสอบหน่วยการเน้นอยู่ที่โมดูลเดียวขณะที่ในการทดสอบระบบฟังก์ชันทั้งหมดของระบบจะถูกนำมาพิจารณา
ความสัมพันธ์ระหว่างการทดสอบหน่วยและการทดสอบระบบในบริบทของกลยุทธ์การทดสอบซอฟต์แวร์:
จากแผนภาพที่แสดงด้านล่างการทดสอบหน่วยเริ่มต้นจากศูนย์และมุ่งเน้นไปที่แต่ละหน่วยซอฟต์แวร์ (องค์ประกอบ) ตามการใช้งาน จากนั้นทำการทดสอบการรวมที่การตรวจสอบการออกแบบและการสร้างของสถาปัตยกรรมซอฟต์แวร์ เมื่อเราออกไปด้านนอกการทดสอบการตรวจสอบความถูกต้องจะพบกับความต้องการที่ตรงกับข้อกำหนดของความต้องการ การทดสอบระบบมีอยู่ในส่วนนอกสุดซึ่งทำการทดสอบซอฟต์แวร์และส่วนอื่น ๆ ของระบบในฐานะที่เป็นองค์ประกอบรวม

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