18 ก.ย. 2022 เวลา 02:00 • วิทยาศาสตร์ & เทคโนโลยี
EP60 - หลักการ Unit Testing แบบ Google ตอนที่ 2 - คำแนะนำจากหนังสือ Software Engineering at Google
.
EP นี้มาคุยต่อเนื่องเรื่องการเขียน unit testing แบบ Google ครับ โดยจะเน้นไปที่หลักการเขียนเทสต์ให้มีความชัดเจน (Clarity) โดยเทสต์ที่มีความชัดเจนจะมีประโยชน์ทั้งในแง่การ maintenance และในแง่การตรวจหาบั๊กที่เจอด้วยเทสต์นั้นๆ ด้วย
.
หลักการที่หนังสือ Software Engineering at Google แนะนำ เพื่อให้เทสต์มีความชัดเจนที่สุด มีดังต่อไปนี้
.
1. Make Your Tests Complete and Concise ยึดหลักสองอย่างคือ เทสต์ต้องมีข้อมูลสมบูรณ์ในตัวเอง (complete) และไม่มีข้อมูลอื่นที่ไม่จำเป็น (concise)
2. Test Behaviors, Not Methods เปลี่ยนแนวคิดว่าเราทดสอบไปที่การทำงานของโค้ด (behaviours) ที่ต้องการ ไม่ใช่สร้างเทสต์ตามจำนวน method ที่มี
3. Don't Put Logic in Tests หลีกเลี่ยงการใส่ logic ทั้งหลาย (if-else, loop, หรือแม้แต่การต่อสตริง) เพราะทำให้เทสต์มีความซับซ้อน เข้าใจได้ยาก และเสี่ยงต่อการมีบั๊ก (ในเทสต์)
4. Write Clear Failure Messages เขียน failure message ให้ชัดเจน มีเนื้อหาครบถ้วนเพียงพอที่จะไปดีบั๊กต่อได้ง่ายๆ
5. DAMP, Not DRY มีโค้ดซ้ำบางส่วนได้บ้างในเทสต์ หากมันช่วยให้เทสต์ตรงไปตรงมา และเข้าใจได้ง่ายขึ้น
6. Shared Values, Shared Setup การมีตัวแปรที่ใช้ร่วมกัน หรือ setup methods ควรทำให้ชื่ออ่านเข้าใจง่าย และมีวิธีที่จะ override ค่าตั้งต้นใน setup method ได้
.
รายละเอียดจะเป็นอย่างไร ไปฟังกันใน EP นี้ครับ
.
อ่านหนังสือ Software Engineering at Google: https://abseil.io/resources/swe-book
.

ดูเพิ่มเติมในซีรีส์

โฆษณา