Case 11

4 ปีมีครั้ง
โดยเป็นปัญหาของระบบในเรื่องของวันที่ ซึ่งจะเกิดขึ้นประมาณ 4 ปีถึงจะมีซัก 1 ครั้ง และมันจะเกิดอีกครั้งคือ 2016 ครับ

ซึ่งครั้งก่อนที่เกิดคือ วันที่ 29/02/2012 หรือ 29/02/2555 นั่นเองครับ
ปัญหานี้เกิดจาก การแปลงวันที่เข้าไปในฐานข้อมูล โดยลืมตรวจสอบเรื่องของปีที่จัดเก็บในฐานข้อมูลว่าเป็นปี พ.ศ. หรือ ปีค.ศ. ครับ

ส่งผลคือ ใส่วันที่ 29/02/2012 ไปในฐานข้อมูล ใน column ของวันที่ที่จัดเก็บ พ.ศ. ซึ่งก็คือไม่มีวันที่ 29 เดือนกุมพาพันธ์ ปีพ.ศ. 2012 ทำให้เกิด error ขึ้น ผลกระทบส่งผลให้วันนั้นระบบจะผิดพลาดครับ แต่วันรุ่งขึ้นเป็นปกติ
เพราะฉะนั้น เวลา Unit Test, Integration Test, System Test, UAT ควรจะต้องคำนึงถึงเรื่องนี้ด้วยนะครับ