ทำความรู้จักกับ Software Tester/QA

วันที่ 11 ม.ค. 2565

tencent Learning Management System ep3

ทำความรู้จักกับ Software Tester/QA

          Software Testing หรือตำแหน่ง Software Tester เพื่อนๆที่ทำงานสาย IT คงต้องคุ้นเคยกับคำนี้เป็นอย่างแน่นอน เพราะ Software Tester บางคนก็รู้จักในนามของ Quality Assurance Engineer หรือ Quality Engineer เพราะ Testing ก็คือส่วนหนึ่งในการตรวจสอบคุณภาพโปรแกรม หรือ QA โดยหน้าที่หลักๆของอาชีพนี้ก็คือคนที่มีหน้าที่ตรวจสอบคุณภาพของ software นั่นเอง

         Software Tester เป็นบุคคลที่ทำหน้าที่คอยตรวจสอบคุณภาพของซอฟต์แวร์หรือแอพพลิเคชั่นที่ถูกผลิตขึ้นมาจากนักโปรแกรมเมอร์ โดยเหล่า software tester ก็จะมีหน้าที่ทำการ Test ระบบต่างๆ เพื่อให้ใช้งานได้ คอยตรวจสอบหาข้อบกพร่องข้อผิดพลาดของซอฟต์แวร์นั้นๆ โดยใช้วิธีการ test ต่างๆ เพื่อให้ไม่เจอข้อผิดพลาดหรือเมื่อเจอข้อผิดพลาดนั้นก็สามารถทำการ report ส่งต่อไปให้นักโปรแกรมเมอร์เพื่อทำการแก้ไข ปรับปรุง จากนั้น Software Tester จะต้องกลับมาทำการ Test ซ้ำอีกหลายๆรอบเพื่อให้ไม่เจอข้อผิดพลาดอีกครั้ง และจะต้องวางแผนสำหรับการทดสอบเพื่อให้เป็นไปตามเป้าหมายที่วางไว้ด้วย

เรามาดูกันค่ะว่าปกติแล้ว Software Tester มีรูปแบบของการ Testing อย่างไรบ้าง? โดยรูปแบบของการ Testing มีทั้งแบบ Manual Testing และ Automated Testing

       Manual testing ก็คือ การ Manual Test หรือเป็นการจำลองว่าเราคือผู้ใช้ หรือ User เพื่อกรอกข้อมูล และทำรายการทีละขั้นตอนตาม Test Script ที่ได้ออกแบบไว้ จะทำการ Test ตามแผนที่วาง ถ้าเป็นโปรเจคหรืองานใหญ่ๆล่ะก็ จะทำให้ใช้เวลาในการทำงานมากขึ้น เพราะการใช้ Manual Test จะต้องใช้แรงงานบุคลากรที่ทำหน้าที่ Testing เข้ามา test เองทีละเรื่องทีละ step ทำให้ใช้เวลาค่อนข้างนาน แต่ทั้งนี้ทั้งนั้นการทำ Manual testing จะทำให้เห็นถึงข้อบกพร่องได้อย่างชัดเจน และสามารถส่งเรื่องต่อเพื่อทำการแก้ไข และนำมา re-test อีกรอบได้อย่างทันที

ข้อดีของ Manual Testing
•  คุ้มค่าในระยะสั้น มีประสิทธิภาพการทำงานสูงคาดการณ์วางแผนได้
•  ประหยัด cost หรือลงทุนน้อยกว่า automated test
•  สามารถหาข้อบกพร่องได้อย่างชัดเจน เนื่องจากใช้แรงงานบุคลากรมาทำการ test ในแต่ละ case นั่นเองค่ะ

ข้อเสียของ Manual Testing
•  ใช้เวลานานในการ Test ค่อยข้างมาก เพราะเป็นการใช้คนมาคอยทำ test และต้องทำซ้ำๆ ไปมาจนกว่าจะไม่เจอข้อผิดพลาด
•  ไม่สามารถเปรียบเทียบหรือทำการ test ข้อมูลที่มีจำนวนที่เยอะมากหลายพันข้อมูลได้เท่ากับ automated testing นั่นเองค่ะ

      Automated Testing คือการ Test โดยใช้ Tool สำหรับ Test ทำงานด้วยตัวของมันเอง เช่นการเขียนโค้ดขึ้นมาเพื่อให้คอมพิวเตอร์หรือโปรแกรมนั้นๆ run test ด้วยตนเอง โดยไม่ต้องใช้แรงงานคนในการทำ test ซึ่งวิธีนี้จะช่วยลดเวลาในการ Manual Test แต่อาจจะต้องมีการเขียนโค๊ดทำสคลิป เพื่อรัน Test แบบ Auto test นั่นเอง Automated Testing จึงไม่เหมาะ กับโปรเจค สั้นๆ เช่น โปรเจคที่ใช้เวลาเพียงแค่ 3เดือน เพราะว่าส่วนใหญ่แล้วเวลาที่เราเสียไปกับการเตรียมการจะมากกว่าที่เราจะได้รับกลับมา

ข้อดี Automated testing
•  ถ้าเราต้อง run test ซ้ำๆ Automated Testing จะใช้งานได้ดีกว่าไม่ต้องใช้เวลานาน เพราะใช้โปรแกรมที่เขียนโค้ดไว้นั้น run test ให้เองอัตโนมัติ
•  ในการ Test แต่ละครั้งสามารถสร้าง user จำนวนมากขึ้นมาทำการ Test พร้อมกันได้ในเวลาเดียวกัน
•  จะใช้เวลาในการ Test สั้นกว่า Manual Testing เนื่องจากมีระบบ auto ที่ได้มีการเขียนโค้ดไว้นั่นเองค่ะ

ข้อเสีย Automate test
•  ลงทุนสูงในช่วงเริ่มต้น เพราะจำเป็นต้องจ้างบุคคลที่มีความสามารถในการเขียนโค้ด รู้ภาษาคอมที่หลากหลายมาทำการเขียนโค้ดสคริปต่างๆเพื่อ run test case นั่นเอง
•  ต้องใช้ผู้ที่มีทักษะในการเขียนโปรแกรม Test อย่างดี
•  Automate test ไม่สามารถทำได้ทุกงาน บางครั้งก็ต้องใช้ manual test หรือจำเป็นต้องมี software tester มาคอยดูแลนั่นเอง
.

         จากที่เพื่อนๆได้อ่านกันมาแล้ว ก็จะเห็นได้ว่าทั้ง Manual Testing และ Automated Testing ต่างก็มีข้อดีและข้อเสียที่แตกต่างกันออกไปในหลายๆด้าน ซึ่งทั้งนี้ทั้งนั้นก็จะขึ้นอยู่กับ Project หรือความต้องการต่างๆของงานนั้นๆด้วยค่ะ

        น้องๆที่เป็น Software testing หรือสนใจทำงานด้านนี้ ก็ต้องคอยศึกษาหาข้อมูลเพิ่มเติมและพัฒนาตัวเองเพื่อการทำงานที่ดีขึ้น อย่างไรก็ตามน้องๆคนไหนที่สนใจอยากทำงานตำแหน่ง Software Tester หรือ QA สามารถสอบถามข้อมูลเพิ่มเติม หรือสมัครงานเข้ามาได้เลยที่…m.me/geniussoftthailand

Contact Us

About
Our Partners
Global Team
Our Locations
Case Studies
Careers
Find a Job
Benfits & Welfare
Career Advice

Services

IT Consultant Service
IT Recruiting Service
IT Professional Service
IT System Integratorservice
IT Software Testing Service
IT Training Service
IT Software Solutions & Development