Tester หรือ Software tester หรือ Quality Assurance Engineer หรือ Quality Engineer (หลายชื่อจริงๆ แล้วแต่บริษัทจะเรียกชื่อ) คือ คนที่มีหน้าที่ตรวจสอบคุณภาพของ software ที่ถูกผลิตขึ้นมาโดย programmer โดยใช้วิธีการ test ต่างๆ เพื่อให้มั่นใจว่า software ที่จะไปถึงมือลูกค้า มีคุณภาพและปราศจากข้อผิดพลาดหรือผิดพลาดน้อยที่สุด ข้อผิดพลาดเรารู้จักกันว่า bug นั่นเอง
สำหรับบริษัททั่วไป ตำแหน่ง Tester จะถูกควบรวมอยู่ในร่างเดียวกับ Programmer นั่นคือ Code เอง Test เอง Fix เองในร่างเดียว และส่วนใหญ่ก็จะ test เฉพาะส่วนที่ทำงานได้ปกติเท่านั้น ส่วนที่อาจจะเกิดขึ้น เช่น user กรอกค่าผิด หรือกดปุ่มผิดไปเจอข้อความ error, โปรแกรมปิดตัวเองไปเลย (program crash) หรือร้ายแรงที่สุดคือทำให้ระบบปฏิบัติการ (Operating System) เสียหาย หรือเจ๊งไปเลย ทุกอย่างเป็นไปได้หมดครับ
เพื่อป้องกันสิ่งที่จะเกิดขึ้นต่อหน้าลูกค้า (user) เราจึงต้องมีคนที่เรียกว่า Tester ซึ่งที่ไม่ได้เกี่ยวข้องกับการ code program มา test ระบบนั้นๆ โดยต้องรายงานสิ่งที่ test ตามความเป็นจริง ไม่มีบิดเบือน (non bias) Tester จึงมีความสำคัญนะครับ แต่ในความเป็นจริงแล้วมักถูกมองและให้ความสำคัญเป็นทีมสุดท้าย และให้เวลาใน project น้อยที่สุดเนื่องจากใช้เวลาไปกับการ coding เกินซะส่วนใหญ่
หน้าที่ทั่วไปของ Tester ที่ทำๆกันทุกวันนี้เค้าทำอะไรกันบ้าง
คิดกรณีที่ทำให้การทำงานของระบบหรือ application ทุกกรณีที่เป็นไปได้ว่าจะเกิดขึ้น – design test cases
เขียนขั้นตอนการ test โดยคิดว่าคนอื่นสามารถอ่านแล้วเข้าใจ – create / produce test cases
ติดตั้งระบบเพื่อใช้ในการ test – setup environment
ทำ test script ในกรณีที่ตกลงกันว่าจะทำ – produce test script / test automation
เริ่มการ test ระบบ – execute testing
เขียนสรุปผลการ test เพื่อรายงานให้ผู้ที่เกี่ยวข้องรู้ – produce test report
ต่อไปจะว่าถึงคุณสมบัติคร่าวๆ เท่าที่ผมจะนึกออกสำหรับคนที่อยากเป็น Tester อาจดูคล้ายๆ qualification เวลาสมัครงาน ซึ่งผมก็ว่าใช่เลยหล่ะ ฮ่าๆ
อยากรู้อยากเห็น
ชอบลองผิดลองถูก
คิดต่าง คิดนอกกรอบ
ชอบงานเอกสารพอตัว — งานนี้เขียน document เยอะพอสมควรนะครับทั้งเขียน test case, test steps และ test report
หากมี skill coding ได้ก็จะดี เพราะจะช่วยให้เราลดแรงงานในการมา run test นั่นคือการผลิต test script สำหรับการ run แบบซ้ำๆทุกๆวัน ถือเป็น optional นะครับ ถ้ามีก็จะดีมาก เพราะตอนนี้มีน้อยจริงๆ
Teamwork สำคัญมาก ฉายเดี่ยวมักไม่ค่อยประสบความสำเร็จกับตัวเองครับไม่ว่างานไหน