QA (Quality Assurance) และ Tester ต่างกันอย่างไร
Quality Assurance
- เลือกหรือหาวิธีที่ดีที่สุดมาทดสอบ product
- เลือกใช้กระบวนการเพื่อทดสอบคุณภาพของ Product ให้ออกมาได้ประสิทธิภาพมากที่สุด
- ส่งมอบ Product ที่มีคุณภาพมากที่สุด
- ป้องกันการเกิด Bug หรือ Defect หรือ Issue
Tester
ตรวจสอบและค้นหา Bug หรือ Defect หรือ Issue ให้ได้มากที่สุดเพื่อให้ Product มีคุณภาพมากที่สุด
QA และ Tester ต้องรู้อะไรบ้าง
จากการที่เราได้พอรู้ว่า QA และ Tester มีความแตกต่างกันอย่างไรแบบพอสังเขปแล้ว ทีนี้เรามาดูกันว่าการจะเป็น QA หรือ Tester ต้องรู้อะไรบ้างและมีการทำงานอย่างไร จริง ๆ แล้ว ผมจะรวมร่างทั้ง QA และ Tester เลยเพราะการทำงานจริง ๆ มันต้องใช้ทั้ง 2 อย่างนี้
Mindset ด้าน Business
ถ้าเราไม่เข้าใจทางด้านธุรกิจ (business) เราจะไม่สามารถรับรู้ได้ถึงคุณภาพที่ดีที่สุดของ software เราได้เลย ดังนั้นธุรกิจก็เป็นสิ่งสำคัญสำหรับ QA หรือ Tester ด้วยเช่นกัน
Backend
สำหรับ QA หรือ Tester ก็ควรมีความรู้ด้าน Backend อยู่บ้าง ถามว่าทำไมต้องรู้ ก็เพราะเวลาเราได้ทำการทดสอบระบบเเล้วดันเกิดปัญหาเราจะรู้เลยว่าปัญหาส่วนนี้มาจากไหน เช่น case : flow payment success เเต่ทดสอบแล้วเกิด fail จ่ายเงินไม่สำเร็จเราจะรู้เลยว่า อ้อ ปัญหาที่เกิด เกิดจาก API เส้นนี้มีปัญหานะ ไม่ได้ส่งค่านี้มาหลังจาก payment ไปแล้ว เป็นต้น
Tech หรือ Tools ใหม่ ๆ
เพื่อที่เราจะได้คุยกับ Dev etc. รู้เรื่อง ตัวอย่างเช่น มี Tech อะไรใหม่ในปีนี้ที่เหมาะกับการทำทดสอบใน Product นี้ และสามารถรองรับการทำงานร่วมกับเหล่า Dev ได้ไหม Framework (Automated Testing tools) ตัวนี้เหมาะหรือไม่ มาดูการทำงานกันบ้างว่าเป็นอย่างไร
Requirement Analysis
ทำความเข้าใจ Requirement สงสัยอะไรให้ถาม ณ ตอนนั้นเลย คุยในทีมให้เข้าใจตรงกัน จัดลำดับความสำคัญของ stories และต้องประมาณการว่าจะใช้เวลาในการทดสอบเท่าไร เพื่อเป็นข้อมูลในการทำ Planning
Scenario
คิด case ในการทดสอบให้ครอบคลุมการทำงานของระบบให้ได้มากที่สุด เพื่อให้ระบบมีคุณภาพออกมามีประสิทธิภาพมากที่สุด
Process (Develop) ส่วนนี้จะเป็นการทำ Manual Test และ Automate Test บางครั้งต้องร่วมมือกับ Dev ในการ Test หรือ Run Test เพื่อให้ครอบคลุมมากที่สุด หาก Test เเล้วเกิดเจอ case แปลก ๆ ก็สามารถเพิ่ม Scenario ได้ และสร้างชุดทดสอบ (Automate Test) ตามที่เราได้คิด case ไว้ หากเจอ Bug อันนี้เราก็ต้องทำ Bug report เพื่ออธิบายให้ Dev เข้าใจว่าเกิดได้อย่างไร
UAT (User Acceptance Test)
จะเป็นด่านสุดท้ายก่อนที่จะส่งมอบ Product ให้แก่ Project owner (PO) หรือ ลูกค้า จะเป็นการนำเสนอ features ที่พัฒนาเสร็จแล้ว หากมีการเปลี่ยนแปลงหรือเพิ่มเติมก็ Note ไว้ เพื่อนำไปพัฒนาในครั้งต่อไป (Next Sprint)
จากที่กล่าวมาทั้งหมดการทำงานของ QA หรือ Tester ถือว่าเป็นส่วนหนึ่งในทีม Develop ที่สำคัญเพราะต้องคอยแนะนำร่วมมือกัน หรือหาวิธีป้องกันไม่ให้เกิด Bug เพื่อให้ Product นั้นมีคุณภาพที่ดีที่สุด