บทความด้านการทดสอบซอฟต์แวร์

Automation Tester คืออะไร ?

ในอดีตการทดสอบซอฟต์แวร์มักอาศัยวิธีการทดสอบด้วยมือเป็นหลัก นั่นคือหลังจากขั้นตอนการพัฒนาซอฟต์แวร์เสร็จสิ้นเรียบร้อยแล้ว นักทดสอบจะต้องสร้างแผนการทดสอบ (Test Plan) ที่ประกอบไปด้วยกรณีทดสอบ (Test Case) ที่ออกแบบไว้แล้วตามความต้องการของระบบที่กำหนด จากนั้นจึงดำเนินการทดสอบโดยการรันโปรแกรมและอินพุตข้อมูลเข้าสู่ระบบเพื่อทดสอบฟังก์ชันการทำงานที่ต้องการ และในกรณีที่ซอฟต์แวร์มีการปรับปรุงหรือแก้ไขเพิ่มเติม นักทดสอบจำเป็นต้องทำการทดสอบซ้ำใหม่ตั้งแต่ต้น เพื่อทดสอบและตรวจหาถึงผลกระทบที่มีต่อซอฟต์แวร์ ซึ่งขั้นตอนการทดสอบในลักษณะดังกล่าวมักเป็นขั้นตอนซ้ำ ๆ และใช้เวลาค่อนข้างมาก การทำงานที่ซ้ำซากจำเจส่งผลให้นักทดสอบเกิดความเบื่อหน่ายในการทำงาน ตลอดจนมีแนวโน้มในการเกิดความผิดพลาดจากตัวนักทดสอบเองได้ค่อนข้างมาก เนื่องจากลักษณะงานดังที่ได้กล่าวมาแล้ว การคัดเลือกบุคลากรเข้าสู่อาชีพนักทดสอบจึงมักเป็นผู้จบการศึกษาทางด้านคอมพิวเตอร์แต่ไม่ชอบการเขียนโปรแกรมเป็นส่วนใหญ่ นอกจากนั้นความต้องการในตลาดยังคงมีน้อยส่งผลให้ค่าตอบแทนของนักทดสอบในอดีตมักมีรายได้น้อยกว่าโปรแกรมเมอร์เสมอ

แต่ในปัจจุบันความต้องการทางด้านนักทดสอบเปลี่ยนไปในทางที่ดีขึ้น โดยตัวเลขที่เป็นค่าเฉลี่ยของประเทศสหรัฐอเมริกาผ่าน www.dice.com มีอัตราเฉลี่ยความต้องการของนักทดสอบต่อโปรแกรมเมอร์เป็น 1 ต่อ 2 ในขณะที่ความต้องการทางด้านเดียวกันผ่าน www.jobsdb.com มีค่าเฉลี่ยอยู่ที่ 1 ต่อ 10 ซึ่งมีจำนวนเพิ่มขึ้นอย่างเห็นได้ชัดเมื่อเทียบกับ 4 ปีก่อน ซึ่งค่าเฉลี่ยอยู่ที่ 1 ต่อ 20 ความต้องการของนักทดสอบในตลาดอุตสาหกรรมซอฟต์แวร์ปัจจุบันจะเปลี่ยนจากนักทดสอบด้วยมือไปเป็นนักทดสอบที่มีความสามารถในการใช้ซอฟต์แวร์ที่เป็นเครื่องมือทดสอบอัตโนมัติ ทั้งนี้เนื่องจากการทดสอบอัตโนมัติโดยปกติจะมีความเร็วสูงกว่าการทดสอบด้วยมือไม่น้อยกว่า 70 % ขึ้นไป ซึ่งนั่นหมายความถึงการลดต้นทุนเวลาและทรัพยากรบุคคลของหน่วยงานในการทดสอบซอฟต์แวร์ได้เป็นอย่างดี การทดสอบแบบนี้จะเน้นไปที่การทดสอบฟังก์ชันการทำงานของระบบและการทดสอบสมรรถนะการทำงานของระบบเป็นหลัก ซึ่งเครื่องมือในกลุ่มนี้ที่ได้รับความนิยมสูงสุดในปัจจุบัน ได้แก่ Unified Functional Testing, Selenium , LoadRunner และ JMeter เป็นต้น นอกจากนั้นยังรวมไปถึงการทดสอบผ่านอุปกรณ์เคลื่อนที่ต่าง ๆ เช่น Appium และ Robotium เป็นต้น

นักทดสอบซอฟต์แวร์อัตโนมัติในประเทศไทยแม้ว่าจะมีความต้องการมาก แต่มักกระจุกตัวอยู่ในบริษัทข้ามชาติเป็นส่วนใหญ่ ทั้งนี้เนื่องจากเน้นไปที่การเพิ่มคุณภาพของซอฟต์แวร์เป็นหลัก ดังนั้นนักทดสอบซอฟต์แวร์อัตโนมัติจึงจำเป็นต้องมีทักษะทางด้านภาษาอังกฤษเป็นอย่างดี และต้องมีความรู้พื้นฐานทางด้านทฤษฎีการทดสอบเพื่อใช้ในการออกแบบกรณีทดสอบต่าง ๆ เพื่อให้ครอบคลุมฟังก์ชันการทำงานของระบบที่ต้องการทดสอบ นอกจากนั้นยังจำเป็นต้องมีความรู้ทางด้านโปรแกรมตามเครื่องมือทดสอบที่ใช้ รวมไปถึงความรู้ความใจเกี่ยวกับเทคนิคต่าง ๆ ที่ใช้ในการทดสอบเป็นอย่างดี ทั้งนี้เพื่อให้สามารถนำไปสร้างสคริปต์สำหรับการทดสอบอัตโนมัตินั่นเอง เมื่อความต้องการของนักทดสอบอัตโนมัติมีมากขึ้นจึงส่งผลให้ค่าตอบแทนสูงขึ้นตามไปด้วยดังข้อมูลที่ปรากฏอยู่ใน www.jobsdb.com

Insert title here