Monthly Archives: May 2016

Guideline ในการเขียนเทสของผม

ทุกๆครั้งเวลาที่จะเขียนเทสสิ่งที่ผมคิดอยู่เสมอคือ การเขียนเทสในลักษณะใดที่จะทำให้เทสสร้างความมั่นใจให้แก่เราได้สูงสุด ในขณะที่เทสนั้นมีต้นทุนต่ำที่สุด

แนวทางในการเขียนเทสให้ได้แบบนั้น มีดังนี้

  • เทสต้องรันได้เร็ว ถ้ามันช้าเราจะไม่อยากรัน ไม่อยากเขียนเพิ่ม
  • เทสต้องดูแลได้ง่าย ซึ่งหมายถึง
    • เขียนง่าย การ setup ต้องไม่ซับซ้อน
    • อ่านง่าย ชัดเจนว่าต้องการทดสอบอะไร
    • faill เมื่อควรจะ fail จริงๆ
    • ไม่ fail แบบ random
  • เขียนให้น้อยที่สุดที่ตราบที่เรายังมั่นใจเวลาเราจะแก้โค้ด ตราบที่เรายังมั่นใจเวลาเราจะ deploy
    • ยิ่งปริมาณเทสเยอะยิ่งมีแต่วันที่มันจะรันช้าลง
    • ถ้าเราไม่เทสตรงนี้ ความเสียหายคืออะไร เรายอมรับได้มั้ย ถ้าเราพบภายหลังสามารถแก้ไขได้ยากหรือง่ายเพียงใด
    • บางจุดที่ถ้ามันมี error หรือ bug เราจะรู้หรือเห็นได้ทันที ผมก็ไม่เขียนเทส
Advertisements