Software tester ทําอะไรบ้าง

เลือกอ่านหัวข้อที่คุณสนใจ

  • แนะนำตัวหน่อยจ้าา 
  • ทำไมถึงเลือกมาทำงานที่ Predictive ?​
  • ใน 1 วัน Software Tester ที่ Predictive ต้องทำอะไรบ้าง ?​
  • Challenge ที่ต้องเจอ ของงานสายนี้มีอะไรบ้าง
  • ความสนุกของการทำงานด้าน Software Tester คืออะไร 
  • ถ้าสนใจงานสาย Software Tester ต้องมี Skill ยังไงบ้าง ?​ 
  • สิ่งที่ประทับใจในการทำงานที่ Predictive 
  • สิ่งที่อยากฝากบอกคนที่สนใจทำงานในตำแหน่งนี้

แนะนำตัวหน่อยจ้าา 

สวัสดีครับ ชื่อเจมส์ ตอนนี้เป็น software tester ที่ Predictive ครับ จบจากคณะครุศาสตร์อุตสาหกรรม สาขาคอมพิวเตอร์ศึกษา มหาวิทยาลัยเทคโนโลยีราชมงคลธัญบุรี ก่อนหน้านี้ก็เป็น Tester ฝั่ง App มาประมาณปีนิดๆ แล้วย้ายมาที่นี่

เนื้องานที่ Predictive มีความ Challenge มากขึ้น โดยได้ทำ Audit tracking เพื่อดูว่าข้อมูลมีความครบถ้วน ถูกต้องไหม ประกอบกันความเป็นกันเองของทุกคนตั้งแต่วันสัมภาษณ์ เลยคิดว่า Predictive มีอะไรที่ท้าทายรอเราอยู่แน่ๆ

นอกจากนี้สวัสดิการน่าสนใจ (เบียร์ฟรี 5555) และมีให้ WFH ตั้งแต่ยังไม่เจอ covid-19 ก็รู้สึกว่าถูกใจ และตอบโจทย์มากขึ้น

ใน 1 วัน Software Tester ที่ Predictive ต้องทำอะไรบ้าง ?​

ในแต่ละวันเราต้องดู task งานก่อนว่ามีงานอะไรที่ต้องส่งบ้าง หลักๆคือการ Audit (ตรวจสอบความถูกต้อง) สิ่งที่ผ่านการ implement จาก developer ฝั่งลูกค้าว่าตรงกับ implementation guideline ของทีม Data Analytics ฝั่ง Predictive ที่ออกแบบไว้หรือไม่ Data มีการไหลเข้า google Analytics ถูกต้อง ครบถ้วนหรือเปล่า เพราะหากข้อมูลไม่ถูกต้อง หรือไม่ครบถ้วนจะส่งผลต่อการทำงานของทีมวิเคราะห์ข้อมูลได้ เราจึงต้องตรวจสอบอย่างละเอียด เพื่อหาจุดที่ยังเป็นรอยรั่ว และส่งเคสไปให้ทีมที่เกี่ยวข้องแก้ไขครับ  

โดยเราต้องทำตัวเป็น user ที่เขามาใช้งาน Website/Application โดยต้องลองกดนอกเหนือ implementation guideline เพื่อลองดูจะเกิด case ผิดปกติซึ่งจะส่งผลกระทบต่อ data หรือไม่ เพราะ User มีหลากหลายประเภท เราต้องคิดเคสสิ่งที่น่าจะเกิดขึ้นทั้งหมด และ audit ดูทั้งหมดครับ 

Challenge ที่ต้องเจอ ของงานสายนี้มีอะไรบ้าง

อันแรกเลยคือที่ Predictive มีโปรเจ็กต์เยอะมาก ทำให้บางครั้งต้องเจองานที่เร่ง เวลาน้อย😅 แต่ก็ทำให้เราได้ท้าทายตัวเองไปในตัว

ต่อมาคือการที่ได้ Audit โปรเจกต์ใหม่ๆ ที่ไม่เคยมีใครทำมาก่อน ซึ่งสนุกดีเพราะได้มานั่งลองคิด how to คิดวิธีการเพื่อตรวจสอบข้อมูลให้ถูกต้อง และสามารถ Prove ตัวกระบวนการตรวจสอบให้กับลูกค้าได้ 

สุดท้ายคือการหาสาเหตุของปัญหา และการสื่อสารสิ่งที่เจอให้ทีมที่เกี่ยวข้องเข้าใจสิ่งที่เกิดขึ้น เพื่อแก้ไขปัญหาได้อย่างตรงจุด 

ความสนุกของการทำงานด้าน Software Tester คืออะไร 

