Thursday, 11 September 2025

Unit Test – SIT-UAT คืออะไร ?

30 Aug 2025
37

ให้ย้อนกลับไปเมื่อ 7-8 ปีก่อน สมัยเมื่อตอนวัยรุ่น ซึ่งตอนนั้นมี passion ที่อยากจะทำงานเป็น admin ได้ดูแล server computer ในห้อง datacenter ซึ่งก็ได้อย่างหวัง ตอนนั้นก็สนุกมาก ซึ่งได้มีส่วนเปลี่ยนระบบเดิมเป็นระบบใหม่ คือ ระบบ simple click ของธนาคารสีเหลืองย่านพระราม 3 ซึ่งตอนนั้นก็ไม่ค่อยสนใจนักหรอกว่าทำงานขั้นตอนไหน เขาให้ทำๆก็ทำๆไป ซึ่งพอมาถึงวันนี้ มาเจองานใหม่ใน กทม. ซึ่งไม่มีระบบแบบเดิมอีกแล้ว เราก็ต้องมานั่งไล่กันว่า จะทำอย่างไรดีให้ที่ทำงานเราเป็นระบบระเบียบ มีมาตราฐาน และระบบสำรองรองรับการทำงาน 24*7

ธ.กรุงศรี พระรามที่ 3

ธ.กรุงศรี พระรามที่ 3

ในสายงาน Banking / Financial System การทดสอบจะเข้มงวดกว่าบริษัททั่วไปมาก เพราะระบบมีความเกี่ยวข้องกับ เงิน, ความปลอดภัย, ความถูกต้องของข้อมูล และมักจะต้องผ่าน มาตรฐานสากล (ISO, PCI-DSS, IT Governance) ด้วย ผมสรุปเป็นลำดับมาตรฐานหลัก ๆ ของ การทดสอบซอฟต์แวร์ในธนาคาร ให้ครับ 👇


🏦 มาตรฐานการทดสอบระบบในธนาคาร (Banking Test Standard)

1. Unit Test

  • นักพัฒนาต้องทำทุกครั้งก่อน commit โค้ด

  • มักมี Code Coverage Requirement เช่น ≥ 70–80%

  • เครื่องมือที่ใช้: JUnit, NUnit, Jest ฯลฯ


2. Integration Test (DEV Test)

  • ทดสอบการเชื่อมต่อโมดูลต่าง ๆ ที่ทีมพัฒนาเขียน

  • ในธนาคารมักจะมี Service Layer / Middleware เช่น API Gateway, MQ

  • ต้องทดสอบทั้ง Functional (ทำงานถูกต้อง) และ Non-Functional (Latency, Timeout)


3. System Integration Test (SIT)

  • ขั้นตอนบังคับในธนาคาร

  • ต้องทดสอบ end-to-end ระหว่างระบบย่อย เช่น

    • Core Banking ↔ Internet Banking ↔ Mobile Banking

    • ระบบบัตรเครดิต ↔ Payment Gateway ↔ Third-party

  • อาจมี Data Masking (ใช้ข้อมูลจำลองแทนข้อมูลจริง)


4. UAT (User Acceptance Test)

  • ทำโดย Business User / ลูกค้าฝั่งธนาคาร ไม่ใช่ Developer

  • ต้องใช้ Test Case ตาม Business Requirement

  • โค้ดที่ส่ง UAT ต้อง frozen (ไม่แก้ไขนอกจาก Bug Critical)

  • ถ้าไม่ผ่าน UAT → ห้าม Deploy


5. Regression Test

  • ทุกครั้งที่มีการแก้ไขโค้ดในระบบธนาคาร ต้องรัน Regression Test เพื่อมั่นใจว่า ของเดิมไม่พัง

  • มักจะใช้ Automated Testing Tools เช่น Selenium, Tosca, Robot Framework


6. Performance Test (Load/Stress Test)

  • มาตรฐานบังคับของธนาคาร เนื่องจากผู้ใช้จำนวนมาก (Peak Transaction เช่น วันที่เงินเดือนเข้า)

  • ทดสอบ Load Test, Stress Test, Soak Test

  • ใช้เครื่องมือเช่น JMeter, LoadRunner

  • ตัวชี้วัด: Response Time ≤ SLA, Throughput รองรับตามปริมาณธุรกรรมที่คาดการณ์


7. Security Test (Penetration Test / Vulnerability Assessment)

  • Critical Test ในสายธนาคาร

  • ต้องทำทั้ง VA (Vulnerability Assessment) และ PT (Penetration Test)

  • ตรวจสอบตามมาตรฐาน:

    • OWASP Top 10 (Web/Mobile App)

    • PCI-DSS (กรณีเกี่ยวข้องกับบัตรเครดิต)

    • ISO 27001 (Information Security Management)


8. DR Test (Disaster Recovery Test)

  • เป็นมาตรฐานพิเศษของธนาคาร

  • ต้องพิสูจน์ว่า หากระบบ Production ล่ม ยังสามารถสลับไปใช้ DR Site ได้จริง

  • มักจะจัดปีละ 1–2 ครั้ง


9. Production Verification Test (PVT / Smoke Test)

  • หลัง Deploy ไป Production แล้ว ทีมต้องทำ Sanity Test หรือ Smoke Test เพื่อตรวจสอบว่า:

    • Login ได้

    • Transaction ทำงานได้

    • Report ถูกต้อง


✅ สรุป:
มาตรฐานการทดสอบของธนาคารจะประกอบไปด้วย Unit → Integration → SIT → UAT → Regression → Performance → Security → DR → PVT
โดยที่ SIT, UAT, Performance, Security, DR Test ถือเป็น Mandatory Test ที่ธนาคารทุกแห่งต้องมี

ตอนทำงาน แล้วเก้าอี้หาย

ตอนทำงาน แล้วเก้าอี้หาย

รับรางวัลจาก คุณบุญเอื้อ จิตรถนอม svp ในสมัยนั้น

รับรางวัลจาก คุณบุญเอื้อ จิตรถนอม svp ในสมัยนั้น