ปัญหาที่นักพัฒนาพบเจอเป็นประจำก็คือ Legacy code (Code ที่ไม่มี test) ซึ่งมีคุณสมบัติเฉพาะตัวนั่นก็คือ พังง่าย !! อาการประมาณว่า แก้ไขตรงนั้นนิดตรงนี้หน่อยแล้วส่วนอื่นพังไปด้วย !! เหมือนกับการแก้ไข bug เพียงตัวเดียวแล้วได้ bug มาอีกเป็นฝูง โดย code เหล่านี้นักพัฒนาต้องเจ็บตัวกันมาทุกคน ไม่ว่าจะมากหรือน้อยก็ตาม เพื่อทำการแก้ไข และ ปรับปรุง code เหล่านี้ให้ดีขึ้น คำถามที่น่าสนใจคือ แล้วเราจะหลีกเลี่ยง code แบบนี้ได้อย่างไร
Read More…
พอดีมีคำถามมาจากน้อง ๆ ที่เขียน Android app ว่า ถ้าต้องการทดสอบพวก Custom View โดยไม่ต้องเปิดหรือทดสอบผ่าน Activity ได้ไหม ? ตอบไปแบบไม่คิดว่า ทดสอบยังไงหว่า ไม่ผ่าน Activity !! แต่เมื่อคิดให้ดี ๆ ก็นึกออกว่า สามารถทดสอบด้วยการใช้ Robolectric เมื่อไปค้นหาเจอบทความเก่าหน่อยแต่อธิบายได้ดี เรื่อง Android: Unit testing custom views เลยเอามาลองใช้งานดูนิดหน่อย
Read More…
ในการทดสอบ iOS app ผ่านระบบ Continuous Integration นั้น จำเป็นต้องทำการทดสอบทั้ง Unit test และ UI test และสร้างผลการทดสอบในรูปแบบ JUnit เพื่อสรุปผลการทดสอบต่าง ๆ ให้ง่ายและชัดเจน ปกติจะใช้ xcpretty ร่วมกับ xcodebuild แต่ว่าจะลำบากขึ้นเมื่อใช้งานร่วมกับ XCode 8 ดังนั้นทางผู้พัฒนา fastlane ก็ได้สร้างเครื่องมือใหม่ชื่อว่า trainer ขึ้นมา ซึ่งใช้ง่ายกว่า และ ทำการได้รวดเร็วกว่า ดังนั้นลองมาใช้งานกันดูหน่อย
Read More…
มีโอกาสอธิบายเรื่อง Developer testing ให้กับทีมพัฒนาฟังประมาณ 1-2 ชั่วโมง ซึ่งหนึ่งในนั้นคือเรื่อง Unit testing ซึ่งเป็นสิ่งที่ดีและสำคัญ แต่มักไม่ค่อยมีใครทำ !!
Read More…
ในการเขียนการทดสอบแบบอัตโนมัตินั้น (Automated testing) มีรูปแบบ แนวคิด และ เทคนิคการเขียนที่ดีมากมาย แต่ developer มักจะบอกว่า มันเยอะมาก ๆ ทำไปก็เหนื่อยเพิ่มขึ้นอีก เสียเวลา … สุดท้ายก็ไม่ทำ !! ดังนั้นเพื่อให้มันเข้าใจง่ายกว่าเดิม มาพูดถึงวิธีการที่มันแย่ ๆ ดีกว่า เพื่อทำให้รู้ ให้เห็น แลเข้าใจได้ง่ายขึ้น
Read More…
มีคำถามว่า ถ้าเขียน unit test แล้ว มันดีอย่างไร ? ดังนั้นมาดูกันหน่อยว่า มีเหตุผลดีๆ อะไรบ้าง
Read More…
เรามักจะได้ยินประโยคเหล่านี้เกี่ยวกับ unit test บ่อยๆ เช่น เราไม่มีเวลาที่จะเขียน unit test หรอกนะ เราไม่มีงบสำหรับการเขียน unit test หรอกนะ หรือบางครั้งอาจจะได้ยินว่า เราไม่ได้ใช้ TDD (Test-Driven Development) ดังนั้นเราจึงไม่ต้องมี unit test TDD มันแพงไปสำหรับเราในตอนนี้ ฟังแล้วมันดูสมเหตุสมผลนะ ว่าไหม
Read More…
วันนี้เห็นมีการพูดคุยเรื่อง Unit testing มันทำงานช้า หรือใช้เวลาในการทดสอบนานๆ จะต้องแก้ไขอย่างไรดี
Read More…
หลังจากที่เขียนเรื่อง Developer ต้องฝึกตั้งชื่อให้มันสื่อสารกันได้ ดังนั้นลองมาฝึกตั้งชื่อแต่ละ test case ใน Unit test กันดีกว่า ซึ่งมีวิธีการตั้งชื่อที่ดี และ น่าสนใจดังต่อไปนี้
Read More…
เขียนเขาพูดกันว่า Swift 2 มันเปลี่ยนไปเยอะ (ไม่เคยเขียนด้วยนะสิ) ซึ่งแน่นอนว่าต้อง update Xcode กันด้วย ซึ่งตอนนี้มันเป็น version 7 beta 3 โดย feature ที่น่าสนใจมันอยู่ที่การ Testing ซึ่งประกอบไปด้วย Unit testing User Interface testing (UI testing) Code coverage มีมาให้นักพัฒนาทุกอย่างเลยนะเนี่ย ดังนั้นมาทำความรู้จักกับมันหน่อย ตามภาษาคนไม่รู้เรื่องอะไรเลย !!
Read More…