169 wordpress feature image (24)

QA ที่ดีคือคนที่หา Bug ได้เยอะจริงมั้ย

หลายๆทีมคงเป็นแบบนี้กันอยู่ใช่มั้ยคะ ไม่ว่าจะ Dashboard ที่โชว์ ranking ตามจำนวนบั๊กที่หาได้ หรือ KPI ที่วัดจากจำนวน Ticket ที่เปิด 😅กลายเป็นเราวัดผลงานของ QA กันด้วยจำนวนบั๊กที่หาเจอ แต่ลองมาคิดดูอีกทีนะคะ ถ้าทีมส่งมอบ product ออกไปโดยที่ไม่มีบั๊กเลยQA ในทีมนั้นหาบั๊กได้ 0 ตัว แปลว่าเขาทำงานได้ดีที่สุด หรือ แย่ที่สุด บั๊กน้อย อาจไม่ได้แปลว่า QA ทำงานน้อยนะคะแต่อาจจะแปลว่า QA เข้าไปช่วยทำให้งานมีคุณภาพมากขึ้น และป้องกันได้ดีตั้งแต่ต้น ลองเปรียบเทียบสองทีมนี้ดูนะคะ ทีม A 👉 QA รอของมา -> เข้าไปเทส -> เจอบั๊ก 20 ตัว👉 แล้วก็ส่งกลับไปให้ Dev แก้ 👉 แก้เสร็จเรียบร้อย -> ส่งกลับมาให้เทส -> QA เจอบั๊กอีก 5 ตัว -> […]

QA ที่ดีคือคนที่หา Bug ได้เยอะจริงมั้ย Read More »

169 wordpress feature image (29)

Bug Report ที่ดี แบบที่ Dev อ่านแล้วแก้ได้เลย

ถ้าใครเคยส่ง Bug Report ไปแล้วโดนถามกลับมาว่า “Reproduce ยังไง” หรือ โดนตีกลับมาว่า “ไม่ใช่บั๊ก” บ่อยๆ นั่นอาจจะเป็นสัญญาณว่า report ของเรายังไม่สามารถช่วยให้ Dev ทำงานได้ อย่าเพิ่งโทษว่าเป็นความผิดของใครนะคะเรามาดูกันดีกว่าว่า Bug Report ที่ดี ควรจะมีอะไรบ้าง วันนี้พี่กิ่งเอา 3 เคสจริงมาให้ดูกันว่า แบบที่ ✅ ควรทำ และ ❌ ไม่ควรทำ ต่างกันยังไง ตัวอย่างที่ 1: ระบบคำนวณส่วนลดผิด ❌ แบบนี้งง Description: ใส่ coupon แล้วราคาไม่ถูกExpected: แสดงส่วนลดถูกต้องActual: คำนวณส่วนลดผิด ปัญหาคือ “ไม่ถูก” “ถูกต้อง” “ผิด” คือยังไง คำนวณส่วนลดผิด หรือ แสดงผลไม่ถูก อ่านแล้วบอกไม่ได้เลยใช่มั้ยคะ dev ต้องเดาเอาว่าจะไปเริ่มดูโค้ดตรงไหน จะลองเทสเองด้วย coupon ไหนกับสินค้าอะไร

Bug Report ที่ดี แบบที่ Dev อ่านแล้วแก้ได้เลย Read More »

169 wordpress feature image (27)

5 สิ่งที่ QA มือใหม่มักทำพลาด (และวิธีที่ดีกว่า)

