Release testing Release testing
- Release testing คือกระบวนการของการทดสอบการ release ระบบที่มีไว้สำหรับใช้กับภายนอกทีมพัฒนา
- เป้าหมายหลักของกระบวนการทดสอบ release test คือการโน้มน้าวผู้จัดหาระบบว่าดีพอสำหรับการใช้งาน
- Release testing จึงต้องแสดงให้เห็นว่าระบบมีฟังก์ชันการทำงานที่ระบุ, มีประสิทธิภาพและความเชื่อถือได้ และไม่เกิดความผิดพลาดในระหว่างการใช้งานตามปกติ
- การทดสอบ release test เป็นกระบวนการทดสอบกล่องดำ (black-box) ซึ่งการทดสอบจะได้มาจากข้อกำหนดเฉพาะของระบบเท่านั้น Release testing and system testing
- Release testing เป็นรูปแบบหนึ่งของ system testing
- ความแตกต่างที่สำคัญ:
- ทีมที่แยกต่างหาก (ซึ่งไม่ได้มีส่วนร่วมในการพัฒนาระบบ) ควรเป็นผู้รับผิดชอบrelease testing
- การทดสอบระบบ (system testing) ซึ่งทำโดยทีมพัฒนา ควรเน้นการค้นหาข้อบกพร่องในระบบ (defect testing)
- วัตถุประสงค์ของ release testing คือการตรวจสอบว่าระบบตรงกับความต้องการและดีพอสำหรับการใช้งานโดยผู้ใช้ภายนอก (validation testing) Requirements based testing
- การทดสอบตามความต้องการ (Requirements based testing) เกี่ยวข้องกับการตรวจสอบความต้องการแต่ละอย่างและการพัฒนาแบบทดสอบหรือทดสอบระบบ
- ตัวอย่างความต้องการระบบ Mentcare:
- หากรู้ว่าผู้ป่วยแพ้ยาชนิดใด ๆ แล้ว การสั่งยานั้นจะส่งผลให้มีข้อความแจ้งเตือนแก่ผู้ใช้ระบบ
- หากผู้จ่ายยาเลือกที่จะไม่สนใจคำเตือน พวกเขาจะต้องให้เหตุผลว่าทำไมคำเตือนนี้จึงได้ถูกเพิกเฉย Requirements tests
- ตั้งค่าประวัติผู้ป่วยที่ไม่มีอาการแพ้ยา กําหนดจ่ายยาสําหรับโรคภูมิแพ้ที่รู้จักกันทั่วไป ตรวจสอบว่าระบบจะไม่ออกข้อความแจ้งเตือน
- ตั้งค่าประวัติผู้ป่วยที่แพ้ยา กำหนดจ่ายยาที่ผู้ป่วยแพ้และตรวจสอบว่ามีคำเตือนออกโดยระบบหรือไม่
- บันทึกประวัติผู้ป่วยที่แพ้ยาตั้งแต่สองตัวขึ้นไป กำหนดยาทั้งสองตัวนี้แยกต่างหากและตรวจสอบว่ามีการออกคำเตือนที่ถูกต้องสำหรับยาแต่ละชนิด
- กำหนดยาสองตัวที่ผู้ป่วยแพ้ ตรวจสอบว่ามีการออกสองคำเตือนได้ถูกต้อง
- กำหนดให้มีการจ่ายยาที่ออกคำเตือนและลบล้างคำเตือนนั้น ตรวจสอบว่าระบบต้องการให้ผู้ใช้ให้ข้อมูลอธิบายว่าเหตุใดคำเตือนจึงถูกละเลย Performance testing
- ส่วนหนึ่งของ release testing อาจเกี่ยวข้องกับการทดสอบคุณสมบัติอื่น ๆ ของระบบเช่น ประสิทธิภาพและความน่าเชื่อถือ
- การทดสอบควรจะสะท้อนถึงรูปแบบการใช้งานของระบบ
- การทดสอบประสิทธิภาพ (Performance tests) มักเกี่ยวข้องกับการวางแผนชุดทดสอบ เพื่อให้มีโหลดเพิ่มขึ้นอย่างต่อเนื่อง จนกว่าประสิทธิภาพของระบบจะไม่สามารถเป็นที่ยอมรับได้
- การทดสอบความเครียด (stress testing) เป็นรูปแบบหนึ่งของการทดสอบสมรรถนะ โดยการกำหนดให้ระบบมีการโอเวอร์โหลด เพื่อทดสอบพฤติกรรมความล้มเหลวของระบบ