169 wordpress feature image (3)

อยากเป็น QA Advocate ต้องเริ่มยังไง?

เปิดโพย 3 คำถามกันตายตอน Refinement

เคยมั้ย ที่เรานั่งอยู่ในประชุม Refinement (หรือ Grooming) เพื่อพูดคุยเกี่ยวกับ Requirement กัน
Dev ก็คุยกันเรื่อง Logic วุ่นวาย PO ก็อธิบาย Flow งานมารัวๆ
ส่วนเราที่เป็น QA ก็ได้แต่นั่งฟัง แล้วก็จด Requirement ตามเงียบๆ

“เดี๋ยว Dev โค้ดเสร็จส่งของมาให้แล้วค่อยเอามาเทสแล้วกัน”

ตัดภาพมาที่อีก 1 อาทิตย์… Dev ส่งของมาให้และเราก็กำลังจะเริ่มเทส

“อ้าว ถ้า User กดปุ่ม Back ตอนจะจ่ายเงินล่ะ”

“แล้วถ้ากรอกตัวเลขติดลบตรงนี้ จะพังมั้ย”

“ทำไมตรงนี้ไม่ได้ทำ ไม่มี Requirement บอกไว้เหรอ”

แล้วยังไงต่อล่ะทีนี้…

สุดท้ายเราก็จะเดินไปบอกทีมว่า “ยัง Deploy ไม่ได้นะคะ ยังมีบั๊กที่ต้องแก้เต็มเลย” 🛑
แต่มาลองคิดดู จริงๆเราสามารถช่วยทีมได้ตั้งแต่ก่อนจะเริ่มเขียนโค้ดอีกนะ!

ถ้าเราอยากจะเป็น QA ร่างทอง ที่ใครๆก็ต้องการตัว
เราต้องเปลี่ยนจากคน “รอเช็ค” เป็นคน “ช่วยไกด์” ค่ะ

ลองเอา 3 คำถามนี้ไปใช้ดูก็ได้ เพื่อที่จะช่วยอุดรอยรั่วมันตั้งแต่ตอนคุย Requirement ไปเลย
เราอาจจะไม่ได้คำตอบทันทีหรอก แต่บางทีคำถามพวกนี้ จะช่วยนำทางให้เกิด “Conversation”
บทสนทนาของทีมที่จะช่วยเคลียร์ปัญหาบางอย่างตั้งแต่แรก

  1. คำถาม What If (แล้วถ้า…)
    คิดง่ายๆว่าเป็นคำถามที่เราคุยกันเพื่อหา Edge Cases นั่นแหละ
    • ตัวอย่างสถานการณ์: กำลังคุยเรื่องฟีเจอร์ “โอนเงิน”
    • คำถาม What if: ถ้า User เน็ตช้า แล้วกดโอนเงินซ้ำๆ จะโดนตัดเงินซ้ำ 2 รอบมั้ย
    • ผลลัพธ์: แทนที่จะรอให้ Dev โค้ดเสร็จแล้วเริ่มเทส เราอาจจะได้คุยกันเรื่อง Idempotency และเพิ่ม requirement ให้ล็อคปุ่มตั้งแต่ตอนดีไซน์เลย ใช้เวลาคุยกันแค่ 5 นาที
      แต่ถ้ารอโค้ดเสร็จแล้วไปเทสเจอ ซึ่งเคสนี้อาจจะไม่เจอในการเทสปกติ ถ้าไม่มีใครนึกถึง แล้วไปเจอตอนทำ Performance test ถึงตอนนั้นก็อาจจะต้องรื้อ Logic กันเป็นวัน
  2. Definition of Success (แล้วเราจะรู้ได้ไงว่ามันสำเร็จ)
    คำถามนี้จะเป็นคำถามที่ช่วยเราเคลียร์ Requirement ให้ชัดเจนขึ้น
    • ตัวอย่างสถานการณ์: PO บอกว่า “อยากให้หน้าจอโหลดเร็วๆ”
    • คำถาม: คำว่าเร็วคือเท่าไหร่ วัดยังไง 2 วินาที หรือ 5 วินาที แล้วถ้าคนใช้พร้อมกัน 10,000 คน จะยังต้องเร็วเท่านี้มั้ย
    • ผลลัพธ์: พอมีคำถามนี้มา จาก Requirement แบบลอยๆ (Vague) ก็กลายเป็นตัวเลขที่เทสได้จริง และวัดผลได้จริง (Measurable) ทำให้ Dev ทำงานได้อย่างมีเป้าหมาย เราเองก็มีเกณฑ์ที่ชัดเจนว่า ผ่านหรือไม่ผ่าน ถ้าไม่ได้คุยกัน อาจจะต้องมาเถียงกันทีหลังว่า “แบบนี้เร็วพอหรือยัง”
  3. Is it testable? (แล้วเราจะเทสสิ่งนี้ยังไง)
    คำถามนี้กาดาวเลยนะ เป็นอีกหนึ่งคำถามที่สำคัญสุดๆ ที่จะช่วยเตรียมความพร้อมของระบบ
    • ตัวอย่างสถานการณ์: Requirement บอกว่าจะเชื่อมต่อกับ Third-party เจ้าใหม่
    • คำถาม: เรามี Sandbox ให้เทสมั้ย หรือต้องเตรียม Mock API เอง แล้วถ้า Data ฝั่งนั้นไม่ส่งมา เราจะโชว์ error ยังไง
    • ผลลัพธ์: นี่คือหัวใจของ Shift-Left เลย ถ้าเราไม่ถาม เราอาจจะต้องมางมอีกเป็นวันตอนที่ Dev ส่งมาให้เทส ก่อนที่จะพบว่ามันเทสไม่ได้ เพราะ Dev ไม่ได้เตรียมโค้ดให้ต่อ Mock API ได้ และ Third-party เจ้านี้ก็ไม่มี sandbox ให้เราใช้ แต่ถ้าเราคุยคำถามนี้ ก็จะช่วยไกด์ให้ทุกคนคิดเรื่อง “วิธีการเทส” ตั้งแต่วันแรก