ไหน ใครเป็นมือใหม่บ้างคะ บางทีตอนที่เราเป็น QA แรกๆ เนี่ย เราไม่รู้หรอกว่าสิ่งที่เราทำไปมันดีหรือไม่ดียังไงวันนี้เลยอยากจะมาแชร์ 5 ข้อ ที่มักจะเห็นคนพลาดกันบ่อยๆ (และตัวพี่กิ่งเองก็เคยผ่านมาทุกข้อเลย 😅) ลองมาดูกันนะคะ ว่ามีตรงไหนที่เราสามารถทำให้ดีขึ้นได้บ้าง ❌ เทสทุกอย่างให้ครบก่อน✅ เทสให้ตรงจุดก่อน เทสครบก็ควรจะเป็นเรื่องดีไม่ใช่เหรอ แต่จริงๆ การที่เราจัดลำดับไม่ถูก แล้วพุ่งไปเทสเคสยิบย่อยก่อน เพราะอยากเทสให้ครบทุกอย่าง ก็อาจจะทำให้เราเจอบั๊กที่สำคัญจริงๆ ช้ากว่าที่ควรจะเป็นนะคะ ลองถามตัวเองว่า “ตรงไหนที่สำคัญสำหรับ User” แล้วเริ่มจากตรงนั้นก่อนถ้ามีบั๊ก เราจะได้แก้จุดที่สำคัญก่อนค่ะ ❌ รอ dev ส่งงานแล้วค่อยเทส ✅ คุย requirement ก่อน dev เริ่มโค้ด บั๊กที่เจอหลังจากเขียนโค้ดเสร็จแล้ว กับบั๊กที่เจอตั้งแต่ก่อนเริ่มโค้ด ราคาต่างกันมหาศาลค่ะแค่นัดคุย scenario กับ dev ก่อนจะเริ่มงานนั้นๆ ก็ช่วยให้ประหยัดเวลาได้เยอะ และคุณภาพของงานก็ดีขึ้นตามไปด้วย ❌ เขียน test case เยอะ = QA ที่ดี ✅

5 สิ่งที่ QA มือใหม่มักทำพลาด (และวิธีที่ดีกว่า) Read More »

169 wordpress feature image (25)

QA ที่ดี ไม่ใช่คนจับผิด แต่คือคนที่ทำให้ทีม deploy ได้แบบไม่ต้องสวดมนต์

เชื่อว่าหลายๆทีมคงจะเคยเจอโมเมนต์ที่กด deploy ขึ้น productionแล้วทุกคนนั่งจ้องหน้าจอ ไม่กล้าลุกไปไหน เอาแต่จ้อง slack รอดูว่าจะมีอะไรระเบิดมั้ย บางทีเราก็อาจจะต้องรอ deploy ดึกๆ เพราะกลัวจะไปพังตอนลูกค้าใช้อยู่บางทีก็ต้องมีคนอยู่เวรเฝ้าหลังจากนั้นอีก อยู่ยาวกันจนตีสามตีสี่หรือบางที เราก็กังวลเวลาที่แก้บั๊กช่วงใกล้ๆ release จนต้องเร่ง retest ทุกอย่างซ้ำจนดึกดื่น เพราะไม่มั่นใจว่าที่แก้ไปจะไปทำอะไรพังบ้าง ถ้าทีมของคุณเป็นแบบนี้อยู่ อยากบอกว่า มันไม่ใช่เรื่องที่ต้องทนนะคะ และมันแก้ได้ ‼️ 🙏 ทำไม deploy ทีไรต้องสวดมนต์ตลอด ส่วนใหญ่ไม่ได้เกิดจากทีมเราเขียนโค้ดไม่ดีค่ะ และ ไม่ได้เกิดจากเทสไม่ละเอียดพอด้วยแต่มันมักจะเกิดจากการที่ทีมไม่รู้ว่า “สิ่งที่แก้ไปจะกระทบอะไรบ้าง”และไม่มั่นใจว่า “ที่เทสไปนั้นครอบคลุมพอหรือยัง” ลองดูเหตุการณ์นี้นะคะ แต่พอ deploy เท่านั้นแหละ 💥 โค้ดที่แก้ดันไปกระทบส่วนที่ตรวจสอบ promo code ได้ยังไงก็ไม่รู้ กลายเป็นลูกค้าใช้ส่วนลดไม่ได้ และเราก็ไม่รู้เรื่องนี้จนลูกค้าไปเจอนั่นแหละ เพราะไม่มีใครคิดถึง scenario นี้ตั้งแต่แรก นี่คือตัวอย่างคลาสสิคของการที่ทีม “เทสผ่าน” แต่ก็ไม่ทำให้มั่นใจอยู่ดีค่ะ เพราะเทสที่ทำไปไม่ได้ครอบคลุม scenario ที่อาจจะกระทบทั้งหมด 🤔 แล้ว QA จะมาช่วยตรงนี้ได้ยังไง??? เรามาลองดูว่า

