ระดับการทดสอบซอฟต์แวร์ (Level Software Testing)
ระดับการทดสอบซอฟต์แวร์ (Level Software Testing) คือ การจัดขั้นตอนการทดสอบของซอฟต์แวร์ โดยจะรวมวิธีการทดสอบระบบโดยจะเเบ่งเป็น 6 ระดับได้แก่ การทดสอบโมดูล การทดสอบภาพรวม การทดสอบฟังก์ชัน การทดสอบประสิทธิภาพ การทดสอบการยอมรับ และการทดสอบการติดตั้งระบบ
ระดับการทดสอบซอฟต์แวร์ สามารถแบ่งระดับการทดสอบได้ดังนี้
- การทดสอบโมดูลหรือทดสอบหน่วย (Module Testing หรือ Unit testing)
- การทดสอบภาพรวม (Integration Testing)
- การทดสอบฟังก์ชัน (Functional testing)
- การทดสอบประสิทธิภาพ (Performance Testing)
- การทดสอบการยอมรับ (Acceptance Testing)
- การทดสอบการติดตั้ง (Installation Testing)
การทดสอบโมดูลหรือทดสอบหน่วย (Module Testing หรือ Unit Testing)
เป็นการทดสอบหลังจากที่ผู้พัฒนาโปรแกรมได้เขียนคำสั่งโปรแกรมตามที่ได้รับมอบหมายเสร็จสิ้น ประกอบด้วย
- การทบทวนโปรแกรม (Program Review) เป็นกระบวนการทบทวนคำสั่งโปรแกรมและเอกสารที่โปรแกรมเมอร์พัฒนาขึ้น
- การพิสูจน์ความถูกต้องของโปรแกรม (Proving Programs Correct) เป็นการทดสอบข้อเท็จจริงทางโครงสร้างของโปรแกรม พิจารณาตรรกะการทำงานตามคำสั่งของโปรแกรม
- การทดสอบโปรแกรม (Testing Programs) เป็นการตรวจสอบความถูกต้องของโปรแกรมในมุมมองที่แต่กต่าง กลยุทธ์ของการทดสอบในลักษณะนี้เรียกว่ากล่องขาว (White Box)
การทดสอบรวม (Integration Testing) เป็นการทดสอบการทำงานของโมดูลโปรแรกมทั้งหมด โดยนำโมดูลทั้งหมดมาทดสอบรวมกัน ประกอบด้วย
- วิธีการจากล่างขึ้นบน (Bottom - up Approach) โมดูลในระดับล่างสุดถูกทดสอบก่อนต่อจากนั้นเรียกโมดูลในลำดับชั้นที่อยู่ก่อนนำมาทดสอบรวมกัน
- วิธีจากบนลงล่าง (Top - down Approach) โมดูลระดับชั้นบนสุดซึ่งจะทดสอบก่อนจากนั้นโมดูลในลำดับชั้นถัดมาจะถูกเรียกเพื่อรวมและทดสอบเป็นหน่วยใหญ่ขึ้น
- วิธีการบิก - แบง (Big - Bang Approach) นำทุกโมดูลในระบบทั้งหมดทดสอบแยกออกจากกัน ต่อจากนั้นจึงนำโมดูลทั้งหมดมารวมกันเพื่อทดสอบรวม
การทดสอบฟังก์ชัน (Function Testing) เป็นการทดสอบมุ่งเน้นไปที่การทำงานตามที่ลูกค้าต้องการนโดยตรวจสอบจากเอกสารระบุความต้องการ
การทดสอบประสิทธิภาพ (Performance Testing) เป็นการเปรียบเทียบโมดูลที่ผ่านการทดสอบรวม (Integrated Module) กับความต้องการที่ไม่เป็นฟังก์ชัน (Non Function Requirement) โดยการทดสอบสามารถกระทำในสภาพแวดล้อมผู้ใช้งานจริง ประกอบด้วย
- การทดสอบความตึงเครียด (Stress Test) เป็นการทดสอบความสามารถของระบบเมื่อเกิดความตึงเครียดในช่วงเวลาสั้น ๆ
- การทดสอบปริมาณ (Volume Test) เป็นการทดสอบปริมาณของข้อมูลที่มากที่สุดที่ระบบสามารถจัดการได้
- การทดสอบความเข้ากันได้ (Compatibility Test) เป็นการทดสอบที่จำเป็นสำหรับระบบที่มีการปฏิสัมพันธ์กับระบบอื่น
- การทดสอบความปลอดภัย (Security Test) เป็นการทดสอบความปลอดภัยของระบบ
- การทดสอบระยะเวลา (Timing Test) เป็นการประเมินผลเวลาในการประมวลผลการทำงานและตอบสนองต่อผู้ใช้งาน
- การทดสอบการกู้คืน (Recovery Test) เป็นการทดสอบการตอบสนองของระบบกรณีเกิดข้อผิดพลาด การสูญหายของข้อมูล อุปกรณ์ เพื่อให้เห็นว่าระบบสามารถกูคืนได้อย่างถูกต้อง
การทดสอบการยอมรับ (Acceptance Testing) เป็นการเปรียบเทียบประสิทธิภาพของระบบกับความคาดหวังของลูกค้า โดยตรวจสอบจากเอกสารกำหนดความต้องการ (Requirement Definition Document) ประกอบด้วย
- ทดสอบเกณฑ์มาตรฐาน (Benchmark Test) ลูกค้าจะเตรียม Test Case ซึ่งแทนการปฏิบัติงานของระบบจริง ๆ ลูกค้าจะทดสอบประสิทธิภาพของระบบในแต่ละกรณีทดสอบ
- ทดสอบแบบขนาน (Parallel Test) ในกรณีที่พัฒนาระบบใหม่แทนที่ระบบปัจจุบันหรือระบบใหม่เป้นส่วนหนึ่งของระยะของการพัฒนา (Phase Development) การทดสอบแบบขนานเป็นวิธีหนึ่งที่เหมาะสมเพราะเป็นวิธีการทดสอบที่ทำให้ผู้ใช้คุ้นเคยกับระบบใหม่ก่อน
- ทดสอบนำร่อง (Pilot Test) เป็นการทดสอบบนพื้นฐานของการทดสอง โดยผู้ใช้ทำการทดสอบฟังก์ชันทั้งหมดที่ต้องทำงานเป็นประจำทุก ๆ วัน เหมาะสำหรับระบบที่มีปรับปรุงหรือแก้ไขการทำงานของระบบเดิม อาจแบ่งการทดสอบเป็นรอบ ดังนี้ การทดสอบรอบแรก (Alpha Test) และการทดสอบรอบสอง (Beta Test)
- การทดสอบรอบแรก (Alpha Test) การนำเอาโปรแกรมไปให้ผู้ใช้ทดลองใช้โดยข้อมูลสมมุติ เพื่อให้ผู้ใช้ตรวจสอบเบื้องต้น
- การทดสอบรอบสอง (Beta Test) การนำเอาโปรแกรมไปให้ผู้ใช้ทดลองใช้เป็นครั้งที่สอง โดยใช้ข้อมูลจริงภายใต้สถานการณ์จริงในการทดสอบ
การทดสอบการติดตั้ง (Installation Testing) เป็นการทดสอบระบบเพื่อให้แน่ใจว่าสามารถทำงานได้จริง โดยทดสอบการติดตั้งระบบในสภาพแวดล้อมจริงบนอุปกรณ์ต่าง ๆ รวมทั้งการจัดการแฟ้มข้อมูล การกำหนดการเข้าถึงฟังก์ชันและข้อมูล การติดต่อสื่อสารกับอุปกรณ์อื่นได้ โดยมุ่งไปที่ความสมบูรณ์ (Completeness) ของการติดตั้งระบบและการตรวจสอบ (Verification) คุณลักษณะที่เป็นฟังก์ชัน (Function Requirement) และไม่เป็นฟังก์ชัน (Non Function Requirement) ที่ส่งผลต่อสถานที่ติดตั้ง
ระดับการทดสอบโปรแกรม เป็นการทดสอบระบบเพื่อให้เเน่ใจว่าระบบนั้นสามารถนำไปใช้ได้จริง โดยการทดสอบการติดตั้งสภาพเเวดล้อมจริงบนอุปกรณ์ต่าง ๆ รวมทั้งการจัดการแฟ้มข้อมูล การกำหนดการเข้าถึงของฟังก์ชัน เพื่อให้ระบบมีความพร้อมในการใช้งาน
ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป