Tag Archives: Unit Testing

ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 2)

unit-testing-welovebug

สวัสดีเช้าวันพุธที่ 13 สิงหาคม พ.ศ. 2557 ตอนนี้ก็เวลาประมาณ 05:32น. เป็นวัยรุ่นเลยต้อง นอนดึก ตื่นเช้า เลยมาจรดปลายนิ้ว บ่นเรื่อง Unit Testing ทำแล้วมันใช้เวลา พลัง และเงิน มากขึ้น จรงิหรือ? ตอนที่ 2 ต่อ กับ 2 คำถาม

เราไม่ได้คิดค่าทำ Unit Testing ไปตอนประเมินราคาให้ลูกค้า
ลูกค้าไม่ได้จ่ายเงินมาเพื่อให้เรามานั่งเขียน Unit Testing นะ

Continue reading ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 2)

ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 1)

unit-testing-welovebug

เมื่อได้ก้าวเดินมาในเส้นทางของการเป็น Agile Coach และ ScrumMaster เรื่องหนึ่งที่ผมยังให้ความสำคัญอยู่เสมอคือ คุณภาพ (Quality) ซึ่งการทดสอบยังคงเป็นเรื่องสำคัญมากๆๆๆ ดังนั้นเมื่อใช้ และประยุกต์ใช้ Agile เข้าช่วย หรือใช้เป็นหลักในการพัฒนา Software แล้วนั้น ผมก็จะขายแนวคิดเรื่องของการทำ Unit Testing โดยใช้ Test-Driven Development (TDD) เข้ามาช่วยทีมพัฒนา แต่ก็มักจะเจอคำถามจากผู้คนในระดับหัวหน้าทีม และระดับฝ่ายบริหารเสมอๆ ว่า

ทำ Unit Testing แบบนี้ มันก็ต้อง

ใช้เวลามากขึ้นสิ ใช้ Effort มากขึ้นสิ
ใช้เงินเพิ่มขึ้นสิ
เราไม่ได้คิดค่าทำ Unit Testing ไปตอนประเมินราคาให้ลูกค้า
ลูกค้าไม่ได้จ่ายเงินมาเพื่อให้เรามานั่งเขียน Unit Testing นะ

ผมก็อดยิ้มไม่ได้ 🙂

Continue reading ทำ Unit Testing แล้วมันใช้เวลา พลัง และเงิน มากขึ้น จริงหรือ? (ตอนที่ 1)

[Discussion] ปัญหาของ Unit Testing Framework … คุณจะแก้ไขอย่างไร

ไปอ่านเจอบทความเกี่ยวกับการพูดถึงปัญหาของ Unit Testing Framework ในปัจจุบัน ซึ่งแบ่งออกเป็นหัวข้อได้ได้นี้

1. Lack of Automation
2. Focus on test instead of code
3. Take too much time
4. Weak mocking
5. Coverage

เลยอยากจะเปิดเป็น open discussion สำหรับปัญหาต่างๆ เพื่อหาวิธีการแก้ไข หรือปรับความเข้าใจใหม่ เพื่อไม่ให้เกิดปัญหา ใครมีแนวคิดดีๆ ก็สามารถ share ได้เลยครับ

Test Diary: ไม่มี automate unit test นี่ปวดตับเหลือหลาย

พักสายตาจากการทำงาน แล้วมาสะดุดกับข้อความที่น้องคนหนึ่งทรี่เป็น programmer เขียนข้อความโยนขึ้นมาบน Twitter ไว้ตามรูป

อ่านดูแล้วถูกใจมากๆ ที่ Programmer และ Developer หลายๆ คนทำเรื่องพวกนี้ แต่ก็ยังมีอีกหลายๆ คนที่อยากจะทำ แต่ไม่รู้ว่าจะทำยังไง หรือใช้ Tool อะไร เท่าที่เจอมา เอ๊ะอะ อะไรก็มองหา Tool เลย แต่มองข้ามเรื่องของทฤษฎี และหลักการออกแบบวิธีทดสอบ Unit Testing ซึ่งก็ไม่ค่อยมีใครสอนอีกเหมือนกันในระดับมหาวิทยาลัย

แบบนี้มันต้องจัด!!!

 

 

มาใช้ Functional Testing กัน

