sennalabs-blog-item1 sennalabs-blog-item2
sennalabs-blog-banner

Quality Assurance

ทุกคนเคยสงสัยกันไหมว่า QA (Quality Assurance) และ Tester นั้นมีความต่างกันอย่างไร งั้นเรามาดูกัน

คำว่า Quality Assurance นั้นในมุมมองของผมจะยกตัวอย่างหลักๆดังนี้
  • เลือกหรือหาวิธีที่ดีที่สุดมาทดสอบ product 
  • เลือกใช้กระบวนการเพื่อทดสอบคุณภาพของ Product ให้ออกมาได้ประสิทธิภาพมากที่สุด
  • ส่งมอบ Product ที่มีคุณภาพมากที่สุด
  • ป้องกันการเกิด Bug หรือ Defect หรือ Issue

คำว่า Tester นั้นในมุมมองของผมจะยกตัวอย่างหลักๆดังนี้ 
  • ตรวจสอบและค้นหา Bug หรือ Defect หรือ Issue ให้ได้มากที่สุดเพื่อให้ Product มีคุณภาพมากที่สุด

จากการที่เราได้พอรู้ว่า QA และ Tester มีความแตกต่างกันอย่างไรแบบพอสังเขบแล้วทีนี้เรามาดูกันว่าการจะเป็น QA หรือ Tester ต้องรู้อะไรบ้างและมีการทำงานอย่างไร จริงๆแล้ว ผมจะรวมร่างทั้ง QA และ Tester เลยเพราะการทำงานจริงๆมันต้องใช้ทั้ง 2 อย่างนี้ 
ถามว่าต้องรู้อะไรบ้าง หลักๆเลย 

  • Mindset ด้าน Business 
ถ้าเราไม่เข้าใจทางด้าน Business เราจะไม่สามารถรับรู้ได้ถึงคุณภาพที่ดีที่สุดของ software เราได้เลย ดังนั้น Business ก็เป็นสิ่งสำคัญสำหรับ QA หรือ Tester ด้วยเช่นกัน
  • Backend 
สำหรับ QA หรือ Tester ก็ควรที่จะมี knowledge ด้าน 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 ให้แก่ PO หรือ ลูกค้า จะเป็นการนำเสนอ features ที่พัฒนาเสร็จแล้ว หากมีการเปลี่ยนแปลงหรือเพิ่มเติมก็ Note ไว้ เพิ่อนำไปพัฒนาในครั้งต่อไป (Next Sprint)

      จากที่กล่าวมาทั้งหมดการทำงานของ QA หรือ Tester ถือว่าเป็นส่วนหนึ่งในทีม Develop ที่สำคัญเพราะต้องคอยแนะนำร่วมมือกัน หรือหาวิธีป้องกันไม่ให้เกิด Bug เพื่อให้ Product นั้นมีคุณภาพที่ดีที่สุด

Written by Smart • 20 Feb 2020