QA ที่ดี ไม่ใช่คนจับผิด แต่คือคนที่ทำให้ทีม deploy ได้แบบไม่ต้องสวดมนต์ Read More »

169 wordpress feature image (23)

Dev บอกว่าไม่ใช่ Bug… แล้วเราต้องทำยังไงต่อ?

“It’s not a bug, It’s a feature”“ไม่ใช่บั๊กนะ มันเป็นฟีเจ้อ” คลาสสิค!! เป็นประโยคที่ QA ทุกคนเคยได้ยินกันมาแน่ๆ ใช่มั้ยคะ 😅 บางทีเราแน่ใจสุดๆ ว่ามันพังแน่ๆ กด reproduce ซ้ำได้ทุกรอบแต่พอ report ไปปุ๊บ โดนสวนกลับทันที “อันนี้ตั้งใจทำแบบนี้แหละ” แล้วเราจะทำยังไงต่อดีล่ะ!?. ก่อนอื่นเลย อยากให้ทุกคนเข้าใจก่อนนะคะ ว่าเราไม่ได้จะมาหาว่าใครผิดใครถูก ไม่ได้จะบอกว่าใครดีกว่าใครเพราะ “Bug” หรือ “Not a Bug” มันมี grey area อยู่เยอะมาก ลองนึกตามดูค่ะ ใครเคยเจอสถานการณ์เหล่านี้บ้าง ❌ Requirement ไม่ได้เขียนไว้ชัดเจนระบบทำงานตรงตาม spec แต่ user งงมาก แบบนี้เป็นบั๊กมั้ย? ❌ Dev กับ QA ตีความ Requirement ต่างกันบางทีอาจจะมี edge

Dev บอกว่าไม่ใช่ Bug… แล้วเราต้องทำยังไงต่อ? Read More »

169 wordpress feature image (22)

เป็น QA แบบใด ทำไมปล่อยบั๊กขึ้น Production

มีใครคิดว่าซอฟท์แวร์ที่ดีต้อง “Zero Defect” บ้างคะ ระบบที่ดีที่จะเอาขึ้นได้ต้องเพอร์เฟค 100% ถ้าเจอบั๊กแม้แต่นิดเดียว ก็ต้องรีบขวางไว้ทันที ผลคืออะไรรู้มั้ยคะ กลายเป็นเราทำงานเครียด รู้สึกต้องสู้ ต้องไฟท์ตลอดเวลา อยากให้ทุกอย่างออกมาสมบูรณ์แบบที่สุด แต่พอเราเติบโตขึ้น ก็ทำให้รู้ค่ะว่า เราไม่ควรหมกมุ่นกับความสมบูรณ์แบบที่จับต้องไม่ได้ แต่เราจะต้องทำงานแบบมีกลยุทธ์ คิดถึงRisk และ Cost ที่จะเกิดขึ้นเสมอ ลองมาดูสถานการณ์ตัวอย่างกันค่ะ ว่าแบบไหนเราปล่อยได้ แบบไหนปล่อยไม่ได้ แล้วเราจะจัดการกับมันยังไง 🚨 เมื่อ Business Deadline สำคัญกว่า Minor Bug ลองคิดดูว่าถ้าพรุ่งนี้บริษัทจะต้องปล่อยแคมเปญใหญ่ (เช่น 11.11) ที่ใช้งบการตลาดมหาศาล ฟีเจอร์ที่กำลังจะออกมีมูลค่าสูงมากต่อยอดขาย แต่ดันมาเจอบั๊กในนาทีสุดท้าย แล้วเราจะทำยังไงกับบั๊กพวกนั้นดี ถ้าแก้ก็อาจจะต้องมาเร่งเทสฟีเจอร์นั้นใหม่อีกรอบ แล้วอาจจะทำให้ปล่อยฟีเจอร์นี้ไม่ทัน ขั้นแรกเราต้องประเมินก่อนค่ะว่าบั๊กนี้ “ร้ายแรง” แค่ไหน โดยอาจจะคุยกับฝั่ง Business หรือ PO เพื่อตกลงร่วมกันด้วยก็ได้ ถ้าบั๊กที่เจอเป็น Minor Bug เช่น “ปุ่มแชร์ลง Social

เป็น QA แบบใด ทำไมปล่อยบั๊กขึ้น Production Read More »

169 wordpress feature image (21)

