สร้างความมั่นใจให้ซอฟต์แวร์ด้วย Verification and Validation Confidence

V&V Software Testing กระบวนการตรวจสอบซอฟต์แวร์ก่อนเริ่มต้นใช้งานในวงกว้าง

การพัฒนาซอฟต์แวร์เป็นงานที่มีความท้าทาย และสลับซับซ้อน แต่การได้มาซึ่งซอฟต์แวร์ที่ดี และมีคุณภาพเป็นเรื่องที่สำคัญไม่ต่างกัน ผู้พัฒนาจะมั่นใจได้อย่างไรว่าซอฟต์แวร์ที่ถูกสร้างขึ้นนั้นทำงานได้อย่างมีประสิทธิภาพ ตอบโจทย์ความต้องการกระบวนงาน โดยผู้ใช้งานสามารถนำไปใช้ได้จริง วันนี้ Keancode.com จะพามาเรียนรู้หลักการ Verification and Validation Confidence กระบวนการที่ช่วยสร้างความมั่นใจ ตรวจสอบซอฟต์แวร์ และความพร้อมใช้งานให้ซอฟต์แวร์ก่อนที่จะทำการ Launch ไปสู่ผู้ใช้ในวงกว้าง

การตรวจสอบซอฟต์แวร์ เปรียบเสมือนขั้นตอนสุดท้ายที่ช่วยการันตีคุณภาพของซอฟต์แวร์ก่อนส่งมอบให้ผู้ใช้งานต่อไป ~

ทำความรู้จัก Verification and Validation คืออะไร ?

สัญลักษณ์ V&V Software Testing ถูกย่อเพื่อให้จดจำได้ง่ายคือ การตรวจสอบ (Verification) และ การตรวจสอบความถูกต้อง (Validation) ถึงแม้ว่าความหมายของคำทั้งสองจะฟังดูคล้ายกัน แต่มีจุดประสงค์ที่แตกต่างกันในแง่ของมุมมองการใช้งาน

Verification and Validation
Verification and Validation

Verification ตรวจสอบซอฟต์แวร์ เพื่อให้มั่นใจได้ว่าซอฟต์แวร์ทำงานได้อย่างถูกต้องตามกระบวนการที่วิเคราะห์ และออกแบบระบบไว้ในช่วงเริ่มต้นพัฒนา หรือแม้แต่ข้อกำหนดต่างๆ การตรวจสอบจะประกอบไปด้วย

  • การตรวจสอบโค้ด (Code Reviews) : ให้ตรงตามมาตรฐานที่วางไว้ และสามารถระบุข้อผิดพลาดที่เกิดขึ้นได้ เพื่อที่จะดำเนินการแก้ไขให้เรียบร้อย
  • การใช้เครื่องมืออัตโนมัติเพื่อสำรวจโค้ด (Automated tools) : เป็นการค้นหาสาเหตุเบื้องหลังของปัญหาอัตโนมัติ เพื่อระบุจุดอ่อนที่อาจส่งผลต่อประสิทธิภาพตัวซอฟต์แวร์ทั้งในปัจจุบัน และอนาคต
  • การทดสอบส่วนย่อยของโค้ด (Unit Testing) : เพื่อยืนยันว่าการทำงานในแต่ละโมดูลย่อยของโค้ดที่พัฒนาขึ้นทำงานได้อย่างราบรื่นไม่สะดุด

ในขณะเดียวกัน Validation หรือการตรวจสอบความถูกต้องเช่นเดียวกัน แต่จะพูดถึงความต้องการ และความคาดหวังของผู้ใช้งานเป็นหลัก ว่าซอฟต์แวร์ที่ถูกพัฒนาขึ้นมาตรงตามวัตถุประสงค์ดังที่ตั้งใจไว้ในตอนแรกหรือไม่ ผู้ใช้งาน OK หลังจากได้ทดลองใช้งานมากน้อยแค่ไหน ? ซึ่งประกอบไปด้วยการทดสอบ ดังนี้

  • การทดสอบการยอมรับของผู้ใช้ ด้วยหลักการ UAT : ผู้ใช้งานทำการทดสอบใช้งานจริงกับแอปพลิเคชันเพื่อตรวจสอบว่าใช้งานได้ง่าย และตรงกับความต้องการ
  • การทดสอบประสิทธิภาพ : จำลองผู้ใช้งานพร้อมกันจำนวนมากๆ เพื่อประเมินประสิทธิภาพการรองรับการโหลดสูงสุดพร้อมกัน และวิเคราะห์กิจกรรมอื่นๆ เพิ่มเติมเพื่อป้องกันปัญหาที่อาจเกิดขึ้นล่วงหน้า ..
  • การทดสอบความปลอดภัย : จำลองการโจมตีของแฮ็กเกอร์เพื่อระบุช่องโหว่ที่อาจทำให้ข้อมูล หรือฟังก์ชันการทำงานเสียหายขณะที่ระบบกำลังดำเนินงาน
Easy to Use Software

หากยังนึกภาพไม่ออก ยก Case Study กันเลยดีกว่า !

สร้างความมั่นใจใน ระบบจองห้องประชุม ให้บริษัท Keancode Inc.
ระบบจองห้องประชุม Keancode Inc.

Scenario : Keancode Inc. กำลังพัฒนาระบบจองห้องประชุมออนไลน์สำหรับภายในองค์กรที่กำลังเติบโต โดยระบบที่ราบรื่นเสถียร และเชื่อถือได้ถือเป็นสิ่งสำคัญ เพื่อหลีกเลี่ยงความขัดแย้งในการใช้ห้องประชุมร่วมกัน

Verification :

  • Functional Testing : ทดสอบการทำงานฟังก์ชันทั้งหมด เช่น การค้นหาห้อง การจองในแต่ละช่วงเวลา การเชิญผู้เข้าร่วมประชุม การกำหนดสิทธิ์ และการยกเลิก เป็นต้น
  • Usability Testing : ประเมินอินเทอร์เฟซด้านผู้ใช้ และประสบการณ์การใช้งานของระบบ ว่าสามารถช่วยให้ผู้ใช้ค้นหา และจองห้องประชุมได้ง่าย ?
  • API Integration Testing : ระบบทำงานร่วมกัน API ที่เกี่ยวข้องได้อย่างราบรื่น ?

Validation :

  • Load Testing : จำลองการจองห้องประชุมในช่วงเวลาเดียวกัน (Peak time) เพื่อทดสอบความพร้อมในการใช้งาน และระยะเวลาการโหลดหน้าระบบ ทำให้มั่นใจได้ว่าระบบจะไม่ขัดข้อง หรือทำงานช้าลง
  • Performance Testing : วัดประสิทธิภาพการตอบสนองว่าระบบจ้องห้องประชุมสามารถทำงานในกรอบเวลาที่ยอมรับได้อย่างสม่ำเสมอ
  • Accessibility Testing : ระบบสามารถเข้าถึงได้สำหรับผู้ใช้ที่พิการ โดยเป็นไปตามมาตรฐานการเข้าถึง และง่ายต่อการใช้งาน

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

ช่วยเผยแพร่โหน่ย:
Verified by MonsterInsights