ด้วยความที่ Predictive เป็นบริษัท Consult ที่มีลูกค้าหลากหลายอุตสาหกรรมมากๆ ทำให้ได้เจองาน Audit แบบใหม่ๆ เสมอ รวมถึงบางครั้งได้เข้าไปช่วยทีม Data Engineer , Data Scientist ในการ Audit ข้อมูลจาก Google Analytics มาลง Bigquery อีกด้วย ทำให้งานไม่จำเจครับ

ถ้าสนใจงานสาย Software Tester ต้องมี Skill ยังไงบ้าง ?​ 

มุมพักผ่อน ที่ Predictive
  • ความรู้พื้นฐาน Google Analytics และ Google Tag Manager (ถ้าได้ Bigquery ก็ดีเลย) 
  • ช่างสังเกต รอบคอบ ละเอียด แต่ต้องเป็นคนไม่อยู่ในกรอบ : งานของ Software Tester ไม่เพียงแค่กด 1234 ตามลำดับไปเท่านั้น แต่ต้องทำคิดเคสที่อาจเกิดขึ้นทั้งหมดและลองกดแบบอื่นด้วย เพื่อเช็คว่าจะกระทบอะไรกับข้อมูลหรือไม่ รวมถึงหา Error อื่นๆ ที่อาจเกิดขึ้น เช่น  Field ข้อมูลอีเมล แล้วลองทดสอบว่าถ้าไม่ใส่ @ จะสามารถส่งค่าไปได้ไหม 
  • ขี้สงสัย และช่างถาม : บางครั้งเวลาเจอโปรเจ็กต์ใหม่ๆ ก็มีเรื่องที่ไม่คุ้นเคยบ้าง เคล็ดลับคือถ้าสงสัยต้องรีบถาม เช่น ทำไมต้องติด Tag ที่ปุ่มนี้ด้วย ซึ่งก็จะทำให้เราได้ความรู้ใหม่ๆ จากทีมและมีประสบการณ์มากขึ้นทำให้หากเราเจองานโปรเจ็กต์ไหนที่ไม่ติด Tag เราจะสามารถ Suggest ได้ ทำให้งานที่ทำไม่จำเจมากนัก 
  • ต้องเป็นคนที่เรียนรู้สิ่งใหม่ๆตลอดเพราะงานทุกครั้งไม่ค่อยจำเจมากจะมีอะไรมาให้เราต้องต้องศึกษาตลอด
  • สื่อสารกับทีม กับลูกค้าได้ เพราะเราต้องอธิบายปัญหาที่เราเจอให้ทีมและลูกค้าฟังเข้าใจ

สิ่งที่ประทับใจในการทำงานที่ Predictive 

  • การได้เรียนรู้สิ่งใหม่ตลอดเวลา
  • ความเป็นกันเองของทุกคนในองค์กรตั้งแต่ CEO จนถึงพนักงานด้วยกัน มีปัญหาอะไรทุกคนพร้อมจะช่วยเหลือ
  • การได้ท้าทายกับ project ใหม่ๆ พอผ่านมันไปได้เราจะรู้สึกดีใจ
  • เพื่อนร่วมงานดี ทุกคนพร้อมช่วยเหลือ อธิบายละเอียด รู้สึกดีมาก เป็นกันเอง และได้เรียนรู้ใหม่ตลอดเวลา ไม่มีผู้ใหญ่มาตีกรอบ ตอนเย็นแฮปปี้ ไม่มีแบ่งแยกพี่น้อง

สิ่งที่อยากฝากบอกคนที่สนใจทำงานในตำแหน่งนี้

เพียงแค่คุณเป็นคนชอบการเรียนรู้ และชอบทำงานเป็นทีม ก็เหมาะมากๆ กับงานตำแหน่งนี้ครับ 

สวัสดียามค่ำคืนวันอังคาร วันที่ชาวไทยได้พบกับ “ประกาศสถานการณ์ฉุกเฉินในเขตท้องที่กรุงเทพมหานคร” ออกแนวแอบลุ้นเมื่อเช้าว่าบริษัทจะสั่งหยุดงานหรือไม่ :) มาเข้าเรื่องกันเลยดีกว่านะครับ แอบออกนอกเรื่องไปนิดหน่อยแหละ

เปิดเรื่องด้วย “บอกเล่าเก้าสิบ — Tester ต้องทำอะไรบ้าง?” ก็ต้องขอบอกก่อนว่าที่เลือกเขียนเรื่องนี้ก็เนื่องจากหลายๆ สาเหตุ เช่น

  • เวลาสัมภาษณ์คนเข้าทำงาน เค้าก็มักจะถามว่า Tester ที่นี่ทำอะไรบ้าง
  • จำได้ว่าเจอใน pantip ว่าเคยมีผู้มาถามว่า Tester จะต้องทำอะไรบ้าง

