Top 10 API Testing Tools

15-Jun-18

คัมภีร์เทพ IT

See the original english version Click here!
 

API Testing (Application Programming Interface Testing) ถือเป็น Software Testing ประเภทหนึ่งที่มุ่งตรวจสอบว่า API ที่พัฒนาไปแล้วนั้น เป็นไปตามที่คาดหวังไว้หรือไม่ ไม่ว่าจะเป็น Functionality, Reliability, Performance และ Security ของ Application ก็ตาม ในบทความนี้เราจะได้รู้ว่า 10 API Testing Tools ที่ดีที่สุด มีอะไรบ้าง

1. SoapUI (Free - $659/ปี)

SoapUI เป็น Testing Tools ตัวหนึ่งที่สามารถให้ Users ทำการทดสอบ REST และ SOAP APIs รวมทั้ง Web Services ได้อย่างง่ายดายขึ้น โดย SoapUI มี Feature เด่นๆ ดังนี้

  • สร้าง Test ได้อย่างง่ายดายและรวดเร็ว ด้วย Drag and drop, Point-and-click
  • สร้าง custom code โดยใช้ Groovy ได้อย่างรวดเร็ว
  • เป็น Data-Driven Testing ที่มีประสิทธิภาพ
  • สร้าง Scenarios ที่ซับซ้อนได้ และสนับสนุน Asynchronous Testing

​2. Postman (Free - $21/user/เดือน)

จากที่เป็น Plugin ของ Chrome browser แต่ตอนนี้สามารถรองรับได้ทั้ง Mac และ Windows โดย Postman ถือเป็นตัวเลือกที่ดีในการทดสอบ API สำหรับคนที่ไม่อยาก Coding

  • ง่ายต่อการใช้งาน REST client
  • มี Interface ที่หลากหลายซึ่งทำให้ใช้งานได้ง่าย
  • สามารถใช้ได้ทั้ง Automated และ Exploratory Testing
  • ไม่จำเป็นต้อนเรียนรู้ภาษาใหม่ และมีทั้ง Feature Run, Test, Document และ Monitoring

3. Katalon Studio (Free)

เป็น Test Tools แบบอัตโนมัติที่ใช้ได้ฟรี ผู้ใช้สามารถ สร้างและ Execute UI functional, API/Web services และ mobile testing จุดเด่นคือ สามารถรวม UI และ API/Web services ใน environment ต่างๆ ได้ ทั้ง Windows, Mac OS, Linux อีกทั้ง สนับสนุน SOAP และ RESTful request ด้วย Command ต่างๆ เช่น GET, POST, PUT, DELETE

  • สนุบสนุนการ Test ทั้ง SOAP และ RESTful requests
  • มี Built-in Keywords หลายร้อยคำ สำหรับสร้าง Test cases
  • สนับสนุน Data-Driven approach
  • ใช้สำหรับทั้ง Automated และ Exploratory Testing
  • ไม่เชี่ยวชาญด้านเทคนิคก็สามารถใช้งานได้

4. Tricentis Tosca (Contact Sales)

เป็น Continuous Testing Platform สำหรับ Agile และ DevOps

  • สนุบสนุน Array ที่หลากหลายของ Protocols เช่น HTTP(s) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST, IBM MQ,NET TCP
  • เพิ่มประสิทธิภาพสูงสุดในการ Reuse และ Maintain ด้วย Model-based Test Automation
  • API Tests สามารถใช้แบบ cross-mobile, cross-browser, packaged apps เป็นต้น
  • ลดเวลาของการทำ Regression testing

5. Apigee (Free trial - $2,500/เดือน)

เป็น API Testing Tool ที่ใช้งานข้ามระบบ Cloud ช่วยให้ Users สามารถวัดและทดสอบประสิทธิภาพ API, สนับสนุนและสร้าง API โดยใช้ Editor อื่นๆ อย่าง Swagger ได้

  • สามารถใช้แบบ Multi-Step และรองรับ JavaScript
  • ช่วยให้สามารถ design monitor, deploy และ scale APIs ได้
  • ระบุปัญหาด้านประสิทธิภาพโดยการ Tracking ตัว API traffic, error rates และ response times
  • สร้าง API proxies ได้อย่างสะดวกจาก Open API Specification และ deploy มันบน Cloud
  • Cloud, On-premise หรือ Hybrid Deployment Model ได้บน Code Base เดียว

