การทดสอบซอฟแวร์

จากวิกิพีเดีย สารานุกรมเสรี

การทดสอบซอฟแวร์ (อังกฤษ: Software testing) เป็นกระบวนการเพื่อช่วยให้ซอฟต์แวร์ที่พัฒนามี ความถูกต้อง, ความสมบูรณ์, ปลอดภัย, และมีคุณภาพที่ดี

การทดสอบ เป็นกระบวนการทดลองใช้ซอฟต์แวร์อย่างมีแนวทาง โดยใชความรู้ทางด้านเทคนิค เพื่อให้สามารถระบุหรือค้นหาความผิดพลาด(error)ของซอฟแวร์ที่อาจจะซ่อนอยู่ให้ปรากฏออกมา และสามารถระบุถึงแนวทางการเกิดปัญหา พร้อมสมมุติฐานของความผิดพลาดที่เกิดขึ้นได้

[แก้] แนวทางการทดสอบ

แนวทางการทดสอบมีหลายวิธีการ แนวทางหนึ่งที่สามารถทำได้ดีคือ กระบวนการตั้งคำถามต่อซอฟต์แวร์ เพื่อดำเนินการทดสอบและประเมินตัวซอฟต์แวร์ ว่าสามารถตอบคำถามที่ตั้งไว้ได้อย่างถูกต้องหรือไม่

  • คำถาม มักหมายถึง เหตุการณ์หรือวิธีการที่จะกระทำกับตัวซอฟต์แวร์
  • คำตอบ มักหมายถึง ผลลัพธ์ที่พฤติกรรมของซอฟต์แวร์ต่อคำถามที่เกิดขึ้น

คุณภาพของซอฟต์แวร์ที่สามารถทดสอบได้ ได้แก่

  • reliability - ความน่าเชื่อถือ
  • efficiency - ประสิทธิภาพ
  • portability - ความสามารถในการเคลื่อนย้าย
  • maintainability - ความสามารถในการดูแลรักษา
  • compatibility - ความสามารถเข้ากันได้
  • usability - สามารถใช้ได้ง่ายเข้าใจได้ง่าย

[แก้] รูปแบบการทดสอบ

  • Unit test - เป็นการทดสอบในระดับ function call เพื่อเป็นการยืนยันการทำงานระดับย่อยที่สุดว่าทำงานได้ถูกต้อง เป็นการทดสอบโดยโปรแกรมเมอร์ผู้เขียนโค๊ด
  • Integration test - เป็นการทดสอบการเชื่อมต่อส่วนย่อยๆ(Component หรือ Module)ที่นำมาประกอบกัน ให้ได้ซอฟต์แวร์ที่สมบูรณ์
  • System test - เป็นการทดสอบการเชื่อมต่อหรือติดต่อสื่อสารกันระหว่างซอฟต์แวร์ หรือระบบอื่นๆ
  • Acceptant test - เป็นการทดสอบโดยผู้ใช้ (End user) หรือโดยลูกค้า เพื่อดูว่าซอฟต์แวร์ทำงานถูกต้องตามต้องการหรือไม่
  • Usability test - เป็นการทดสอบการใช้งานซอฟต์แวร์โดยผู้เชียวชาญส่วนติดต่อผู้ใช้ ว่าใช้งานได้ง่าย เข้าใจได้ง่าย หรือไม่

[แก้] ขั้นตอนการทดสอบ

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

  1. วิเคราะห์ความต้องการ
  2. จัดทำแผนงานการทดสอบ
  3. จัดทำแนวทางการทดสอบ
  4. ทดสอบจริง
  5. รายงานผลการทดสอบ
  6. ทดสอบผลจากการแก้ไข
เครื่องมือส่วนตัว

สิ่งที่แตกต่าง
การกระทำ
ป้ายบอกทาง
มีส่วนร่วม
พิมพ์/ส่งออก
เครื่องมือ
ภาษาอื่น