ได้ 3 คำถามไปแล้ว แต่ทีนี้อาจจะมีบางคนที่ไม่กล้าถาม
เพราะกลัวว่าทีมจะมองว่าเราเรื่องมาก
หรือกลัวว่าจะถามอะไรโง่ๆออกไปแล้วทำให้ดูไม่ดี

ถ้าใครที่กลัวจนไม่กล้าถาม เรามาลองปรับ Mindset กันแบบนี้ดู

  • เราถามเพื่อช่วยทีม ไม่ใช่จับผิด: ลองเปลี่ยนคำพูดนิดหน่อย จาก “ทำไมไม่ทำแบบนี้” เป็น “ถ้าเกิดเคสแบบนี้ เราจะจัดการแบบไหนดีคะ”
  • ใช้ความเงียบให้เป็นประโยชน์: ถ้าคุยกันแล้วเรายังนึกคำตอบไม่ออก ให้ลองหยุดคิดซักแป๊บ แล้วถามต่อว่า “Worst Case ที่แย่ที่สุดที่อาจจะเกิดขึ้น คือแบบไหนคะ” ประโยคนี้มักจะช่วยให้เห็นบั๊กที่ซ่อนอยู่เสมอ แต่ถ้ายังไม่มีใครตอบ เราอาจจะให้เวลาทุกคนไปคิดก่อนแล้วค่อยกลับมาคุยกันใน session หน้าก็ได้ค่ะ
  • คำถามบางคำถามอาจจะไม่ได้เพื่อหาคำตอบเดี๋ยวนั้น: แต่เพื่อทำให้เกิดบทสนทนาในทีม ที่จะช่วยนำไปสู่ Solution ต่อไป หรือบางทีอาจจะช่วยเปิดเผยสิ่งที่ทีมไม่เคยคิดถึงมาก่อน หรือช่องโหว่ใน Requirement ที่เรามีอยู่ แค่เราทำให้ทีมได้คุยกัน ก็ถือว่าช่วยให้งานมีคุณภาพดีขึ้นแล้วค่ะ

ขอย้ำคำเดิมอีกครั้ง “Quality starts with how you think”
คำถามบางอย่างอาจจะดู​ “ง่าย” หรือ “โง่” แต่ไม่เป็นไร
ให้เราคิดไว้ว่า ถามวันนี้ ดีกว่าปล่อยบั๊กแปลกๆไปโผล่ให้ลูกค้าเห็นในวัน Release
แล้วเราก็ต้องมาเร่งแก้กันข้ามคืน (แถมอาจจะโดนลูกค้าด่าอีก)

ถ้าการแก้บั๊กบนกระดาษ​ (Requirement) ราคา 1 บาท
การแก้บั๊กบน Production อาจจะมีราคาสูงถึง 1,000 บาท บวกกับความเครียดที่ไม่รู้ราคาเท่าไหร่
เราสามารถช่วยทีมให้แก้บั๊กไปตั้งแต่บนกระดาษให้มากที่สุด ด้วยการถามคำถามเหล่านี้ค่ะ

ใครกำลังจะประชุมคุย Requirement กับทีม ก็ลองหยิบคำถามพวกนี้ไปใช้ดูนะคะ
แล้วอย่าลืมมาเล่าให้ฟังว่าได้ผลยังไงบ้าง Reaction ของทีมเป็นยังไงบ้าง

ส่วนถ้าใครที่ทำอยู่แล้วก็มาแชร์กันได้ค่ะว่ามีอะไรดีๆที่เกิดขึ้นบ้าง หลังจากเราเริ่มถามคำถามไป

Leave a Comment

Your email address will not be published. Required fields are marked *