QA กับ Tester… 2 อาชีพนี้ เหมือนกันไหม?
หลายครั้งที่เราได้ยินคนเรียก นักทดสอบระบบว่า Software Tester ในขณะที่ QA หรือ Quality Assurance ก็ทำหน้าที่ทดสอบระบบเหมือนกัน…แล้ว 2 ตำแหน่งนี้ทำงานเหมือนหรือต่างกันยังไง?
.
ในการเขียน Software (Web หรือ Application) ขึ้นมาสักชิ้นหนึ่งโดยทีม Programmer / Software Developer ทุกครั้งก่อนนำไปใช้งานจริง จะต้องมีการ Test หรือทดสอบระบบของ Software นั้น ๆ เพื่อให้ระบบทำงานได้ตามที่นักพัฒนาต้องการหรือคาดหวังไว้ โดยผู้ที่ทำการทดสอบระบบ เราเรียกว่า Software Tester นั่นเอง แต่ในหลายองค์กร เราก็เรียก Tester ว่า QA หรือ Quality Assurance นอกจากความต้องการทดสอบให้ระบบรันไปตามที่ควรจะเป็นแล้ว Tester / QA ยังต้องคอยหาจุดบกพร่อง หรือ Bug ที่จะเกิดขึ้นระหว่างใช้งานระบบ รวมถึงต้องคอยติดตาม ทำการทดสอบซ้ำ ๆ เรื่อย ๆ เพื่อให้ Software นั้นยังคงทำงานอย่างมีประสิทธิภาพและประสิทธิผลอยู่เสมอ
.
Software Tester กับ QA เหมือนหรือต่างกันอย่างไร
จริง ๆ แล้ว หน้าที่หลักของ 2 ตำแหน่งงานนี้คือ ทดสอบระบบและหาจุดบกพร่อง ทำ Test Plan, Test Scenario, Test Case, Test Script แต่ในความเหมือนนั้นก็มีความแตกต่าง คือ Tester จะคอยตรวจสอบและค้นหา Bug, Defect หรือ Issue ให้ได้มากที่สุด เพื่อให้ระบบที่กำลังพัฒนานั้นมีคุณภาพ ส่วน QA จะเน้นที่การป้องกันการเกิด Bug, Defect หรือ Issue และหาวิธีที่ดีและเหมาะสมที่สุดในการนำมาทดสอบระบบ โดยใช้กระบวนการทดสอบอย่างมีประสิทธิภาพและประสิทธิพล ที่สำคัญ QA อาจมีความรู้ด้าน Business และ Technology อื่น ๆ เพิ่มเติมเข้ามาด้วย เพื่อประสิทธิภาพและประสิทธิผลสูงสุดของชิ้นงานที่กำลังพัฒนาอยู่นั่นเอง
.
รูปแบบการ Test มี 2 แบบ
.
Manual Testing : จำลองว่าคือ User ที่ใช้งานระบบจริง ๆ กรอกข้อมูล ทำตามรายการตาม Test Script ที่ออกแบบไว้ โปรเจคใหญ่ ๆ ก็จะใช้เวลาเวลานาน เพราะมันคือการใช้แรงงานคนในการ Test แต่การทดสอบแบบ Manual จะทำให้เห็นจุดบกพร่องที่ชัดเจนและรายงานผลเพื่อทำการแก้ไขได้ทันที ช่วยประหยัดค่าใช้จ่าย และหากเป็นการ Test ที่มีข้อมูลเยอะมาก ๆ อาจทำให้เกิดข้อผิดพลาดจากการ Test ได้ง่ายกว่า
.
Automated Test : ใช้ Tools สำหรับการ Test โดยการ Coding ให้ระบบรันการทดสอบด้วยตัวเอง ไม่ต้องใช้แรงคนในการกด ๆ จิ้ม ๆ ช่วยลดระยะเวลาในการ Test ได้มาก แต่การทดสอบแบบ Automated จะไม่เหมาะกับการทดสอบกับโปรเจคระยะสั้น ๆ เพราะการเตรียม Coding อาจใช้ต้นทุนสูงจากการจ้าง Tester ที่เขียนโค้ดได้ และใช้เวลานานเมื่อเทียบกับระยะเวลาของโปรเจค เรียกได้ว่า สะดวกแต่ไม่คุ้มค่ากับสิ่งที่จะได้กลับมา ดังนั้น Automated Testing จึงเหมาะกับการทดสอบระบบแบบระยะยาว คือใช้ Code ชุดเดิม ปรับแก้เล็กน้อยเมื่อมีการเพิ่ม Feature ใหม่ ๆ เข้าไป และยังสามารถสร้าง User จำนวนมากเพื่อทดสอบระบบในครั้งเดียวได้เลย
.
อยากเป็น Tester / QA ต้องรู้อะไรบ้าง
.
Business เป็นเรื่องสำคัญ
ถ้าเรารู้ว่าธุรกิจที่เรากำลังพัฒนาระบบให้อยู่นั้นมีจุดประสงค์หรือเป้าหมายที่วางไว้อย่างไร เราก็จะสามารถพัฒนาโปรแกรมที่สามารถตอบโจทย์กลุ่มเป้าหมายที่ต้องใช้งานโปรแกรมของเราได้
.
Tools ใหม่ ๆ ที่ไม่ควรพลาด
ถึงแม้การทดสอบระบบจะสามารถทำได้โโยไม่ต้องใช้ Tools หรือ Frameworks ใด ๆ แต่การใช้เครื่องมือได้หลากหลาย เช่น Robot Framework, Cypress, Selenium etc. ก็จะส่งผลดีแบบ 100% แน่นอน เพราะ Skill การใช้ Test Tools บางตัวกำลังเป็นที่ต้องการของตลาดแรงงานสุด ๆ เลยหละ
.
รู้เรื่อง Backend ไว้ เป็นดี
ความรู้ด้านระบบหลังบ้าน หรือ Backend ก็ถือว่า is a Plus เพราะถ้าเรามีความรู้ด้าน Backend เราจะรู้ที่มาที่ไปของปัญหาที่เกิดขึ้นระหว่าง Test จะช่วยแก้ปัญหาได้เร็วขึ้นและตรงจุด แถมคุยกับทีม Developer รู้เรื่องมากขึ้นด้วย
.
References :
https://geniussoft.co.th/software-tester-qa
https://www.thinknet.co.th/how-we-work/
https://sennalabs.com/th/blogs/qa-quality-assurance-tester
Related Content :