tdd Archive

ความเข้าใจผิดเกี่ยวกับ Unit test คือทำแล้วไม่มี Bug !!

เมื่อหลายวันก่อนพูดคุยเกี่ยวกับ Unit testing เลยได้มีโอกาสแลกเปลี่ยนมุมมองต่อการเขียนและการนำมาใช้งานนิดหน่อย ซึ่งสิ่งหนึ่งที่น่าสนใจคือ ความเข้าใจผิด ยกตัวอย่างเช่น ถ้าเรามี Unit tests แล้ว bug ของระบบจะไม่มี ถ้าเรามี Unit tests แล้วคุณภาพของระบบต้องดีแน่ ๆ รวมทั้ง code ด้วย ถ้า Unit tests มันไม่มีประโยชน์อะไร ก็ไม่ต้องทำ เลยนำมาอธิบายไว้นิดหน่อย

Read More…

[แปล] ว่าด้วยเรื่องของการ Reactoring React App ตอนที่ 2

ต่อจากตอนที่ 1 อธิบายเรื่องของการพัฒนาระบบและเขียนการชุดสอบสำหรับ React app ในตอนที่ 2 จะมาอธิบายเรื่อง การปรับปรุงโครงสร้าง code ให้อยู่ในรูปแบบ ELM Architecture ซึ่งมีส่วนการทำงานดังนี้ View Model Update จากนั้นลงมือปรับปรุง code ทีละส่วน แน่นอนว่า ต้องมีชุดการทดสอบด้วยเสมอ ดังนั้นมาเริ่มกันเลย

Read More…

[แปล] ว่าด้วยเรื่องของการ Refactoring React App ตอนที่ 1

เข้าไปอ่านบทความเรื่อง Refactoring React จาก 8thlight  มา ทำการอธิบายเกี่ยวกับการ Refactor หรือการปรับปรุงโครงสร้างของระบบที่พัฒนาด้วย React จาก React แบบปกติ ไปจนถึง ELM Architecture มีความน่าสนใจและมีประโยชน์ต่อการพัฒนาระบบงานอย่างมาก จึงทำการแปลและสรุปเพื่อเก็บไว้อ่าน รวมทั้งฝึกการเขียน code และชุดการทดสอบไปในตัวอีกด้วย

Read More…

แนะนำเทคนิคสำหรับการเขียน Test ด้วยภาษา Go

มีโอกาสไปแบ่งปันเรื่อง TDD with Golang สำหรับผู้เริ่มต้น ตั้งแต่การติดตั้ง เริ่มทำความรู้และเข้าใจเกี่ยวกับพื้นฐานของภาษา Go จากนั้นจึงเริ่มแนะนำการเขียน Test จนไปถึง Testable code ด้วยภาษา Go แต่สิ่งที่อยากสรุปไว้นิดหน่อยคือ เทคนิคสำหรับการเขียน Test ด้วยภาษา Go มาดูกันว่ามีอะไรที่น่าสนใจบ้าง

Read More…

สวัสดีภาษา Elm ด้วย Fizzbuzz

ช่วงนี้ลองศึกษาภาษาโปรแกรมใหม่ ๆ เล่นดูบ้าง หนึ่งในนั้นคือ ภาษา Elm ซึ่งมีความสามารถที่น่าสนใจ เช่น JavaScript Interop No runtime exception (อันนี้น่าสนใจมาก ๆ) Great performance Enforced somatic versioning ดังนั้นลองมาเรียนรู้ภาษา Elm ด้วยแนวทาง TDD กันหน่อยดีกว่า

Read More…

แนะนำการเริ่มต้น Test-Driven Development (TDD) สำหรับ Android app

หลังจากที่แบ่งปันความรู้เกี่ยวกับ Test-Driven Development (TDD) สำหรับ Android app ตั้งแต่การเขียน Unit test หรือ Local unit test ที่ไม่ต้องการ Device หรือ Emulator จนถึง Instrumentation test, UI test และ Stress test ที่ต้องใช้ Device หรือ Emulator ในแต่ละ feature ในแต่ละ flow สำหรับผู้เริ่มต้นนั้นไม่ง่ายซะทีเดียว แต่ถ้ามีความพยายามก็ง่ายขึ้นเยอะ ดังนั้นจึงทำการสรุปเส้นทางการเรียนรู้ไว้นิดหน่อย เพื่อให้ง่ายต่อการศึกษามากยิ่งขึ้น เรื่องพื้นฐานมันสำคัญมาก ๆ นะครับ มาเริ่มกันเลย

Read More…

เพื่อความสนุกมาเขียน Unit testing ในภาษา R กัน

หลังจากที่เขียนภาษา R มาสักพัก สิ่งที่น่าสนใจ และ ตั้งคำถามไว้คือ ถ้าอยากเขียน Unit test ในภาษา R มันมี xUnit framework อะไรให้ใช้หรือไม่ ? เมื่อไปค้นหาก็เจอเยอะเลย เช่น RUnit ทำการ update ล่าสุดในปี 2015 svUnit ทำการ update ล่าสุดในปี 2014 testthat ทำการ update ล่าสุดในปี 2016 ดูจากการ update แล้วมาลองใช้งาน testthat กันหน่อยดีกว่า

Read More…

เริ่มต้นศึกษา TypeScript ด้วยแนวทาง Test-Driven Development (TDD)

ในการศึกษาภาษาใหม่ ๆ ด้วยแนวทาง Test-Driven Development (TDD) เป็นสิ่งที่ผมเชื่อว่าเป็นแนวทางที่ทำให้เข้าใจภาษาต่าง ๆ ได้รวดเร็วขึ้น ดังนั้นมาลองศึกษาภาษา TypeScript กันหน่อย ซึ่งถูกสร้างขึ้นมาจากบริษัท Microsoft และเป็น opensource ในการใช้งานจะต้อง compile มาเป็นภาษา JavaScript ก่อนเสมอ ดูแล้วขั้นตอนเยอะเลยนะ ดังนั้นมาเริ่มต้นศึกษาด้วย Hello World กันหน่อย

Read More…

[แปล] ทำความเข้าใจเกี่ยวกับ TDD และ Unit test กันอีกสักหน่อย

เช้านี้นั่งอ่านบทความเก่า ๆ ที่เก็บเอาไว้คือ 5 Common Misconceptions About TDD & Unit Tests อธิบายเกี่ยวกับความเข้าใจผิดเกี่ยวกับ TDD และ Unit Test จึงทำการแปลและสรุปเนื้อหาบางส่วนไว้นิดหน่อย

Read More…

สิ่งที่น่าสนใจจากบทความเรื่อง Last Line Effect

จากบทความเรื่อง Last Line Effect ทำการศึกษาผลกระทบที่มักเกิดกับการ Copy-and-Paste code ซึ่งแน่นอนว่า developer ส่วนใหญ่ชอบใช้งาน แถมใช้งานกันบ่อย ๆ อีกด้วย และบ่อยครั้งพบว่าการกระทำแบบนี้ก่อให้เกิดความผิดพลาดขึ้นมา หนึ่งในข้อผิดพลาดนั้นก็คือ code ใน block หรือบรรทัดท้าย ๆ นั่นเอง มาดูผลการศึกษากัน

Read More…