ในการทดสอบระบบงานนั้น บ่อยครั้งจะพบว่ามันน่าเบื่อ
ทั้งการเขียน bug report
ทั้งการต้องทดสอบ test case เดิม ๆ ซ้ำแล้วซ้ำอีกอยู่นั่นแหละ
ไหนจะต้องปากเปียกปากแฉะ กลายเป็นคนปากจัด จู้จี้ไปโดยปริยาย (แก่ก่อนวัย)
มันไม่มีความท้าทายอะไรเลย
ทำงานไปวัน ๆ
ซึ่งมันน่าเบื่อมาก ๆ
แต่บางคนก็บอกว่า เป็นแบบนี้มันดีแล้วนะ
ทำ ๆ ไป ก็สบายแล้ว จะไปคิดอะไรมาก
ดังนั้นก็ข้าม blog นี้ไปเลยนะครับ !!
คำถามที่น่าสนใจคือ การทดสอบมันเป็นงานที่น่าเบื่อหรือไม่ ?
ตอบได้เลยว่า
ไม่
มันกลับทำให้เราดึงศักยภาพต่างออกมา ในข้อจำกัดต่าง ๆ อีกด้วย
การทดสอบมันคือ กระบวนการเรียนรู้อย่างต่อเนื่องจากการลงมือทำและค้นหา
รวมถึงการวิเคราะห์จากข้อมูลที่เรามีอยู่
ดังนั้นมันจึงมีสิ่งที่ท้าทายให้เราเรียนรู้อีกมาก
คำถามที่ควรจะต้องถามคือ เราได้เรียนรู้อะไรเพิ่มขึ้นจากเมื่อวานบ้าง
หรือมีแต่คำบ่นที่เพิ่มขึ้น แต่ไม่ปรับปรุงอะไรเลย
เมื่อคุณพบกับงานที่ต้องทำซ้ำแล้วซ้ำอีก
สิ่งที่ต้องคิดคือ เราจะลดงานเหล่านี้ไปได้อย่างไร
เนื่องจากมันน่าเบื่อมาก ๆ
ดังนั้นการทำให้งานเหล่านี้ทำงานแบบอัตโนมัติ หรือ เขียน script ต่าง ๆ ขึ้นมา
มันน่าจะเป็นสิ่งที่ถูกต้องกว่า
แน่นอนว่ามันยาก นั่นคือสิ่งที่ท้าทายและรอคุณอยู่
เพื่อก้าวผ่านและเรียนรู้ต่อไปนั่นเอง
แต่ถ้าบอกแต่ว่า
เราไม่รู้ ทำไม่ได้
ผลที่เกิดขึ้นคือ คุณก็จะไม่ทำ ไม่เรียนรู้อะไรเลย
จากนั้นก็ไปทำงานซ้ำ ๆ อยู่ต่อไป
ผลที่ตามมาคือ คุณก็จะบ่นว่าน่าเบื่อ
ดูมันวนไปวนมาไหมนะ ?
ดังนั้นเมื่อคุณเบื่อ
สิ่งที่ต้องทำก่อนคือ หา root cause ของความน่าเบื่อ
ทำการวิเคราะห์ให้เรียบร้อย
จากนั้นลงมือแก้ไขปัญหาที่ละปัญหาต่อไป
แต่ถ้าสิ่งที่ทำมันยังน่าเบื่ออยู่อีก แนะนำให้ลองทำตามขั้นตอนดังนี้
ขั้นตอนที่ 1
ความน่าเบื่อมักจะเกิดจากงานไร้ซึ่งความท้าทาย
ดังนั้นเพื่อลดความน่าเบื่อ
ก็ลองสร้างความท้าทายให้กับตัวเองบ้างสิ
เช่นตั้งเป้าหมายว่า
ต้องหา defect ตัวเด็ด ๆ ให้ได้สัก 5 ตัวต่อวัน
หรือทำอย่างไรจะลดจำนวน defect ไม่ให้เกิดขึ้นเป็นต้น
ขั้นตอนที่ 2
บ่อยครั้งความน่าเบื่อมักเกิดจากคนรอบข้าง
เช่นคนรอบข้างเป็นคนเฉื่อยชา ไม่กระตือรือร้นอะไรเลย
หรือคิดในแง่ลบไปเสียหมด
มันทำให้เราทำตัวตามสิ่งแวดล้อมไปด้วย
ดังนั้นให้ออกมาจากตรงนั้น
พูดง่ายแต่ทำยาก แต่ถ้าคุณไม่ทำ คุณนั่นแหละที่จะต้องเสียใจ
ขั้นตอนที่ 3
ลองตั้งเป้าหมายหน่อยสิว่า
ใน 1, 3, 6, 9, 12 เดือนนี้คุณต้องการจะประสบความสำเร็จอะไรบ้าง ?
จากนั้นลองดูสิว่า ในแต่ละวันคุณได้ทำงานตามเป้าหมายนั้นหรือไม่
หรือเข้าใกล้เป้าหมายไปทุกวันหรือไม่
อย่าโกหกตัวเอง ว่าสิ่งที่ทำมันใกล้ถึงเป้าหมาย
ทั้ง ๆ ที่มันไม่เป็นจริง
ขั้นตอนที่ 4
ลองวัดความสามารถของตัวเราเองหน่อยสิว่า
ทั้ง technical skills และ soft skill เป็นอย่างไร ?
มีสิ่งใดที่ต้องแก้ไข เพิ่มเติมให้ดีขึ้นบ้าง
เพื่อทำให้เราเห็นและเข้าใจตัวเราเองมากยิ่งขึ้น
ยิ่งคุณรู้ว่า คุณไม่รู้อะไรมากเท่าไร ยิ่งดีต่อการเรียนรู้มากเท่านั้น
ขั้นตอนที่ 5
ฝึกเขียน ฝึกอธิบาย ฝึกเล่าประสบการณ์ต่าง ๆ ที่เราพบเจอ
รวมทั้ง how-to ในการแก้ไขปัญหาต่าง ๆ
จากนั้นทำการแบ่งปันให้คนอื่น ๆ ทั้งคนมนทีม บริษัทและนอกบริษัท
อย่ากลัวที่จะแบ่งปัน ถึงแม้ว่าเรื่องนั้นมันจะดูธรรมดามาก ๆ
สิ่งที่ควรตั้งเป้าคือ เราได้เรียนรู้อะไรบ้าง นั่นแกละดีแล้ว
ขั้นตอนที่ 6
ถ้าคุณอยู่ในตำแหน่งหัวหน้าของทีม
สิ่งที่ควรทำคือ การช่วยเหลือทีมและแบ่งปันความรู้ต่าง ๆ ให้กับทีม
เพื่อให้ทุกคนมีความรู้ความเข้าใจไปในทิศทางเดียวกัน
ไม่ใช่หวงความรู้หรือหวงงาน
การทำงานเป็นทีมสำคัญมาก ๆ
ขั้นตอนที่ 7
ในการทำงานนั้น การทดสอบเป็นคู่กับการพัฒนาเสมอ
ดังนั้นการพูดคุยระหว่าง developer และ tester จึงขาดไม่ได้เลย
ทั้งแบบทางการและไม่ทางการ
เพื่อทำให้เห็นว่า
เรากำลังทำอะไรกันอยู่
เรากำลังพัฒนาอะไร
มี scenario ใดบ้างที่ต้องให้ความสำคัญเป็นพิเศษ
มีอะไรที่ต้องการความช่วยเหลือ
มีอะไรที่ยังไม่เข้าใจ หรือ เข้าใจไม่ตรงกัน
เพื่อช่วยทำให้เราพัฒนาระบบงานที่มีคุณภาพที่ดีขึ้น
ขั้นตอนที่ 8
ถ้าเบื่องานการทดสอบแบบ manual testing
ลองคุยกับหัวหน้าดูว่า
จะของานการทดสอบแบบอื่น ๆ มาทำได้ไหม
ทั้ง security testing, performance testing และ automated testing
เพื่อจะได้ลองและเรียนรู้สิ่งใหม่ ๆ ดูบ้าง
ขั้นตอนที่ 9
คำถามคือ ในปัจจุบันคุณเรียนรู้อะไรเพิ่มขึ้นบ้าง
อ่านหนังสือเกี่ยวกับการทดสอบและการพัฒนา software บ้างไหม ?
อ่านบทความอะไรเพิ่มบ้างในแต่ละวัน ?
เข้าร่วมงาน conference/meetup อะไรบ้างไหม ?
ถ้ายังไม่ทำเลย ลงมือเถอะนะ
เริ่มจากตัวคุณเองก่อน
สุดท้ายแล้ว
ถ้าทำทุกอย่างที่ผ่านมาแล้ว ยังคิดว่างานที่ทำยังน่าเบื่ออยู่อีก
ลองถามหัวหน้าเรื่องการเปลี่ยนงานหรือ project ทำดูบ้าง
แต่ถ้าเปลี่ยนแล้วงานยังน่าเบื่อ บริษัทยังน่าเบื่อ
น่าจะถึงเวลาที่ต้องเปลี่ยนบริษัทแล้วนะ !!