รวมทั้งเรื่องเก่าที่เคยมาเขียนตอนที่ 1 ไว้ ก็คือ Software Testing Life Cycle ตอนที่ 1 แต่ถึง ณ ตอนนี้ก็ยังค้างคาอยู่เย สำหรับตอนที่ 2 เนื่องจากให้น้องในทีมทำ Process Improvement ของ Software Testing ใหม่ และจะให้เค้ามาเขียนในสิง่ที่เค้าคิดมา ก็ต่อยอดจากสิง่ที่ผมเริ่มไว้ละกัน (โยนงานแหละ 555)

กลับมาเรื่องนี้ละกัน บอกเล่าเก้าสิบ — Tester ต้องทำอะไรบ้าง? ขอเป็นว่าแบ่งปันจากประสบการณ์ทำงานที่ผ่านมาตลอด 3 ปีในงานของ Software Tester และเป็นงานทั้งหมดที่ Tester น้อยในบริษัทที่ผมทำงานอยู่จะต้องทำ เผื่อว่าจะเป็นประโยชน์ ไม่มาก ก็น้อย สำหรับหลายๆ ท่าน คิดเห็นประการใด ก็ฝากไว้ใน Comment ของเรื่องนี้ได้เช่นกัน

ขอแบ่งเรื่องนี้ออกเป็น 2 ตอนละกัน (เอาอีกแล้ว จะมีเขียนตอนที่ 2 รึ) ขอบอกเลยว่าตอนที่ 2 ตามมาแน่นอน :)

ด้วยบริษัทของผมเองทำเกี่ยวกับให้บริการ Website ดังนั้นงาน Test ของที่นี่ก็จะเป็น Web Testing ซะ 90%

Tester น้อยๆ 1 คนจะต้องรับผิดชอบอะไรบ้าง จะต้อง Test อะไรบ้าง

Tester น้อยๆ 1 คนที่นี่จะต้องรับผิดชอบในการทดสอบหลักๆ ดังนี้

  • System and Integration Testing
  • Compatibility Testing
  • Usability Testing
  • Regression Testing
  • Performance Testing

ความหมายของแต่ละ Test Type ไว้ว่ากันทีหลัง หรือท่านใดสนใจก็เอาไปค้นหาต่อใน Internet ก็ได้ครับ

เมื่องานเข้า

งานก็จะเริ่มจากที่ Project Manager หรือ IT Leader จะมาพูดคุยอธิบายถึง Project ที่จะส่งเข้ามา Testing โดยหลักๆ ก็จะมาเจอกับผมก่อน หรือไม่ก็น้องอีกคนที่อยู่มานาน ก็จะแก่กล้าวิชาในระดับหนึ่ง หลังจากพูดคุย รับฟัง ของขอบเขตของ Project และจุดประสงค์ของการ Test แล้วนั้นทาง Project Manager หรือ IT Leader จะต้องทำการส่งเอกสารขอเปิดงาน ผมตั้งชื่อมันว่า Software Testing Requisition Form (ออกแบบเอง บังคับใช้เอง ไม่ปรึกษาใคร 555) มาพร้อมกับเอกสารต่างๆ และ Project Plan

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

Tester น้อย ต้องทำอะไรบ้างเมื่องานเข้า

เมื่องานเข้า Tester น้อย จะได้รับเอกสารที่เรียกว่า Business Requirement Document ไปนอนอ่านเล่น ก่อนนอน หรือยามว่างก่อนเลย แล้วก็จะต้องถอดทุกอย่าง ออกมาในรูปของ MindMap (ออกแนวบังคับให้ใช้ด้วย 555)

หลังจากได้ MindMap ของ Project ที่จะต้อง Test มาแล้ว Tester น้อย ก็จะเริ่มทำการออกแบบการทดสอบ โดยผมตั้งชื่อว่า Test Design ในขั้นตอนนี้ Tester น้อยจะเริ่มที่จะนำ MindMap มาต่อยอดในการออกแบบการทดสอบ โดยผมเลือกใช้เทคนิคที่ได้ร่ำเรียนมาจากครั้งที่ไปเข้าคอร์สอบรมเรื่อง Software Testing ที่ Software Park เมื่อปีที่แล้ว เทคนิคที่นำมาใช้เรียกว่า Requirement Based Testing

Requirement Based Testing เป็นหนึ่งในเทคนิคการออกแบบการทดสอบแบบ Black Box ในส่วนของรายละเอียดไว้จะมีเขียนขยายความในคราวต่อไป

