Author Archive

Inverse Captcha

6, Jun 2008

ดีใจมากครับ ในที่สุด blog ผมก็หมดปัญหาเรื่อง spam ไปเสียที เย้.. ทีแรกก็ใช้ akismet ก็ดีอยู่แล้ว แต่มันก็แสดงว่ามีอะไรเป็น spam บ้าง มันขัดหูขัดตามผมเหลือเกิน จนคิดว่าต้องใช้ captcha ช่วยละ หลังจากการ search หา plugin ดูใน google ตัวแรกที่เจอคือ Inverse Captcha ครับ แค่ชื่อก็น่างงแล้ว แต่หลังจากใช้ไป 1 อาทิตย์ ไม่มี spam หลุดมาสักตัว(ใน blog ของ Sven Fuchs เอง เขาก็ทดลองเดือนนึง) ไม่ต้องมี captcha แปะให้น่ารำคาญ ไม่ต้องเพ่งตัวอักษรที่อ่านยากแสนยาก หลังจากที่ลองเล่นดูแล้ว ก็ได้ความว่า ในหน้า post ลอง view source แถวๆ กล่อง comment จะมี [...]

PHPSpec

15, Mar 2008

ไม่มีอะไรดีเท่าการทดลอง เริ่มต้นด้วยการติดตั้ง – ชุด PHP ด้วย xampp (appserv ก็ ok แล้วแต่รสนิยม) – ตามด้วย Pear เวอร์ชันล่าสุด เพราะ PHPSpec require php และ pear เวอร์ชันค่อนข้างใหม่ – ติดตั้ง PHPSpec ขอข้ามวิธีติดตั้งละกันครับ(ตาม link ก็ได้) เพราะอยากจะให้เห็นการเขียน spec มากกว่า require_once ‘LazyDog.php’; class DescribeLazyDogEating extends PHPSpec_Context { private $_dog = null; public function before() { $this->_dog = new LazyDog(“Neng”); } public function itShouldGetFullAfterEatRiceTwice() { [...]

Test first tools

28, Feb 2008

เอา 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 ของ [...]

จริงๆ เรื่องการ test บน Rails เนี่ย ผมกะว่าจะเขียนมานานละ ช่วงนั้นมี Test Driven Development(TDD) กำลังแรงจาก Extreme programming ไอ้ผมก็เขียน test case บน Rails ก็ปกติดี แต่บังเอิญว่า Behavior Driven Development(BDD) เพิ่งเกิดพอดี เลยยังลังเลว่าจะเขียนเรื่องนี้เลยดีไหม พอดีเจ้านายผมอยากให้เขียน test ในลักษณะที่รวมสิ่งแวดล้อมรอบด้านด้วย ใน 1 test case ของผมเลยค่อนข้างจะรุงรัง เช่น การ login ก็ตรวจมันตั้งแต่การ validate, login ผ่านหรือเปล่า สมมติว่าผ่าน ต้องจำค่า user เอาไว้แล้ว redirect ไปไหน?? หรืออีก test case นึง กรณีที่ไม่ผ่าน จะ redirect ไปไหน [...]

Test first is not hard

14, Feb 2008

จาก post อันนี้ ผมก็เจอ comment 2 อัน คือ ความหมายใช่เลย..แต่บางทีใน software requirement อาจจะระบุไม่ละเอียดมาก เลยทำให้พอถึงช่วง UAT ที่ผู้ใช้งานระบบ(ที่ละเอียดหน่อย) เข้ามาทดสอบแล้วบอกว่ายังขาดโน่น ขาดนี่ ทำงานไม่ได้ตาม business ต้องการ ก็ต้องกลับไปเริ่มต้นใหม่อีก และ เทสไปเทสมา พบว่ามีหลายอย่างที่ทาง developer ยังทำไม่เรียบร้อยเลยครับ ส่งมาได้ไง มาดูว่า test first จะช่วยอะไรกับสองปัญหาข้างบนได้บ้าง เริ่มแรกหลังจากได้ requirement มา programmer อย่างผม ก็ต้องอ่านๆๆ แล้วก็อ่าน แล้วก็สรุป ว่าต้องเขียนอะไรบ้าง(ผมจะเรียกว่า spec ละกัน หรือจะเรียกว่า test case ใน TDD ก็ได้) แล้วก็เขียนลงใน spec file ตัวอย่างด้านล่างคือ Ruby code ที่ใช้ใน [...]

Programmer can test

7, Feb 2008

programmer ก็ช่วย test ได้ครับ ผมทำงานในทีมเล็กๆ ไม่มีเงิน หรือคนมากพอที่จะไปจ้าง หรือสร้างทีม tester เพราะฉะนั้น โปรแกรมเมอร์นี่แล จะต้องแบ่งเบาภาระการ test ให้กับทีม สิ่งที่ programmer ช่วยได้ คือการใช้ Test driven development(TDD) เป็นตัวช่วย สิ่งที่ผมเคยฟาดฟันมาก่อน คือการใช้ unit test ทำการ test source code ในทุกๆ unit ไม่ว่าจะเป็นตัวแปรเอย method(หรือบางคนจะเรียกว่า function)เอย หรือ integration test ที่เขียนยังไงก็ไม่ครอบคลุม จนมีฝรั่งใจดี สร้างสิ่งที่เรียกว่า Behavior driven development(BDD) นี่แหละ ใช่เลย แทนที่เราจะมองให้เป็น unit ทำไมเราไม่มองให้เป็นพฤติกรรม(behavior) ทดสอบที่พฤติกรรมไปเลย มันก็เลยเป็นการรวมกันของ unit test กับ integration [...]


top