SE CORNER

EP63 - Test Doubles คืออะไรและควรใช้อย่างไร? - คำแนะนำจากหนังสือ Software Engineering at Google


Listen Later

EP นี้เล่าเรื่องจาก Chapter 13 ในหนังสือ Software Engineering at Google เรื่อง Test Doubles หรือ การใช้ตัวแทนของ implementation หรือ API บางส่วนที่จำเป็นในการเทสต์ เพื่อทำให้การทดสอบนั้นเป็นไปได้อย่างรวดเร็วและสะดวกมากขึ้น

ส่ิงที่น่าสนใจคือ Google เชื่อว่า เราไม่ควรใช้ test doubles เยอะๆ เพราะมักจะนำไปสู่ปัญหาในการดูแลรักษาภายหลัง รวมถึงเทสต์ที่ใช้ test doubles ก็ไม่ค่อยมีประโยชน์ในการหาบั๊กสักเท่าไหร่ด้วย คำแนะนำจาก Google คือ เราควรเลือกใช้ implementation จริงเป็นหลักก่อน แล้วค่อยพิจารณาปัจจัยดังต่อไปนี้เมื่อจำเป็นจะต้องตัดสินใจว่าจะใช้ test doubles หรือไม่

  1. Execution time: เวลาในการทำงานของ implementation หรือ API บางตัว หากว่านานเกินไปจะทำให้ test suite ช้าลงได้มาก จึงอาจจะต้องเปลี่ยนเป็น test doubles
  2. Determinism: implementation หรือ API บางตัว มีความไม่แน่นอนในการทำงาน หรือ ความไม่แน่นอนที่มาจาก network connection จึงอาจจะต้องพิจารณาเปลี่ยนโค้ดส่วนนั้นเป็น test doubles เช่นกัน
  3. Dependency construction: implementation หรือ API บางตัว มี dependency เยอะ ทำให้เสียเวลาในการเซ็ตอัพ จึงอาจจะสะดวกกว่าที่จะเปลี่ยนเป็น test doubles
  4. รายละเอียดจะเป็นอย่างไร ไปฟังกันใน EP นี้ครับ

    ...more
    View all episodesView all episodes
    Download on the App Store

    SE CORNERBy Chaiyong Ragkhitwetsagul