พอผ่าน Requirement Based Testing แล้วนั้นก็จะได้เป็น Test Coverage Matrix และจำนวน Test Cases ทั้งหมดที่จะเกิดขึ้นด้วย โดยจะเป็น Test Cases สองแบบ คือ

  • Test To Pass หรือ Possitive Testing
  • Test To Fail หรือ Negative Testing

ทีนี้ Tester น้อยก็จะเริ่มเลือก Test Cases ที่ได้จากการออกแบบด้วย Requirement Bases Testing มาทำการสร้างเป็น Test Scenarios และทำการเขียน Test Scenarios โดยใช้ Standard Templates ของทีมที่ใช้งานอยู่ ซึ่งก็เป็นไฟล์ Excel

หลังจากเสร็จสิ้นการเขียน Test Scenarios แล้วนั้น Tester น้อย ก็จะเริ่มลงมือในการจัดเตรียม Test Environment และ Test Data ต่างๆ ที่จะถูกใช้ในเมื่อทดสอบ หรือ Test Execution รวมทั้งจะต้องจัดเตรียมระบบ Defect Tracking ซึ่งปัจจุบันทีมใช้ตัว Defect Tracking ชื่อว่า Mantis หลายๆ ท่านน่าจะรู้จัก หรือคุ้นชื่อเจ้า Mantis นี้

ก่อนจะถึงวัน Test Execution นั้น Tester น้อยจะทำการนัดประชุมกับทาง Developement Team ให้มาทำการ Demo ตัว Project ที่จะถูกส่งมอบมาทำ Test Execution และมี Business Team ผู้ที่เขียนเอกสาร Business Requirement Document เข้ามาร่วมด้วยเช่นกัน ซึ่งโดยปกติ จะนัด 2–3 วัน ก่อนวันส่งมอบ Project

พอถึงวันที่ทาง Development Team ส่งมอบ Project มาแล้วนั้น Tester น้อยก็จะเริ่มลุย Test Execuiton ตาม Test scenarios ที่จัดสร้างไว้ และตาม Standard Validation Document ของทีมที่มีอยู่ด้วย

Defect ต่างๆ ที่พบในระหว่างของ Test Execution จะถูกบันทึกลงใน Mantis

เมื่อเสร็จสิ้น Test Execution แล้ว Tester น้อย นัดทีม Development และ Business มาร่วมในขั้นตอนของ Review Defects เพื่อมาสุมหัวดูกันว่า Defects ที่ Tester น้อยเปิดไป

  • อันไหนเป็น Defect และอันไหนไม่ใช่ Defect
  • อันไหนจะแก้ หรืออันไหนจะไม่แก้
  • จะใช้เวลาในการแก้ไข Defect ที่ยอมรับ เท่าไร
  • กำหนดตารางเวลาของ Regression Testing

ในช่วงที่ทีม Development ดำเนินการแก้ไข Defect ที่เปิดไปนั้น Tester น้อย ก็ยังต้องมีงานอื่นๆ โน้น นี่ นัั่น ที่ยังจะต้องทำอีก จนเมื่อทางทีม Development แจ้งกลับมาว่าพร้อมจะส่ง Project มาทำ Regression Testing ก็นับเป็นอีกช่วงมที่ Tester น้อย งานเข้า อีกแล้ว

หลังจากเสร็จสิ้น Regression Testing และตรงตาม Exit Criteria ที่ได้ตกลงกันไว้ Teste น้อยก็จะทำการเรียกประชุม (อีกแล้ว) กับทางทีม Development, Business และ User Acceptance Testing เพื่อสรุปผล Test Execution, Regression Testing และสิ่งที่พบจากการทดสอบ และส่งมอบงานให้กับทางทีม User Acceptance Testing ไปลุยต่อ

Tester น้อย ก็จะต้องทำ Test Report ออกมา และรวมเอกสารต่างๆ ที่ได้สร้าง และใช้งาน ในช่วง Test Execution และ Regression Testing ตาม Folder Template ของทีม และนำไปวางไว้บน Share Drive ของทีม

สิ้นสุดกันที

คราวๆ ที่ได้เขียน บอกเล่าเก้าสิบ มาตั้งแต่ต้นจนจบ เป็นภาพรวม และรายละเอียดเล็กๆ ของ Tester น้อยที่บริษัทผมจะต้องรับผิดชอบ และปฏิบัติในการทำ Test ครับ

ในส่วนรายละเอียดต่างๆ ของแต่ละขั้น แต่ละช่วง (Phase) ผมจะมาบอกเล่าเก้าสิบ ให้เห็นภาพชัดขึ้นใน ตอนที่ 2 อีกครั้งครับ :)

[ad#adsense-468x60]