Level of Software Testing มีอะไรบ้าง?
Level การ Test คืออะไรนะ ใครเป็นทดสอบ และทดสอบอะไรบ้าง ?
การทดสอบระบบถือเป็นเรื่องสำคัญหลังจากที่ผู้พัฒนาโปรแกรมได้ทำการพัฒนาระบบออกมาแล้วซึ่งก่อนที่เราจะส่งมอบงานให้กับลูกค้า จะต้องทำการทดสอบหาข้อผิดพลาด และทดสอบประสิทธิภาพการใช้งานของระบบ รวมถึงความถูกต้องที่ต้องตรงต่อความต้องการของลูกค้า ซึ่งก็คือ Requirement นั่นเอง
แล้วต้องทดสอบถึงขั้นไหน ? แบ่งการทดสอบเป็นแบบไหนได้บ้าง ? ในบทความนี้จะพูดถึงความหมายและขั้นตอนของแต่ละ Level กันค่ะ
Level Software Testing แบ่งได้เป็น 4 Level
- Module Testing หรือ Unit Testing
- Integration Testing
- System testing
- User Acceptance Testing
Module Testing หรือ Unit Testing
เป็นการทดสอบหลังจากที่ผู้พัฒนาโปรแกรมได้เขียนโปรแกรมตามที่ได้รับมอบหมายเสร็จสิ้น โดยจะตรวจสอบหาข้อบกพร่องและโครงสร้างของโปรแกรมว่าทำงานได้ถูกต้องหรือไม่ การเขียน Unit Test เป็นวิธีการนึงที่จะทำให้เรามั่นใจได้ว่า ส่วนของโปรแกรมที่เล็กๆนั้นมันทำงานได้ถูกต้อง และเมื่อเกิดปัญหาจะได้มีการปรับปรุงแก้ไข Code ให้มีคุณภาพยิ่งขึ้น
ใครเป็นผู้ทดสอบ : โปรแกรมเมอร์ ผู้พัฒนาระบบ
Integration Testing
เป็นการทดสอบการทำงานของ Module โปรแกรมทั้งหมด โดยทำการทดสอบในแต่ละ Function/Module ว่าสามารถทำงานได้หรือไม่ มีผลกระทบอะไรหรือไม่ ในส่วนนี้จะใช้วิธีการทดสอบที่หลายหลายวิธีในการทดสอบ การ Test ระดับนี้จะแสดงให้บุคคลอื่นที่ไม่ใช่โปรแกรมเมอร์ได้เห็นว่าระบบทั้งหมดสามารถทำงานร่วมกันได้
ใครเป็นผู้ทดสอบ : Tester
System testing or System integration testing (SIT)
System Testing : เป็นการทดสอบระบบหรือโปรแกรมโดยดูภาพรวมของการทำงาน ว่ามีการตอบสนองความต้องการทั้งในส่วนของฟังก์ชันการทำงานและประสิทธิภาพการทำงาน ว่าสอดคล้องกับความต้องการของลูกค้า (requirement specification)หรือไม่
ใครเป็นผู้ทดสอบ : Tester
User Acceptance Testing
เป็นกระบวนการทดสอบระบบก่อนใช้งานจริง เปรียบเทียบประสิทธิภาพของระบบกับความต้องการของลูกค้า โดยอ้างอิงจาก Requirement ที่ได้ ว่าตรงตาม Business Flow จริงๆของลูกค้า ขั้นตอนนี้ ผู้ใช้งานจริงๆ จะเข้ามามีส่วนร่วมในการทดสอบระบบก่อนที่จะใช้งานจริง ว่ามีส่วนไหนไม่เหมาะสมกับความต้องการหรือไม่ และทดสอบ Environment ที่ใกล้เคียงกับ Production มากที่สุด
ใครเป็นผู้ทดสอบ : User , Tester (บางองค์กร Tester Test พร้อมลูกค้าไปด้วยเลย)
“Level การทดสอบ เป็นการทดสอบระบบเพื่อให้เเน่ใจว่าระบบนั้นสามารถนำไปใช้ได้จริง และไม่ผิดวัตถุประสงค์”
สุดท้ายนี้ทุกคนคงได้ทราบถึง ขั้นตอน ความหมาย และใครเป็นผู้รับผิดชอบในแต่ละ Level ของการทดสอบ แล้วนะคะ ที่นี้ก็นำไปปรับใช้ให้เข้ากับการทำงานของทุกคนดูนะคะ :)