สิ่งมักที่น่าสนใจสำหรับการทดสอบแบบอัตโนมัติ
ส่วนใหญ่มักจะถูกสั่งให้ทำ
ส่วนใหญ่มักจะบังคับให้ทำ
บางครั้งทำแบบไม่เข้าใจว่าทำไมต้องทำ แต่ก็ต้องทำ
ผลที่ออกมาเลยไม่ดี หรือมีก็เหมือนไม่มี
หรือถ้าไม่บังคับก็ไม่ทำ
หรืออาจจะแย่กว่าเดิมอีกต่างหาก
ดังนั้นจึงขอแนะนำแนวทางที่คิดว่าน่าจะดี
เพื่อให้การทดสอบแบบ manual และ อัตโนมัติมันดีและยั่งยืน
มาเริ่มกันเลย
ต้องเข้าใจเกี่ยวกับการทดสอบขั้นพื้นฐานก่อน
ความรู้พื้นฐานมันสำคัญมาก ๆ เช่น การทดสอบคืออะไร ลองให้คนในทีมเขียนลงกระดาษสิ แล้วจะเข้าใจได้ทันทีว่าเป็นอย่างไร จากนั้นก็ว่าด้วยเรื่องของ Test Matuarity Model (TMM) ซึ่งเป็น framework ว่าด้วยเรื่องของ test management process ที่สำคัญต้องเข้าใจด้วยว่า ทำไมถึงต้องทดสอบ ถ้ายังไม่เข้าใจ นั่นคือปัญหา ที่ทุกคนในทีมต้องเข้าใจร่วมกัน ที่สำคัญ ความหมายของการทดสอบแต่ละอย่าง ก็สรุปกันให้ชัดเจน เช่น Unit test Regression test Integration test UAT Non-functional test ว่าเมื่อใดควรใช้ ใช้อะไร ทำอย่างไร เพื่อให้สามารถนำไปใช้ใน testing priocess ได้อย่างถูกต้องเหมาะสม เพื่อให้ได้ผลลัพธ์ที่ดีขึ้นทำไมต้องทดสอบแบบอัตโนมัติด้วย ?
เราจะได้ยินว่า การทดสอบแบบอัตโนมัตินั้น มันช่วยลดเวลาและค่าใช้จ่ายลงไปอย่างมาก ช่วยทำให้ระบบงานมีคุณภาพที่ดีขึ้น แต่จะเป็นไปไม่ได้เลย ถ้าไม่เลือกเครื่องมือที่เหมาะสมกัยงาน กับคนมาใช้งาน คำถามที่น่าสนใจคือ ทำไมถึงเลือกใช้เครื่องมือตัวนั้นตัวนี้ ทั้ง ๆ ที่มีเครื่องมืออื่น ๆ อีกมากมาย อย่าบอกนะว่า ใคร ๆ เขาก็ใช้ อย่าบอกนะว่า หน้าสั่งมา อย่าบอกนะว่า พอดีที่บริษัทซื้อไว้แล้ว ใช้ ๆ ไปเถอะหัวใจคือ ต้องเริ่มที่คน (People) คนจะเป็นคนคิดและวางขั้นตอนการทำงาน (Process) จากนั้นจึงเลือกเครื่องมือที่เหมาะสมกับคนและขั้นตอนมาใช้งาน (Tool)
เมื่อพร้อมแล้ว ทำการศึกษาที่ทำความเข้าใจกับเครื่องมือซะ
คำถามคือ ใครบ้างที่ควรรู้และเข้าใจ ตอบง่าย ๆ คือ ทุกคนที่เกี่ยวข้องนั่นเอง ติดตั้งและปรับแต่งพวก configuration ต่าง ๆ ให้พร้อม และลงมือสร้างมันขึ้นมา คิดมากไปเสียเวลา ลงมือทำดีกว่านะ เริ่มจาก test case ง่าย ๆ ไม่ซับซ้อนกัน เพื่อทำให้เราคุ้นชินกับเครื่องมือที่เลือก ค่อย ๆ ทำไป กำลังใจจะดีขึ้น จำนวนของ test case จะมากขึ้นเอง จากนั้นเริ่มไปหา test case ที่ยากและซับซ้อนขึ้น นี่คือบททดสอบสำคัญว่า เราพร้อมหรือยัง มันทำให้เรารู้ว่าจุดอ่อน จุดแข็งของเราเป็นอย่างไร เพื่อพัฒนาและปรับปรุงให้ดีขึ้นบอกไว้เลยว่า เริ่มต้นที่ว่ายากแล้ว ที่เหลือนั้นยากกว่ามาก
อย่าลืม Refactor หรือทำการปรับปรุงโครงสร้างของ test case ด้วยละ
ปัญหาที่เจอบ่อยมาก ๆ สำหรับทีมที่มีชุดการทดสอบจำนวนมาก ๆ คือ การดูแลรักษา ซึ่งมันไม่ได้ต่างจาก source code ของระบบดลย ดังนั้นให้ทำการปรับปรุง test case ให้ดีขึ้นอย่างต่อเนื่อง ตัวอย่างเช่น สิ่งที่ทำงานซ้ำ สิ่งที่ทำงานช้า สิ่งที่มักก่อให้เกิดความผิดพลาดที่สำคัญอย่างลืมปรับปรุงขั้นตอนทำงานให้ดีขึ้นด้วยนะ