เขียน Automation Test ไป รันผ่านแบบมั่นใจ เขียวทุกเคส
แต่พอขึ้น Production ปุ๊บ ลูกค้าเจอบั๊กปั๊บ
ที่น่ากลัวกว่าเทสพัง
คือการที่เราไม่รู้ด้วยซ้ำว่าผิดตรงไหน
.
เรามักจะวัดว่าตัวเองเก่ง หรือ ไม่เก่ง จากตัวเลขอะไรพวกนี้ใช่มั้ยคะ
จำนวนบั๊กที่หลุด ยิ่งน้อย ยิ่งรู้สึกเก่ง ยิ่งเยอะ ยิ่งรู้สึกแย่
จำนวน test case ที่จับบั๊กได้จริง ยิ่งเยอะ ก็ยิ่งรู้สึกเก่ง แต่พอมีบางข้อที่หลุด ลืมนึกถึง ก็รู้สึกแย่อีก
แต่พี่กิ่งว่าสิ่งที่สำคัญกว่าตัวเลขคือ
ตอนที่พลาด เรารู้ตัวแค่ไหน
.
ช่วงนี้พี่กิ่งอ่านหนังสือ Suddenly Talented อยู่ค่ะ เลยจะเอามาแชร์บ่อยหน่อยนะคะ
ในหนังสือเล่มนี้จะมีบทนึงที่บอกเอาไว้ว่า
เราสามารถแบ่งระดับความผิดพลาดออกเป็น 3 แบบค่ะ
.
❌ Level 1: ผิดแล้วไม่รู้ตัวว่าผิด
เขียน test case แล้วบอกแค่ว่า “กด submit แล้ว success”
แต่ไม่ได้เช็คอย่างอื่นเลย เทสไปยังไงก็ผ่าน เพราะเราอาจจะนิยามคำว่า success ผิด พอมีบั๊กหลุดก็กลับมาแก้
แต่เราไม่รู้ตัวด้วยซ้ำว่าจริงๆ ผิดตั้งแต่ไม่ define ให้ชัดแล้วว่า requirement ต้องการอะไร
Level นี้อันตรายที่สุดค่ะ เพราะเราจะไม่รู้เลยว่าต้องพัฒนาตรงไหนต่อ
.
💡 Level 2: รู้ว่าผิด แต่ไม่รู้จะแก้ยังไง
เขียน Automation test ไปแล้ว flaky รันผ่านบ้างไม่ผ่านบ้าง
รู้แหละว่ามีปัญหาแน่ๆ แต่ไม่รู้จะไปแก้ยังไง
สุดท้ายก็เลยกด rerun ไปเรื่อยๆ แล้วสวดมนต์เอาว่ารอบใหม่จะผ่าน
Level นี้ดีขึ้นมาหน่อย แต่ก็ทำให้อึดอัดใจได้ค่ะ มันรู้ว่ามีปัญหา แต่ไม่รู้จะไปทางไหนต่อ
.
✅ Level 3: รู้ว่าผิด และ รู้ว่าจะแก้ยังไง
อาจจะมีคนมาช่วยชี้ให้ว่า flaky test มันเกิดจากเราเขียน wait ไม่ถูกนะ เราก็เลยไปลองเช็คดู แล้วเริ่มมีไอเดียว่าจะแก้ยังไง แล้วก็ค่อยๆ ลองแก้ไปทีละขั้น
Level นี้ดีที่สุดค่ะ ต่อให้ทำผิดพลาด ก็ไม่ใช่เรื่องที่ทำให้หมดความมั่นใจ สิ่งที่สำคัญคือเราได้เรียนรู้จากความผิดพลาดนั้น และรู้ว่าจะทำยังไงให้ครั้งต่อไปไม่เกิดอีก
.
สิ่งที่เห็นซ้ำๆ จากการสอนมาหลายๆ ครั้ง คนที่มี progress เร็วที่สุด ไม่ใช่คนที่ทำผิดพลาดน้อยที่สุดนะคะ แต่เป็นคนที่เลื่อนมา level 3 ได้เร็วที่สุด
พลาดกี่ครั้งไม่สำคัญ เพราะในตอนที่เราเริ่มต้นทำอะไรใหม่ เราก็ต้องพลาดอยู่แล้ว เป็นเรื่องธรรมดามากๆ
แต่สิ่งที่ต่างกันคือ เรารู้ตัวมั้ยว่าพลาด และ รู้มั้ยว่าจะแก้ยังไง
นี่แหละค่ะ สิ่งที่จะทำให้เราเกิดทักษะได้จริงๆ
ยิ่งเราพลาด แล้วมีคนช่วยชี้ว่าแก้ตรงไหนได้บ้าง
เรายิ่งได้เรียนรู้จากความผิดพลาดนั้นได้เยอะขึ้น
แล้วทักษะของเราก็จะพัฒนาไปเรื่อยๆ โดยที่ไม่ต้องไปสนใจจำนวนบั๊ก หรือ จำนวนเทสเคสเลยค่ะ
.
ใครที่กำลังรู้สึกไม่มั่นใจหรือท้อแท้กับความผิดพลาดที่เกิดขึ้น
ลองกลับไปย้อนดูนะคะ ว่าเราอยู่ที่ Level ไหน
ถ้าเพิ่งรู้ตัวว่าผิด ก็ลองกลับไปคิดดูว่า ผิดเพราะอะไร และจะแก้ยังไง
ถ้าไม่รู้ว่าผิดตรงไหน หรือจะแก้ยังไง ก็ลองหาคนที่จะมาช่วยชี้จุดนั้นให้เราดูค่ะ
แล้วเราก็จะกลัวความผิดพลาดน้อยลงไปเอง
(แต่อย่าผิดเรื่องเดิมซ้ำบ่อยๆ นะคะ อันนั้นอาจจะแปลว่าเราไม่ได้อยู่ที่ level 3 ค่ะ)

