ในปัจจุบันการทดสอบระบบถือเป็นหัวใจสำคัญของการพัฒนาคุณภาพซอฟต์แวร์และ ทีมงานที่จะขาดไม่ได้ในการทดสอบระบบคือทีม Software Tester ซึ่งเป็นการ Test กระบวนการทดสอบระบบ โดยมีการจำแนกหลากหลายวิธี เช่น Manual Testing, Automated Testing แต่ในครั้งนี้ผู้เขียนจะอธิบายแค่ Automation testing
Automation testing เป็นการทดสอบซอฟต์แวร์หรือเป็นกระบวนการอย่างหนึ่งในการพัฒนาซอฟต์แวร์ เพื่อหาข้อผิดพลาดและป้องกันข้อผิดพลาดที่อาจเกิดขึ้นหรือช่วยให้ซอฟต์แวร์ที่พัฒนานั้นมีประสิทธิภาพมากขึ้นในช่วงการทดสอบซอฟต์แวร์นั้น
การทำ Automated test จะมีข้อดีข้อเสียดังนี้
ข้อดี
- เป็นการทดสอบที่รวดเร็ว
- ข้อผิดพลาดในการ run test น้อยกว่าคน(Manual test) เนื่องจากเป็นการทำงานโดย Scripts และสามารถตรวจสอบผลลัพธ์ที่คาดหวังได้อย่างแม่นยำ
- สามารถชี้วัดคุณภาพของซอฟต์แวร์ได้อย่างรวดเร็ว
- สร้างความน่าเชื่อถือให้กับซอฟต์แวร์
ข้อเสีย
- มีค่าใช้จ่ายเพิ่มเติมในการสร้าง test scripts
- ต้องการเทคโนโลยีอื่นในการพัฒนา เช่น Automation framework
- ทีมพัฒนาต้องเข้าใจและมีความสามารถเกี่ยวกับ Automation
- มี Cost ในการ Maintenance test scripts
มารู้จัก Automation Test Tools ที่ช่วยให้การ Test ง่ายขึ้นโดยจะมี Testing Tools ที่ครอบคลุมทั้งAutomation/Manual Testing, Unit Testing, Performance, Web, Mobile เป็นต้น
- QTest
เว็บไซต์: https://www.qasymphony.com
qTest ได้รับการพัฒนาเพื่อใช้ในการทดสอบซอฟต์แวร์และบริการที่สร้างขึ้นสำหรับการทดสอบของทีมงานโดยสามารถทำงานได้บนเบราว์เซอร์และมาพร้อมกับส่วนประสานกับผู้ใช้ ( User interface; UI) เพื่อช่วยให้องค์กรได้มีส่วนร่วมในการจัดการทดสอบ (Test Management), การทดสอบแบบอัตโนมัติ (Test Automation) และการรายงานผลการทดสอบ ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพด้วยการผสานรวมกันแบบ Real-time ที่พร้อมใช้งานสำหรับ JIRA Software, VersionOne, Rally และโฮสต์ทั้งหมด ในสภาพแวดล้อมอื่นๆ รวมถึงความเข้ากันกับ Jenkins และความสามารถในการเข้าถึง GitHub ทั้งนี้ ก็เพื่อให้ทุกอย่างสามารถติดตามได้
- Katalon Studio
เว็บไซต์: www.katalon.com
เครื่องมือทดสอบซอฟต์แวร์นี้เป็นการทดสอบแบบ Automated Testing หรือเป็นการทดสอบที่ทำงานด้วยตัวของมันเองและสามารถรองรับการทดสอบอย่างสมบูรณ์ในทุกระบบปฏิบัติการ ไม่ว่าจะเป็นเว็บไซต์, แอนดรอยด์ (Android), ระบบปฏิบัติการไอโอเอส (iOS) หรือ API (Application Programming Interface) นอกจากนี้มันยังสามารถทำงานร่วมกับ Jenkins, GIT, JIRA และ qTest ด้วย Native Plugin ได้อีกด้วย
- Selenium
เว็บไซต์: http://www.seleniumhq.org
เป็นการทดสอบซอฟต์แวร์บนอุปกรณ์เคลื่อนที่แบบ Open Source มีกรอบการทำงาน (Framework) สำหรับเว็บแอปพลิเคชั่น (Web Application) หรือมีตัวฟังก์ชั่น Playback สำหรับการทำ Authoring tests โดยที่ผู้ใช้งานไม่จำเป็นต้องเรียนรู้เกี่ยวกับ Test Script Language นอกจากนี้ยังสามารถทำการทดสอบในภาษาเขียนโปรแกรม (Programming languages) ที่หลากหลาย ซึ่งรวมถึง C#, Java, Perl, PHP, Python, Ruby และ Scala ในการทดสอบส่วนใหญ่ทำงานได้กับเบราว์เซอร์และยังสามารถปรับใช้บน Windows, MacOS และ Linux ได้อีกด้วย
- HPE Unified Functional Testing (UFT)
เว็บไซต์: https://software.microfocus.com/en-us/software/uft
HPE Unified Functional Testing เป็นฟีเจอร์ที่ให้บริการการทดสอบแบบอัตโนมัติ ซึ่งเป็นการทดสอบที่เกี่ยวข้องกับการทำงาน และการทดสอบโปรแกรมที่มีการเปลี่ยนแปลงหรือถูกแก้ไข (Regression testing) ในส่วนของแอปพลิเคชั่นซอฟต์แวร์โดยใช้ VBScript เป็นภาษาสคริปต์ (Scripting language) เพื่อใช้ในการระบุขั้นตอนการทดสอบ และเพื่อควบคุมการทำงานของแอปพลิเคชั่นภายใต้การทดสอบ
- TestComplete
เว็บไซต์: https://smartbear.com/product/testcomplete/overview
เป็นแอปพลิเคชั่นการทดสอบที่มีกระบวนการทดสอบแบบอัตโนมัติสำหรับเดสก์ท็อป (Desktop), เว็บไซต์ (Web) และแอปพลิเคชั่นบนมือถือ (Mobile applications) มีคุณสมบัติสำหรับ GUI testing (Graphical user interface testing) และการสนับสนุนภาษาสคริปต์ (เช่น JavaScript, Python, VBScript, JScript, DelphiScript, C#Script และ C++Script เป็นต้น) นอกจากนี้ยังมีความสามารถในการบันทึกการทดสอบ ที่มีความทนทานต่อการเปลี่ยนแปลงของเทคโนโลยี ในส่วนของการอ่านและการตีความของซอฟต์แวร์สำหรับผู้ใช้รวมถึงความสามารถในการทดสอบแบบอัตโนมัติโดยที่ไม่มีความรู้เกี่ยวกับการเขียนสคริปต์
6.ยังมี Automation Test Tools อีกมากมากที่ช่วยทำให้การ test ง่ายขึ้น เช่น Selenium, Beautiful Soup, Robotium, Watir, Apache JMeter, Maven, Katalon, Selendroid, Linux Desktop Testing Project, OpenTest
สามารถใช้งานได้สะดวกสบายและยังเป็นเว็บไซต์ที่สามารถใช้งานได้ฟรีๆอีกด้วย
สรุป
Software Tester เป็นทีมงานที่ตรวจสอบซอฟแวร์หลังจากโปรแกรมเมอร์ทำงานเสร็จเพื่อตรวจสอบหาข้อผิดพลาดที่อาจเกิดขึ้นได้ มี่ทั้งข้อที่และข้อเสียที่เกิดขึ้นจากการใช้ Automation Test Tools และโดยวันนี้ผู้เขียนได้มาแนะนำ Automation Test Tools ที่เป็นประโยชน์และสามารถใช้ทดสอบระบบได้ง่ายต่อทีมงาน Software Tester เพื่อให้ง่ายต่อคามสะดวกสบายในการทำงานและยังเป็นเว็บไซต์ที่ไม่เสียค่าใช้จ่ายอีกด้วย และยังบอกคุณสมบัติต่างๆขอตัว Automation Test Tools อีกด้วยนั่นเองครับ
อ้างอิง
10 Automation Test Tools ที่ช่วยทำให้ชีวิตของคุณง่ายขึ้น [ออนไลน์],เข้าถึงได้จาก
https://www.techstarthailand.com/blog/detail/Top-10-Free-Automation-Test-Tools-That-Will-Make-Your-Life-Easier/1355
เครื่องมือที่ดีที่สุดในการทดสอบซอฟต์แวร์ [ออนไลน์],เข้าถึงได้จาก https://www.quickserv.co.th/knowledge-base/solutions/เครื่องมือที่ดีที่สุดในการทดสอบซอฟต์แวร์/
Automated Testing คืออะไร [ออนไลน์],เข้าถึงได้จาก https://iconext.co.th/th/2021/07/19/automated-testing-คืออะไร/