จากบทความเรื่อง Modernizing Testing Practices for Jakarta EE Projects นั้น
มีแนวทางการทดสอบระบบงานที่น่าสนใจ
มีการปรับเปลี่ยนแนวคิดของการทดสอบ เพื่อให้เข้ากับสิ่งที่เปลี่ยนไป
โดยทั้ง developer และ quality engineer จะต้องทำงานร่วมกัน
มีการกำหนดขั้นตอนการทำงาน
มีการ approach และ guildeline การทดสอบไว้ให้ชัดเจน
รวมทั้งเครื่องมือ และ ชุดของ library อีกด้วย
ดังนั้นจึงทำการสรุปสิ่งที่น่าสนใจ เอาไว้นิดหน่อย

มีสิ่งที่สำคัญมาก ๆ สำหรับ Testing Methodologies
เพื่อช่วยให้ project มีความน่าเชื่อถือมากยิ่งขึ้น
ประกอบไปด้วย

เรื่องที่ 1 Test guideline

เป็นเอกสารสรุปการทดสอบอย่างชัดเจน
เพื่อให้ทีม และ คนที่เข้ามาร่วม contribute อ่านก่อน
ดังนั้นยิ่งทีมใหญ่ขึ้น เอกสารเหล่านี้จึงสำคัญมาก ๆ

ยกตัวอย่างเช่น

  • การกำหนดเครื่องมือที่ใช้งาน
  • การตั้งชื่อ
  • การเขียนชื่อ test case

เรื่องที่ 2 กำหนด หรือ ใช้งาน modern library

เพื่อช่วยให้ชุดการทดสอบนั้นมีประสิทธิภาพยิ่งขึ้น
อ่านเข้าใจได้ง่าย
สามารถทดสอบระบบงานที่ใช้ feature ใหม่ ๆ ได้
ยกตัวอย่างมีการใช้งาน advance feature ของ JUnit5 และ AssertJ
และแนะนำให้ใช้งาน soft assertion มากกว่า hard assertion

เรื่องที่ 3 นำเอา Data-Driven มาใช้งาน ในการทดสอบ

ซึ่งช่วยให้การทดสอบครอบคลุมในส่วนของ edge case ต่างๆ
รวมทั้งพวก bug หรือ issue ต่าง ๆ อีกด้วย
รวมทั้งจากการใช้งาน ช่วยให้ทีมเข้าใจมากยิ่งขึ้น
เช่นการใช้งาน @ParameterizedTest เป็นต้น

เรื่องที่ 4 ทำการตรวจสอบที่ละเอียด และ ครอบคลุม

ให้ทำการ assert พฤติกรรมการทำงานของ project ให้ละเอียด
เพื่อทำให้คุณภาพของ project ตรงตาม standard ที่ตั้งเอาไว้

เรื่องที่ 5 ปรับปรุง test coverage ให้ดีขึ้น

จะใช้เครื่องมือทั้ง PiTest, Jacoco และ Cobertura
สำหรับตรวจสอบว่า code ส่วนไหนใน project จำเป็นต้องมีการปรับปรุงเรื่อง coverage ให้ดีขึ้น

เรื่องที่ 6 Container for testing

มีการนำ container เข้ามาช่วยสร้าง environment สำหรับการทดสอบ
เพื่อให้การทดสอบมีคุณภาพ มีความถูกต้อง และ น่าเชื่อถือ
รวมทั้งยังช่วยให้สามารถ reproduce ในแต่ละ case ได้ง่ายอีกด้วย
เช่น test container เป็นต้น

ลองนำไปประยุกต์ใช้งานกันดูครับ