วันพฤหัสบดีที่ 18 ธันวาคม พ.ศ. 2557

อย่าเพิ่งคิด” แล้ว “ทำเลย Robot

สวัสดีครับ 

วันนี้ไม่ได้มาเขียนเกี่ยวกับการวาดรูปแต่อย่างใด.....ครับ

แต่วันนี้จะมาเขียนเกี่ยวกับ Automate Test หรือ Robot ซึ่งผมจะข้ามรายละเอียดเรื่องการเขียนไปก่อน

ผมจะเล่าพอเป็นพิธีก็แล้วกัน (ในความรู้อันน้อยนิดของผม ใครที่มีความรู้มากกว่าเห็นว่ามันไม่ถูกต้องอย่างไร ก็แนะนำเข้ามาได้ครับ)

Automate Test หรือ Robot คือเครื่องมือไว้ช่วยให้ Developer และ Business มาบรรจบกันได้ Robot บอกได้ถึงพฤติกรรมการทำงานของโปรแกรมที่เราเขียนซึ่งจะประกอบไปด้วย Test Case หรือเหตุการณ์ที่จะเกิดขึ้นจำลองมันออกมาให้เห็นเป็นภาษาที่คนทั่วไปเห็นก็อ่อ เข้าใจก็รายละเอียดผมว่า คงต้องหาอ่านต่อกันเองแล้วล่ะครับ

ในนี้มีเขียนไว้ http://www.somkiat.cc/ ลองเข้าไป Search หา keyword Robot ดูครับ

ที่ผมจะเล่าต่อคือ เวลาที่โปรแกรมเราใหญ่โตมโหฬาร ที่มีหลาย Function หลายๆ Module มันก็ทำให้เกิด Test Case ใน Robot เรามากมาย เวลามีการแก้หรือเปลี่ยนแปลงให้ตัวโปรแกรมของเรา Robot ที่ทำหน้าที่ตรวจสอบพฤติกรรมเราก็จะตาย(ฟ้องว่า พฤติกรรมของโปรแกรมมันเปลี่ยน คุณต้องมาดูและแก้ไขฉันนะ) นี่แหละความวิบัติ

เราเริ่มลงมือแก้ไขใน Test Case มันผูกติดๆ กันนั้นมันจะท้อ ทำไมนะฉันแก้ตรงนี้แล้ว ไอ้ตรงนี้มันตายนะ แก้อีกเอ้าตรงนั้นตายนะ เรามันจะพยายามคิดเผื่อมันเข้าไปด้วยอีก เหมือนเรากำลังทำตัวเหมือนเรากำลังเขียนโปรแกรมอีกหนึ่งโปรแกรมนั่นไม่ใช่มันทำให้เรา “เหนื่อยมาก เพราะคิดไปด้วย แก้ไปด้วย และหงุดหงิดไปด้วย”

ต้องขอขอบคุณ Chockchai Phatharamalai หรือพี่จั๊ว ให้คำแนะนำที่ดีมาก และที่มานั่ง Pair Programming กับผมด้วย

พี่จั๊วให้ผมหยุดการคิดทั้งหมดแล้วพยายามแก้ที่ละ Test Case และค่อยๆ ดูไป”อย่าเพิ่งคิด” ว่ามันจะเกิดอะไรขึ้น ให้เปิด Report ดูแล้วแก้ไปตาม Report นั้นเลย นอกจากจะพบว่าการแก้ Robot นั้นรวดเร็ว และผมก็พบว่าเราเหนื่อยน้อยลงจริง เราเปิด Report แล้วแก้ตาม แล้วรัน Robot แล้วตายซ้ำแล้วซ้ำอีกจนมันเขียว(สีที่แสดงสถานะว่า Robot ผ่านแล้ว)

Robot บอกถึงพฤติกรรมของคนใช้งานของโปรแกรมเราอยู่แล้ว ถ้าพฤติกรรมไม่เปลี่ยน แต่ข้อมูลเปลี่ยนก็ไม่ต้องคิด แก้ตามข้อมูลที่เปลี่ยนไปเลย

“อย่าเพิ่งคิด” แล้ว “ทำเลย” 



ขอบคุณครับ