Tester คือใคร / ทำอะไร / เพื่ออะไร

Share Button

ย้อนไปเมื่อสัก 10 ปีก่อนใครที่เรียนสายคอมพิวเตอร์มา ทุกคนที่เรียนจบจะถูกมองว่าเค้าจะต้องมาทำอาชีพที่เรียนว่า โปรแกรมเมอร์ (Programmer) หรือคนเขียนโปรแกรมแทบจะทั้งสิ้น ทุกวันนี้ก็ยังมีคนเข้าใจอย่างนั้น แต่ที่จริงแล้วการเรียนไม่ว่าจะ IT, ComScience หรือจะเป็น Com Engineer ก็มีอาชีพหลากหลายที่รอรับนอกจาก Programmer อาทิ ผู้ควบคุมดูแลระบบ Network Admin, นักวิเคราะห์ระบบ System Analyst, ผู้ดูแลฐานข้อมูล Database Admin หรือกระทั่ง Programmer ก็ยังแตกตามภาษาไป C, C++, .Net, Java

แต่ช่วง 10 ปีนี้ได้มีตำแหน่งอีกตำแหน่งนึงผุดขึ้นมา แต่ไม่ค่อยเป็นที่แพร่หลายนักในตอนนั้น เรียกว่า Tester ครั้งแรกที่ผมได้ยินก็คือการมา roadshow ของ 2 บริษัทที่มารับนักศึกษาปี 4 ไปทำงานกับบริษัทเค้า ผมไม่รู้ scope เท่าไหร่นอกจากเข้าใจไปเองว่า…

“อ่อ  Tester ก็คือคนเทสโปรแกรม หา bug หาเจอแล้วก็บอก programmer แค่นั้นก็จบ”

สารภาพเลยว่า ณ ตอนนั้นด้วยความที่ผม Code ง่อยมาก อย่างอื่นก็เข้าขั้นแย่ ยกเว้นตอนนั้นที่ชอบคือวิชา System Analyse เลยสนใจตำแหน่งนี้มากๆ น่าจะตอบโจทย์ non-coding person อย่างผมได้

…จนมาเมื่อทำงานจริงๆถึงได้รู้ว่ามันต้องทำเยอะกว่านั้นเยอะมากกกกกกกกกจริงๆ

พูดมาซะยาว เรามารู้จัก Tester กันดีกว่าครับ

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 ที่ทำๆกันทุกวันนี้เค้าทำอะไรกันบ้าง

  1. คิดกรณีที่ทำให้การทำงานของระบบหรือ application ทุกกรณีที่เป็นไปได้ว่าจะเกิดขึ้น – design test cases
  2. เขียนขั้นตอนการ test โดยคิดว่าคนอื่นสามารถอ่านแล้วเข้าใจ – create / produce test cases
  3. ติดตั้งระบบเพื่อใช้ในการ test – setup environment
  4. ทำ test script ในกรณีที่ตกลงกันว่าจะทำ – produce test script / test automation
  5. เริ่มการ test ระบบ – execute testing
  6. เขียนสรุปผลการ test เพื่อรายงานให้ผู้ที่เกี่ยวข้องรู้ – produce test report

ต่อไปจะว่าถึงคุณสมบัติคร่าวๆ เท่าที่ผมจะนึกออกสำหรับคนที่อยากเป็น Tester อาจดูคล้ายๆ qualification เวลาสมัครงาน ซึ่งผมก็ว่าใช่เลยหล่ะ ฮ่าๆ

  1. อยากรู้อยากเห็น
  2. ชอบลองผิดลองถูก
  3. คิดต่าง คิดนอกกรอบ
  4. ชอบงานเอกสารพอตัว — งานนี้เขียน document เยอะพอสมควรนะครับทั้งเขียน test case, test steps และ test report
  5. หากมี skill coding ได้ก็จะดี เพราะจะช่วยให้เราลดแรงงานในการมา run test นั่นคือการผลิต test script สำหรับการ run แบบซ้ำๆทุกๆวัน ถือเป็น optional นะครับ ถ้ามีก็จะดีมาก เพราะตอนนี้มีน้อยจริงๆ
  6. Teamwork สำคัญมาก ฉายเดี่ยวมักไม่ค่อยประสบความสำเร็จกับตัวเองครับไม่ว่างานไหน

เป็นอย่างไรบ้างครับ เริ่มรู้จัก Tester กันเยอะขึ้นแล้วนะครับ ตอนหน้าผมจะพูดถึงประเภทของการ test นะครับ ว่ามีอะไรบ้าง… 🙂

Share Button

Comments

comments

List of Comments

  1. pennapa 

    สวัสดีค่ะ พอดีมาหาข้อมูล Tester
    เพิ่งเริ่มงานนี้มาไม่กี่วัน ขอมาเก็บเกี่ยวข้อมูลดีๆ นะคะ

  2. MeePee 

    เสียดายมันมาอ่านช้าไปปีนึง ไม่งั้นคงเข้าใจมากกว่านี้
    เรื่องของเรื่องคือ จะต้องไปสัมภาษณ์งานแล้ว แต่ ไม่รู้อะไรมากเท่าไหร่ว่าเค้าจะ ให้เราสอบ ยังไง

  3. charathbank 

    ตอนผมสมัครเป็น Tester ก็เหมือนกันครับ ไม่ค่อยมีใครรู้เรื่องนี้เท่าไหร่ แถมแต่ก่อน Tester ในไทยเป็นอะไรที่ไม่มีใครเค้ารู้กันครับ
    พื้นฐานที่ผมมีก็มีเพียงแค่จากวิชา System Analysis ที่มีเนื้อหา Test อยู่ไม่กี่หน้า…

    สิ่งที่ผมตอบไป ณ เวลานั้น คือ tester คือคนเทสโปรแกรมหาความผิดพลาดของโปรแกรม แค่นั้นจริงๆครับ…

    ความรู้ ไม่มีคำว่าสายในการเรียนรู้ครับ อย่างน้อยๆ ตอนนี้ก็พอรู้บ้างแล้ว ใช่หรือเปล่าครับ ^_^

    ขอบคุณที่เข้ามาอ่านนะครับ

Leave A Comment