The Manual QA Imposter Syndrome

ตลาดหาแต่ Automation… แล้ว Manual แบบเราล่ะเอาไงดี ใครเป็น Manual QA บ้าง เปิดเว็บหางานทีไร เจอแต่คำว่า “Must have Cypress/Playwright experience”, “Experience in Selenium or Automated Testing Frameworks”… อ่านแล้วก็อดใจสั่นไม่ได้ใช่มั้ยคะ เชื่อว่าหลายคนคงจะเกิดอาการ Imposter Syndrome กำเริบจนแทบจะหมดสิ้นแพชชั่น และแอบตั้งคำถามกับตัวเองว่า “แล้วถ้าเรายังเขียนสคริปต์ไม่คล่อง เราจะรอดมั้ย” แต่ความจริงที่หลายๆคนมักไม่ได้พูดถึงคือ “ก่อนที่เราจะเขียน Automation ได้ระดับเซียน เราก็ต้องมี เซนส์ของการเป็น QA ที่ดี ให้ได้ก่อนค่ะ” เครื่องมือ Automation มันฉลาด และทำงานไวก็จริง แต่มันไม่สามารถแยกให้เราได้ค่ะว่า Test Case ที่สำคัญ หรือ Test Case ที่มีคุณค่าต่อ Business นั้นอยู่ตรงไหนบ้าง มันแค่รันตามสิ่งที่เราเขียนสคริปต์สั่งไว้ ถ้าเรากระโดดไปเขียน

The Manual QA Imposter Syndrome Read More »

169 wordpress feature image (20)

Server ยังต้องมี Downtime แล้วทำไมเราจะหยุดพักบ้างไม่ได้!

วันนี้อยากชวนทุกคนมานั่งคุยกันในหัวข้อสบายๆ บ้างนะคะแต่คิดว่าเรื่องนี้เป็นอีกหัวข้อนึงที่สำคัญมากๆ ในวงการ Tech ที่เรามักจะใช้ชีวิตกันเหมือน “รันโหลดเทส” ใส่ตัวเองอยู่ตลอดเวลา ใครเป็นแบบนี้บ้างยกมือเลยค่ะ! 🙋‍♀️🙋‍♂️  บางทีก็ทำงานลากยาวจนถึงดึก เจอ Production Bug ต้องอยู่กันถึงเช้า เสาร์-อาทิตย์ก็เผลอคิด Test Case วันหยุดก็แว้บมาเปิดคอมเขียน Automate เพิ่มซักหน่อย… แล้วพอถึงวันทำงานเราก็ลากร่างพังๆ ไปเข้า standup ต่อ พี่กิ่งก็เคยผ่านจุดนั้นมาแล้วค่ะ บางทีเราก็เผลอคิดไปว่า “ถ้าเราหยุด งานจะเดินต่อไม่ได้” หรือ “หยุดไปแล้ว กลับมางานก็จะยิ่งเยอะกว่าเดิม” แต่รู้มั้ยคะ ความจริงแล้ว “การพักผ่อน ก็คือส่วนหนึ่งของการทำงานที่มีประสิทธิภาพ” เหมือนกัน ถ้าร่างกายเราเป็น Server คิดว่าจะเกิดอะไรขึ้นบ้างคะ 🔥 วิ่งไปเรื่อยๆไม่พัก = เหมือนเรารัน script ไปเรื่อยๆตลอดเวลาอาจจะเกิดอาการ Overheat, CPU พุ่งเกิน 100% หรืออาจจะแถม Memory Leak เข้าไปอีก เราไม่สามารถรันระบบไปเรื่อยๆ 24/7

Server ยังต้องมี Downtime แล้วทำไมเราจะหยุดพักบ้างไม่ได้! Read More »

169 wordpress feature image (19)

เราจะเอาตัวรอดยังไง ในยุค AI ครองเมือง

