Dev Talk - Unit Testing
- Baifern
- Feb 11
- 1 min read
DevTalkเป็นกิจกรรมที่ H LAB เปิดโอกาสให้ Dev ทุกคนได้มาแบ่งปันความถนัดหรือเรื่องราวที่ตัวเองสนใจ เพิ่มพื้นที่แลกเปลี่ยน และทำให้ทุกคนรู้จักกันมากขึ้น
หัวข้อที่เราจะยกมาคุยในคอลัมน์ DevTalk นี้ก็คือ " Unit Testing " โดย ใบเฟิร์น แม่บ้านโค้ดดิ้งประจำ H LAB

อ่านตามหัวข้อ
Why Unit Testing
HLAB พัฒนาระบบ CORTEX ต่างๆ มานาน จนเกิดหลาย module หลาย application ย่อยๆ เช่น CORTEX-ER, Venti, OPD, Staff-Scheduling
เมื่อ application มีขนาดใหญ่ขึ้น code ที่เขียนๆกันมาก็เริ่มเยอะขึ้น
มีการแก้ไข application ทั้งแก้ application เก่า (fix bugs, enhancement) และสร้าง application ใหม่
มีการขยายทีม software development ทำให้มีคนมีส่วนร่วมในการแก้ไข code มากขึ้น
การแก้ไข code จุดๆหนึ่งอาจจะเกิดผลกระทบกับส่วนอื่นๆโดยที่เราไม่รู้ตัว หรืออาจจะ ทำให้ feature เดิมของ application ทำงานผิดไปจากเดิมได้
เราสามารถป้องกันเหตุการณ์นี้ได้ด้วยการทำ “unit testing”
เดิมเวลาแก้ไข application ทีม developer จะแจ้งทีม tester ว่ากระทบอะไรบ้าง เพื่อให้ ทางเทสเตอร์ได้ทำการทดสอบก่อนที่จะ deployment แต่ก็อาจจะสิ้นเปลืองทั้งเวลาและ effort ในการทดสอบ และอาจจะไม่การันตีว่า developer จะประเมินผลกระทบได้ครบถ้วน จริงๆ เนื่องจากปัจจุบัน application ของเราใหญ่และมีความซับซ้อนมาก
Unit Testing for Front-end
Web component
Web component คือ UI component ที่พัฒนาขึ้นมา (เช่น ปุ่มสวยๆ ใน CORTEX ที่มีใช้ซ้ำๆหลายๆที่ เพื่ออำนวยความสะดวกให้ developer สามารถเอาไป ใช้ได้เลย ไม่ต้องใช้เวลาเขียนใหม่)
การทำ unit testing สำหรับ web component จะเน้นที่
Component สามารถใช้งานได้ทั้งบน application ที่พัฒนาด้วย Angular และ พัฒนาด้วย React
แก้ไขแล้ว Component สามารถทำงานได้ถูกต้อง ถ้ามีการเปลี่ยนแปลง ส่วนที่ เปลี่ยนแปลงก็ต้องเป็นไปตามที่คาดไว้ โดยจะใช้ snapshot testing ช่วยดูว่าก่อนแก้ component กับหลังแก้ component มีเปลี่ยนแปลงตรงไหนบ้าง กระทบ component อื่นๆ หรือไม่
Application ที่พัฒนาด้วย React
เดิม HLAB ใช้ Angular ในการพัฒนา application ฝั่งที่เป็น front-end แต่ปัจจุบันเริ่มมีการพัฒนา application ใหม่ๆ ด้วย React
การทำ Unit Testing บน application ที่พัฒนาด้วย React จะเน้น 2 ส่วนคือ
การทดสอบ business logic ที่เขียนไว้บน front-end เช่น การคำนวณสรุปการควบ เวร ควงเวรใน staff-scheduling
UI Component บน React application ที่เอาไว้ใช้ซ้ำๆกัน หลายๆที่ เนื่องจาก ถ้าแก้ไปแล้ว อาจจะกระทบหลายๆ feature จึงควรมี unit test ไว้
Unit Testing for Back-end
HLAB พัฒนา application ฝั่ง backend ด้วย NestJS
Backend จะถูกพัฒนาแยกออกเป็นส่วนๆ เรียกว่า microservice แต่ละ microservice จะ แยกตาม function การใช้งาน เช่น Auth managment service ดูแลเรื่องการยืนยันตัวตน และสิทธิในการใช้งานระบบ, Patient service ดูแลเรื่องการจัดการข้อมูลของผู้ป่วย
สำหรับฝั่ง back-end นำเสนอการใช้ integration testing แทน unit test เพื่อให้การ ทดสอบแต่ละ function ครอบคลุมทุก module ที่เกี่ยวข้อง รวมทั้งทดสอบการเชื่อมต่อ แต่ละ module ว่าสามารถทำงานด้วยกันได้ถูกต้อง
H LAB เป็นผู้เชี่ยวชาญในการให้คำปรึกษา และพัฒนา Modern Cloud-Based Healthcare Platform สำหรับการบริหารจัดการในโรงพยาบาล พวกเรามีความตั้งใจในการพัฒนาระบบสุขภาพแบบมุ่งเน้นคุณค่า เพื่อเพิ่มศักยภาพในการให้บริการของโรงพยาบาล โดยมีเป้าหมายในการยกระดับคุณภาพการรักษาและการเข้าถึงระบบสาธารณสุขของประชาชนที่ทั่วถึงมากยิ่งขึ้น
Commenti