ทำความรู้จัก Unit Testing
Unit testing เป็นวิธีการทดสอบการทำงานของซอฟแวร์ในแต่ละหน่วย ซึ่งคำว่าหน่วยคือส่วนของการทำงานที่เล็กที่สุดที่สามารถทดสอบได้ ดำเนินการโดยใช้วิธีการทดสอบแบบ White Box Testing ถ้าเขียนซอฟแวร์ในรูปแบบเชิงวัตถุ หน่วยที่ทดสอบอาจจะเป็น method function หรือ module ก็ได้ โดยทั่วไปการทำงานของหน่วยที่นำมาทดสอบจะมีการรับค่าเข้าไปเพื่อประมวลผลแล้วส่งผลลัพท์ออกมา การทดสอบด้วย Unit testing จะตรวจสอบกระบวนการดังกล่าวว่าเป็นไปตามที่ออกแบบไว้หรือไม่
Unit testing ควรทำตอนไหน
Unit testing ควรทำเป็นลำดับแรกของการทดสอบและจะดำเนินการก่อนที่จะไปขั้นตอน Integration testing
Unit testing ใครเป็นคนทำ
โดยปกตินักพัฒนาซอฟแวร์ (Developer) หรือทีมจะเป็นผู้ดำเนินการ แต่บางครั้งก็อาจจะมอบหมายให้ Software Tester
ประโยชน์ของ Unit testing
- ช่วยค้นหาและลด Bug ที่จะก่อให้เกิดปัญหาลง
- เพิ่มความมั่นใจปรับหรือแก้ไขโค้ด หากทำ Unit testing ไว้ดีข้อผิดพลาดที่เกิดจากการแก้ไขโค้ดจะถูกดักจับได้ทันที
- พัฒนาซอฟแวร์ได้เร็วขึ้น บางคนอาจจะมองว่าการทำ Unit testing ต้องใช้เวลามากขึ้น แต่ถ้าคิดในระยะยาวที่ต้องมีการทดสอบซ้ำๆ
ระหว่างมี กับ ไม่มี Unit testing อย่างไหนจะใช้เวลาทดสอบมากกว่ากัน
- เป็นคู่มือทำให้ทราบการทำงานของแต่ละส่วน ต้องใส่ข้อมูลอะไรเข้าไปและจะออกมาเป็นอะไร
- เพิ่มความน่าเชื่อถือให้กับซอฟแวร์
Unit testing ที่ดีต้องมีอะไรบ้าง
- ครอบคลุมการทำงานที่สำคัญในทุกหน่วย
- ควรจะทำงานแบบอัตโนมัติและทำซ้ำได้
- ทำงานได้เร็ว
- ใช้งานง่าย ทุกคนควรจะสามารถใช้งานมันได้
- มีความน่าเชื่อถือ
เทคนิคการทำ Unit testing
- หาเครื่องมือ หรือ Framework สำหรับภาษาที่พัฒนา
- ไม่จำเป็นต้องสร้าง Unit testing ทุกหน่วย แต่มุ่งเน้นส่วนที่มีผลกระทบต่อระบบ
- ใช้ข้อมูลทดสอบที่มีความใกล้เคียงกับการใช้งานจริง
- ครอบคลุมทุกเส้นทางการทำงานส่วนที่เป็นเงื่อนไขและวนลูป
- ดำเนินการอย่างต่อเนื่องและสม่ำเสมอ
สามารถอ่านบทความที่เกี่ยวข้องเพิ่มเติมได้ ที่ ทำความรู้จักกับ Spring MVC Framework , ทำความรู้จักกับ Robot Framework
พัฒนาโปรแกรมบนเว็บ PHP บริการพัฒนา Joomla Extension พัฒนาและปรับแต่งเว็บบอร์ด phpBB