Coding Gun

Top 7 Free Automated Testing Tools in 2024

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

Automated Testing Tools

เครื่องมือที่อยู่ในรายการนี้เป็นเครื่องมือที่ใช้ในการทำ Automated UI Testing ล้วนๆ นั่นคือเราทดสอบด้วยการจำลองการใช้งานระบบผ่านหน้า UI ทั้ง Mobile และ Web Application

แต่เนื่องจากการทำ automated testing นั้นยังสามารถทำการทดสอบในระดับอื่นๆได้อีก เช่น API testing ซึ่งจะต้องใช้ tools อื่นๆในการทดสอบ ติดตามอ่านบทความเกี่ยวกับการทำ API Testing ต่อได้ที่นี่

1. Selenium

Selenium ถือว่าเป็นเครื่องมือสำหรับทำ Automated Testing ตัวแรกๆ ที่จะถูกพูดถึงเพราะเป็นตัวแรกที่ออกมา Selenium จะทำหน้าที่ควบคุมการทำงานของ Browser โดย Selenium จะประกอบไปด้วยเครื่องมือ 3 ตัวคือ

อ่านวิธีการใช้งาน Selenium ค่อได้ที่นี่

2. Robot Framework

เนื่องจากการใช้งาน Selenium นั้นต้องเขียน Code ซึ่งมีความยากในการเขียนและการแก้ไขโดยเฉพาะ Tester ที่ไม่ได้เขียนโปรแกรมเป็นงานประจำ ดังนั้น Robot framework จึงถูกพัฒนา on-top selenium ซึ่งจะช่วยให้เราไม่ต้องเขียน Code โดย Script ของ Robot framework จะใกล้เคียงกับภาษามนุษย์ จึงทำให้ Tester สามารถเขียนและแก้ไขได้ง่ายกว่า Selenium

และนอกจาก Selenium แล้ว Robot framework ยังมี Libraries อีกหลายตัวช่วยให้เราสามารถทดสอบ Application อื่นๆ ด้วย Syntax ของ Robot framework เช่น ทดสอบโครงสร้างของ Database หรือ ทดสอบ Mobile Application ด้วย Appium

Robot Framework Architecture
Robot Framework Architecture

อ่านวิธีการใช้งาน Robot Framework ค่อได้ที่นี่

3. Cypress

Cypress เป็น Automated testing tool ที่เกิดขึ้นมาทีหลัง ต้องการตอบโจทย์เรื่องความเร็วและความง่ายในการเขียน ซึ่ง Cypress จะมีข้อจำกัดมากกว่า Selenium

  1. Cypress จะใช้ได้เฉพาะบน Browser เท่านั้น
  2. Cypress รองรับภาษา Javascript เท่านั้น

Features หลักๆของ Cypress มีดังนี้

Cypress home page
หน้าแรกของ Cypress

อ่านวิธีการใช้งาน Cypress ค่อได้ที่นี่

4. Playwright

เป็น Automation จากค่าย Microsoft ซึ่งถือว่าเป็นอีกตัวที่มาแรงไม่น้อยเลยทีเดียว Playwright จะต่างจาก Selenium และ Cypress ตรงที่

Playwright vs Selenium
เปรียบเทียบความง่ายในการติดต้ังของ Playwright และ Selenium

ถ้าเราเขียน Playwright Code ด้วย JavaScript จะเริ่มต้นได้ง่ายมาก เพราะ playwright module จะมี Test runner มาให้อยู่แล้ว แต่ถ้าใช้ภาษาอื่นๆคุณต้องติดตั้ง Test runner เพิ่มอีก 1 ตัว

อ่านวิธีการใช้งาน Playwright ค่อได้ที่นี่

5. Cucumber

เป็น Automated Testing Tools ที่ทำให้เกิด Behavior Driven Development(BDD) ด้วยการที่ให้เราเขียน Test Script ด้วย Gherkin Syntax แบบนี้

# Comment
@tag
Feature: Bank check balance
    Scenario: Checking account balance after deposit
        Given My checking account has a balance of $500
        And I just deposit of $100
        When I checkout balance
        Then I shoild see $600 as a balance

ข้อดีของการใช้ Gherkin Syntax คือทุกคนในทีมสามารถอ่านและแก้ไข Script ได้ ดังนั้น Cucumber จึงเหมาะสำหรับ Tester ที่ไม่ถนัดเขียนโปรแกรม และต้องการ Test Script ที่สื่อสารกับฝั่ง Business ง่ายๆ

6. Karate Framework

เป็นเครื่องมือน้องใหม่ที่มาแรงมากๆ เนื่องจาก Karate Framework สามารถทำได้ทั้ง UI Testing และ API Testing เรียกได้ว่าครบเครื่องเลยทีเดียว

ข้อดีของ Karate Framework มีดังนี้

ตัวอย่าง Test Script ของ Karate

Feature Simple user API test
    Scenario: Fetch a list of users
        Given url 'http://localhost:3000/users'
        When method get
        Then status 200

7. Appium

Appium เป็นเหมือนกับ Selenium ที่สามารถนทดสอบได้ทั้ง Windows Application(WPF หรือ UWP) และ Mobile Application ทั้ง iOS และ Android

ข้อดีของ Appium มีดังนี้

How Appium Work
Appium ทำงานยังไง?

การทำงานของ Appium

  1. เราจะเขียน Test Script ด้วย Testing Library ในภาษาต่างๆ
  2. Test Script จะส่งคำสั่งเข้าไปคุยกับ Appium Server
  3. Appium จะส่งคำสั่งไปยัง Driver ซึ่ง Driver ที่ดูแลโดย Appium Team มีดังนี้
    Driver Installation Platform(s) Mode(s)
    Chromium chromium All Web
    Espresso espresso Android Native
    Gecko gecko All Web
    Mac2 mac2 macOS Native
    Safari safari macOS, iOS Web
    UiAutomator2 uiautomator2 Android Native, Hybrid, Web
    XCUITest xcuitest iOS Native, Hybrid, Web
  4. Driver จะทำการค้นหา Element หรือ Control และสร้าง action ตามที่เรากำหนดไว้ใน Test Script

ทั้งหมดนี้ก็เป็นภาพรวมของเครื่องมือที่สามารถเลือกมาทำ Autometed Test ได้ไม่ว่าคุณจะพํฒนา Web Application หรือ Mobile Application ก็ตาม

อ่านต่อเพิ่มเติมได้ที่

Phanupong Permpimol
Follow me