วิศวกรรมซอฟต์แวร์
(Software Enginearing)
 
รหัสวิชา 3128-2206
บทเรียนที่ 8  กระบวนการ Verification & Validation

[ความหมายกระบวนการ Verification & Validation]
ความหมายของ กระบวนการ Verification & Validation
       คือ กระบวนการตรวจสอบและยืนยันความถูกต้องของระบบงาน ซึ่งเป็นกระบวนการที่ช่วยให้ผู้พัฒนาระบบมีความแน่ใจว่าระบบที่ตนพัฒนานั้น ตรงตามข้อกำหนดตกลงไว้กับผู้ใช้หรือผู้จัดการระบบ และตรงกับความต้องการของผู้ใช้ระบบนั้นอยู่เสมอ

สาเหตุการเกิดข้อบกพร่องหรือข้อละเว้นในระบบซอฟต์แวร์
       1.  ข้อกำหนดความต้องการต่างๆ ไม่ตรงกับความต้องการจริงของลูกค้า
       2.  รายละเอียดบางอย่างของข้อกำหนดไม่สามารถปฏิบัติจริงได้
       3.  ซอฟต์แวร์ถูกออกแบบมาไม่ดี เช่น ความเร็วในการประมวลผลไม่สอดคล้องกับความต้องการของลูกค้า
       4.  ข้อบกพร่องจากการเขียนโปรแกรม เช่น อัลกอลิทึมที่เอามาใช้ในโปรแกรมไม่มีประสิทธิภาพเพียงพอ

จุดมุ่งหมายของกระบวนการ V & V
       1.  เพื่อค้นพบข้อบกพร่องผิดพลาดของระบบ
       2.  เพื่อประเมินว่าระบบนั้นสามารถใช้งานได้จริง ในสภาพการทำงานจริงหรือไม่

เทคนิคของกระบวนการ Verification & Validation
       กระบวนการ (V&V) ควรใช้เทคนิค Static testing และ Dynamic testing เพื่อตรวจสอบและวิเคราะห์ความถูกต้องของระบบ ความแตกต่างระหว่างเทคนิคทั้งสอง คือ ชนิดข้อมูลที่นำมาทดสอบ
       1.  เทคนิค Static testing เกี่ยวข้องกับการพิสูจน์และวิเคราะห์เอกสารที่ปรากฎในขณะพัฒนาระบบ เช่น เอกสารความต้องการ แผนภาพการออกแบบ และโปรแกรมต้นฉบับ
       2.  เทคนิค Dynamic testing หรือการทดสอบข้อบกพร่อง คือ การนำโปรแกรมมาทดลองประมวลผลกับตัวอย่างข้อมูลที่สร้างขึ้น เพื่อแสดงข้อบกพร่องต่างๆ ในระบบ หรือใช้ซอฟต์แวร์ที่เรียกว่า profiler ประเมินประสิทธิภาพการทำงานของระบบ