หลังจากที่ไป download grails มาจาก github เห็นว่ามี folder นึงที่น่าสนใจคือ grails-functional-tests คำถามแรกคือ มันคืออะไร ? เพราะว่าปกติทำแต่ unit test ธรรมดาทั่วไป

รูปจาก www.grails.org

ดังนั้นจึงไปทำการค้นหาพบว่า function test มันเป็น plugin ตัวหนึ่งของ Grails อยู่ที่นี่ Functional Test Plugin

และมีการเปรียบเทียบกับ WebTest ไว้ที่นี่

หลังจากที่ไปอ่านมา ได้ข้อสรุปคร่าวๆ ว่า Functional Test คือ
– plugin ของ grails
– HTTP Testing นั่นเอง โดยข้างในมันคือ HtmlUnit หรือตัวยิง web
– ใช้ DSL ของ groovy ซึ่งเป็นข้อดีและเข้ากันดี ไม่ต้องไปเขียน xml ให้ยุ่งยาก

พอรู้ถึงข้อมูลคร่าวๆ ของ Functional Test แล้วก็ถึงเวลานำมันมาใช้งานกันดีกว่า

Continue reading มาใช้ Functional Testing กัน

กว่าจะมาเป็นโลโก้ กูเกิล

ห่างหายไปเกือบสองอาทิตย์ที่ไม่ได้มาเขียนบทความลงใน We Love Bug นะครับ ต้องขอโทษด้วยจริงๆ เนื่องจากติดภาระกิจร้อยแปดพันเก้า แต่ก็แอบดีใจที่ยังมีผู้สนใจเข้ามาเยี่ยมชม และมีสมาชิกใหม่ๆ สมัครเพิ่มเติมขึ้นมา รวมทั้งน้องเหน่ง (PunNeng) เข้ามาเขียนบทความลงเรื่อยๆ ทุกๆ วันพุธ ขอบคุณน้องเหน่ง ณ ที่นี้ด้วยนะครับ

หลังจากพูดคุยกับคุณอ๋อง (Leeyongson) ก็เลยเห็นชอบกันที่จะเปิดหนึ่งหมวดสำหรับเรื่องที่น้องเหน่งเขียน เลยจัดหมวด “Unit Testing” ขึ้นมาให้กับบทความที่เกี่ยวกับการทำ Unit Testingก็ขอเชิญทุกๆ ท่านที่สนใจเรื่องของ Unit Testing สามารถแวะเข้าไปเยี่ยมชมได้ รวมทั้งผู้ที่ต้องการจะแบ่งปันประสบการณ์ในส่วนของการทำ Unit Testing ด้วยเช่นกันครับ

ขณะที่เขียนบทความนี้อยู่ กำลังอยู่ใน Mode อู้งาน แอบเบียดบังเวลางานมาเขียนเรื่องลง We Love Bug ซะงั้นครับ กลับเข้าเรื่องเลยละกัน พอดีได้รับ Forward Mail มาจากพี่ที่รู้จักกันคนหนึ่ง ซึ่งไม่ได้เกี่ยวอะไรกับ Software Testing เลย แต่ก็หยิบมาฝากทุกๆ ท่านดูครับ

Google คงไม่มีใครไม่รู้จักคำนี้ และไม่มีใครเคยใช้บริการของเค้า ลองมาดูซิว่า กว่าจะมาเป็น Logo Google ตัวที่ใช้อยู่บนเว็บของเค้านั้น มี Design ออกมากี่แบบ

Continue reading กว่าจะมาเป็นโลโก้ กูเกิล

Test first tools

เอา TDD ก่อน
Java – JUnit
.Net – NUnit
Ruby – Test::Unit
PHP – PHPUnit
Python – PyUnit, py.test
JavaScript – JSUnit

ตามด้วย BDD
Java – JBehave, Instinct หรือ JDave
.Net – NSpec
Ruby- RSpec
PHP – PHPSpec
Python – doctest
JavaScript – JSSpec

ที่เคยใช้จริงๆ คงจะเป็น JUnit, NUnit, Test::Unit และ RSpec ครับ
ฝั่ง ActionScript ของ flash ก็เคยครับ แต่ไม่อยากนับ เพราะแค่ลอง ไม่ได้อยู่กับมันนานๆ
ดูเหมือนภาษาที่ผมควรจะ implement ให้ดูจริงๆ ควรจะเป็น PHP สินะ

ปล. C กับ C++ ผมว่ามันเก่าไป ไม่น่าเอามาพูดถึง