6. Jmeter (Open source)

ใช้กันอย่างแพร่หลายในการทดสอบฟังก์ชั่น API แม้ที่จริงจะสร้างเพื่อ Load Testing

  • สนับสนุนการ Replaying ตัว Test Results
  • ทำงานอัตโนมัติกับ CSV files ช่วยให้ทีมสามารถสร้าง Unique Parameter Values สำหรับ  API tests ได้อย่างรวดเร็ว
  • Users สามารถรวมเอา API Tests ใน CI pipelines เข้าไป Integration ระหว่าง JMeter กับ Jenkins
  • สามารถใช้สำหรับทดสอบ Performance  ทั้งแบบ static และ dynamic

7. Rest-Assured (Open Source)

เป็น Open-source ที่ใช้ภาษา Java ในการทดสอบ REST service

  • มีฟังก์ชั่นการใช้ให้อยู่แล้ว ทำให้ Users ไม่ต้อง Code เองทั้งหมดตั้งแต่ต้น
  • ใช้งานร่วมกันได้ดีกับ Serenity Framework ทำให้ Users สามารถรวม UI และ REST tests เข้าเป็นหนึ่ง Framework ซึ่งช่วยสร้าง Report ตามต้องการได้
  • สนุบสนุน BDD Given/When/Then syntax
  • Users ไม่จำเป็นต้องเชี่ยวชาญใน HTTP

8. Assertible (Free - $500/เดือน)

เป็น API Testing Tool ที่มุ่งเน้นไปที่ระบบอัตโนมัติและความน่าเชื่อถือ

  • สนับสนุนการทดสอบ API แบบอัตโนมัติโดยผ่านขั้นตอนของ continuous integration และ delivery pipeline
  • สนับสนุนการ Run API Testing หลังจากการ after deploy และ integrates กับ Tools ที่คุ้นเคยกันดีอย่าง GitHub, Slack และ Zapier
  • สนับสนุนการ validate response ของ HTTP กับ Turn-key assertions เช่น JSON Schema validation และ JSON Path data integrity checks

9. Karate DSL (Open Source)

API Testing Tool ตัวใหม่ที่ช่วยสร้าง Scenarios สำหรับ API-based BDD Tests ด้วยวิธีที่ง่ายโดยไม่ต้องเขียน definitions ของ Step ต่างๆ definitions เหล่านี้ถูกสร้างขึ้นโดย Karate DSL เพื่อให้ Users สามารถเริ่มการทดสอบ API ได้อย่างรวดเร็ว

  • สร้างต่อยอดจาก Cucumber-JVM
  • สามารถ Run ตัว Test และ Generate reports ได้เหมือนอย่าง standard Java project
  • สามารถเขียน Test ได้โดยไม่จำเป็นต้องมีความรู้ Java มาก่อนและไม่จำเป็นต้องเป็น Programmer มาก่อน
  • สนับสนุนการ configuration switching/staging, multi-threaded parallel execution

10. ไม่มีอะไรที่เหมาะกับทุก Tools

เชื่อว่าจากรายการข้างต้นถือเป็น Solution ที่ดีที่สุดที่มีอยู่หากคุณกำลังวางแผนที่จะนำ API Automation Testing มาใช้ อย่างไรก็ตาม เช่นเดียวกับ Solution ส่วนใหญ่ในอุตสาหกรรมนี้ การหา Tools ในอุดมคติ ที่จะทำได้ทุกอย่างนั้น มันแทบเป็นไปไม่ได้ บางคนอาจพบ Features จาก Tools ที่ต้องเสียเงินซึ่งมันเพียงพอต่อการใช้งาน แต่เงินที่ต้องจ่ายนั้นสูง ในขณะที่ Open-Source นั้นแน่นอนว่าฟรีหรือจ่ายเพียงเล็กน้อย แต่มันต้องใช้ทักษะในการ Implement Framework ที่เหมาะสม ในขณะที่ Tools อื่นที่ดูจะสมดุลระหว่างค่าใช้จ่ายและปัจจัยอื่นๆ อาจมีข้อบกพร่องบางอย่างสำหรับบาง project งานซึ่งคุณต้องพิจารณาให้ดี

ที่มา:  https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความที่เกี่ยวข้อง