🚨 AI ล้ำจนน่ากลัว… หรือเราแค่กำลังลืมไปว่า “คุณค่า” ของเราอยู่ตรงไหน ช่วงนี้ไถฟีดทีไร ก็แอบ (ไม่แอบ) เหนื่อย และ แพนิค ไม่ได้เลยนะคะเชื่อว่าชาว Tech ทุกคนก็คงจะรู้สึกคล้ายๆกัน วงการ Tech ตอนนี้หมุนไวมากไวแบบที่เมื่อวานเพิ่งหัดใช้ Tool ตัวนึง วันนี้มีตัวใหม่ออกมาให้หัดใช้อีกแล้ว เดี๋ยวก็มี Claude Cowork ที่กดเปิดไฟล์ข้ามโปรแกรม ทำงานแทนเราได้เดี๋ยวก็ OpenClaw ที่คนแห่กันไปซื้อ Mac Mini มารันสคริปต์อัตโนมัติกันเต็มไปหมด พี่กิ่งเห็นหลายๆคนทั้งในวงการและนอกวงการ พากันเริ่มตั้งคำถามกับตัวเองว่าเราจะรอดมั้ย หรือเราจะตกงานกันหมด เพราะ AI ทำแทนได้เร็วกว่าเป็นสิบเท่าแล้วแบบนี้หนูจะโดนเด้งเมื่อไหร่ 🧘‍♀️ ทุกคน… ไปชงกาแฟก่อนค่ะ สูดหายใจลึกๆ แล้วมานั่งคุยกัน อยากให้ทุกคนลองถอยออกมาก้าวหนึ่ง แล้วลองมองภาพรวมดูก่อนพี่กิ่งกลับรู้สึกว่า เราไม่จำเป็นต้อง “Ride Every Wave” ก็ได้ค่ะ แบบนั้นอาจจะเหนื่อยเกินไปแต่เราต้องเลือกคลื่นที่เหมาะกับเรามากที่สุดค่ะ จริงอยู่ที่ AI ยุคนี้เก่งมาก ในเรื่องของการทำสิ่งต่างๆ  สั่งให้เขียนโค้ดมันก็เขียนให้สั่งให้ออกแบบระบบมันก็ออกแบบมาให้อย่างสวยงามสั่งให้เขียน Test

เราจะเอาตัวรอดยังไง ในยุค AI ครองเมือง Read More »

169 wordpress feature image (18)

แค่คำว่ารักคงยังไม่พอ แค่ Happy Path ก็อาจจะยังไม่พอเหมือนกัน

เทสผ่านฉลุย เขียวทุกเคส ให้ผ่าน พร้อม Releaseแต่พอ Deploy ขึ้น Prod เท่านั้นแหละ User ดันเจอบั๊กซะงั้น!!! เนี่ยแหละชีวิต พี่กิ่งเชื่อว่า QA ทุกคนต้องเคยผ่านเหตุการณ์นี้กันมาบ้างแหละบอกเลยว่า มันไม่ได้แปลว่าเราเทสไม่เก่งนะคะแต่มันเกิดจากการที่เราอาจจะเผลอเดินตามสิ่งที่เรียกว่า“Happy Path” มากเกินไป Happy Path คือเส้นทางที่โลกสวยงามที่สุดที่จะเกิดขึ้นได้ค่ะUser กรอกข้อมูลถูกต้องเป๊ะ กดตามสเต็ป 1-2-3 ไปเรื่อยๆอย่างถูกต้องแต่ในโลกความเป็นจริง User มีมากมายหลากหลาย บางทีก็อาจจะทำอะไรที่ “ไม่ปกติ” บ้าง และบั๊กก็มักจะซ่อนอยู่แถวๆนั้นแหละค่ะ ไม่ใช่ว่า Happy Path ไม่สำคัญนะคะ มันคือสิ่งที่สำคัญมากๆๆๆๆ และควรจะเทสเป็นลำดับแรกแต่สิ่งที่นอกเหนือจากนั้นก็สำคัญเช่นกัน และที่สำคัญกว่านั้นคือ เราจะทำยังไง ถึงจะเทสความ “ไม่ปกติ” เหล่านั้นได้ครอบคลุมมากที่สุด โดยไม่เหนื่อยจนเกินไป วันนี้พี่กิ่งเลยอยากมาแชร์ 2 เทคนิคการทำ Test Case Design ที่จะช่วยให้เราดักจับบั๊กได้ดีขึ้นช่วยลดจำนวน Test Case ลง แต่ได้ Coverage

แค่คำว่ารักคงยังไม่พอ แค่ Happy Path ก็อาจจะยังไม่พอเหมือนกัน Read More »