SoapUI คืออะไร? ข้อมูลเบื้องต้นเกี่ยวกับการทดสอบ SoapUI
SOAP UI คืออะไร
- SOAP UI เป็น API ข้ามแพลตฟอร์มโอเพ่นซอร์สชั้นนำ การทดสอบ เครื่องมือ
- SOAPUI ช่วยให้ผู้ทดสอบดำเนินการทดสอบการทำงาน การถดถอย การปฏิบัติตามข้อกำหนด และโหลดอัตโนมัติบนเว็บ API ที่แตกต่างกัน
- SOAPUI รองรับโปรโตคอลและเทคโนโลยีมาตรฐานทั้งหมดเพื่อทดสอบ API ทุกประเภท
- อินเทอร์เฟซ SOAPUI นั้นเรียบง่ายที่ช่วยให้ผู้ใช้ทั้งด้านเทคนิคและไม่ใช่ด้านเทคนิคสามารถใช้งานได้อย่างราบรื่น
ทำไมต้องใช้ SOAPUI?
SOAPUI ไม่ใช่แค่ฟังก์ชั่นการใช้งานเท่านั้น การทดสอบ API แต่ยังช่วยให้เราทำการทดสอบที่ไม่สามารถใช้งานได้ เช่น การทดสอบประสิทธิภาพและความปลอดภัย
เราจะมาพูดถึงคุณสมบัติที่สำคัญ 5 ประการของ SOAPUI กัน
1) การทดสอบการทำงาน
- เครื่องมืออันทรงพลังช่วยให้ผู้ทดสอบเขียน Functional API Tests ใน SoapUI ได้
- รองรับฟีเจอร์ Drag-Drop ซึ่งช่วยเร่งการพัฒนาสคริปต์
- รองรับการดีบักการทดสอบและอนุญาตให้ผู้ทดสอบพัฒนาการทดสอบที่ขับเคลื่อนด้วยข้อมูล
- รองรับสภาพแวดล้อมที่หลากหลาย – ง่ายต่อการสลับระหว่างสภาพแวดล้อม QA, Dev และ Prod
- อนุญาตการเขียนสคริปต์ขั้นสูง (ผู้ทดสอบสามารถพัฒนาโค้ดที่กำหนดเองได้ขึ้นอยู่กับสถานการณ์)
2) การทดสอบความปลอดภัย
- มีความสามารถในการสแกนช่องโหว่ครบชุด
- ป้องกัน SQL การฉีดเพื่อรักษาความปลอดภัยฐานข้อมูล
- สแกนหา Stack Overflow ที่เกิดจากเอกสารขนาดใหญ่
- สแกนหา Cross Site Scripting ซึ่งมักเกิดขึ้นเมื่อพารามิเตอร์บริการถูกเปิดเผยในข้อความ
- ทำการสแกน Fuzzing และการสแกนขอบเขตเพื่อหลีกเลี่ยงพฤติกรรมที่ไม่แน่นอนของบริการ
3) การทดสอบโหลด
- กระจายการทดสอบโหลดไปยังเอเจนต์ loadUI จำนวนเท่าใดก็ได้
- จำลองการทดสอบปริมาณมากและโหลดในโลกแห่งความเป็นจริงได้อย่างง่ายดาย
- อนุญาตให้การรายงานแบบกำหนดเองขั้นสูงบันทึกพารามิเตอร์ประสิทธิภาพ
- อนุญาตการตรวจสอบประสิทธิภาพของระบบแบบ end-to-end
4) โปรโตคอล/เทคโนโลยีที่รองรับ:
SoapUI มีการสนับสนุนโปรโตคอลที่ครอบคลุมที่สุด
5) การบูรณาการสบู่กับเครื่องมืออัตโนมัติอื่นๆ:
SoapUI ผสานรวมเข้ากับเครื่องมือยอดนิยมได้เป็นอย่างดี
1) มาเวน

อาปาเช่ Maven เป็นเครื่องมือการจัดการโครงการซอฟต์แวร์ที่สามารถจัดการการสร้าง การรายงาน และเอกสารประกอบของโครงการจากพื้นที่เก็บข้อมูลส่วนกลาง Maven ยังสามารถดำเนินการทดสอบ SOAPUI ภายใน Maven Build โดยใช้คำสั่งง่ายๆ
2) ฮัดสัน

ฮัดสัน, เอ Java เครื่องมือบูรณาการอย่างต่อเนื่องและทำงานร่วมกับเครื่องมือต่างๆ เช่น CVS, Subversion, Git, Perforce, Clearcase และ RTC SOAPUI ยังทำงานร่วมกับ HUDSON ซึ่งช่วยให้เราตรวจพบจุดบกพร่องได้อย่างรวดเร็วสำหรับการกระทำแต่ละครั้งของนักพัฒนา
3) JUnit

JUnit คือ การทดสอบหน่วย กรอบงานในตัว Javaซึ่งสามารถควบคุมการไหลของการทดสอบจาก SOAPUI ได้เช่นกัน
4) อาปาเช่ – แอนท์

อาปาเช่ มด, เอ Java ไลบรารีซึ่งเป็นเครื่องมือบรรทัดคำสั่งที่ช่วยในการสร้างซอฟต์แวร์ การใช้บรรทัดคำสั่งของ SOAP UI ทำให้เราสามารถดำเนินการทดสอบภายใน ANT Automated Build ได้
SOAP UI เทียบกับ Selenium
มาเปรียบเทียบ SoapUI กับ Selenium
| สบู่ UI | Selenium |
|---|---|
| SOAP UI ไม่ได้ใช้สำหรับการทดสอบส่วนต่อประสานกับผู้ใช้ ใช้สำหรับการทดสอบ WebAPI หรือ WebService เท่านั้น | Selenium ใช้สำหรับการทดสอบส่วนต่อประสานกับผู้ใช้ |
| ความสามารถในการทดสอบข้อมูลที่ส่งและรับระหว่างเว็บเบราว์เซอร์และเว็บเซิร์ฟเวอร์ สามารถทดสอบโปรโตคอล/เทคโนโลยี เช่น REST, SOAP | Selenium ไม่สามารถทดสอบโปรโตคอลได้ แต่สามารถทดสอบพฤติกรรม UI ได้ |
| สามารถปฏิบัติงาน โหลด และ การทดสอบความปลอดภัย ของเทคโนโลยีที่กล่าวมาข้างต้น | Selenium สามารถทำได้เท่านั้น การทดสอบสมรรถนะ. การทดสอบประสิทธิภาพ ในระดับหนึ่งเนื่องจากเราสามารถติดตามเวลาดำเนินการโดยคำนึงถึงประสิทธิภาพ แต่ไม่สามารถทดสอบผู้ใช้หลายรายและผู้เช่าหลายรายได้ Selenium ไม่สามารถใช้สำหรับการทดสอบความปลอดภัยได้อย่างแน่นอน |
| มันขึ้นอยู่กับโปรโตคอลและไม่ขึ้นอยู่กับเบราว์เซอร์ | Selenium ขึ้นอยู่กับความสามารถของเบราว์เซอร์ |
SOAP UI กับ SOAP UI PRO
เรารู้ว่าการทดสอบ SOAP UI มีสองรสชาติ แบบหนึ่งคือ SOAP UI (เวอร์ชันโอเพ่นซอร์ส) ในขณะที่อีกแบบคือ SOAP UI PRO ให้เราเข้าใจความแตกต่างระหว่างสองรสชาตินี้แล้วเราจะหารือด้วยว่าควรใช้อะไรเมื่อใด
| คุณสมบัติ | SOAP UI (เวอร์ชันโอเพ่นซอร์ส) | สบู่ UI PRO |
| เทคโนโลยีที่รองรับ | ||
| สบู่/WSDL | ||
| REST | ||
| จส | ||
| สารเลว | ||
| เจดีบีซี | ||
| HTTP | ||
| อัตโนมัติ | ||
| การทดสอบการใช้งาน | ||
| การทดสอบโหลด | ||
| บริการจำลอง | ||
| การสร้างรหัส | ||
| บรรทัดคำสั่ง | ||
| Maven | ||
| CI และบูรณาการการสร้าง | ||
| คุณสมบัติทั่วไป | ||
| แอปพลิเคชันแบบสแตนด์อโลน | ||
| Groovy เทมเพลตโค้ด | ||
| การสนับสนุนหลายสภาพแวดล้อม | ||
| ใบอนุญาตลอยตัว | ||
| คุณสมบัติการทดสอบการทำงาน | ||
| ความคุ้มครอง WSDL | ||
| ความคุ้มครองคำขอ/การตอบกลับ | ||
| การยืนยันข้อความ | ||
| ทดสอบการปรับโครงสร้างใหม่ | ||
| การทดสอบหลายรายการ | ||
| การทดสอบที่ขับเคลื่อนด้วยแหล่งข้อมูล | ||
| ไลบรารีการเขียนสคริปต์ | ||
| การรายงานหน่วย | ||
| ขั้นตอนการทดสอบด้วยตนเอง | ||
| คุณสมบัติการทดสอบความปลอดภัย | ||
| สแกนขอบเขต | ||
| ประเภทไม่ถูกต้อง | ||
| ด้วย SQL Injection | ||
| การฉีด XPath | ||
| ระเบิด XML | ||
| การสแกนแบบคลุมเครือ | ||
| การเขียนสคริปต์ข้ามไซต์ | ||
| การสแกนที่กำหนดค่าได้ | ||
| การรายงาน | ||
| คุณสมบัติการทดสอบโหลด | ||
| การทดสอบโหลดอย่างรวดเร็วจากการทดสอบการใช้งาน | ||
| กลยุทธ์การโหลดที่กำหนดค่าได้ | ||
| โหลดการยืนยันการทดสอบ | ||
| สถิติตามเวลาจริง | ||
| การตรวจสอบประสิทธิภาพ | ||
| สถิติการส่งออก | ||
| ตั้งค่า/TearDown โดยใช้ Groovy การเขียนสคริปต์ | ||
| บูรณาการโหลด UI | ||
| การรายงาน | ||
| รายงาน | ||
| JUnit รายงาน | ||
| รายงานการส่งออกข้อมูล | ||
| รายงาน WSDL HTML | ||
| ความคุ้มครอง WSDL | ||
| ความครอบคลุมของ TestSuite | ||
| ความครอบคลุมของ TestCase | ||
| ความคุ้มครองการยืนยัน | ||
| ความคุ้มครองการบันทึกข้อความ | ||
เมื่อใช้ SoapUI เวอร์ชัน PRO?
- ขับเคลื่อนด้วยข้อมูล: เวอร์ชัน PRO ช่วยให้เราทำงานกับแหล่งข้อมูลภายนอก เช่น ไฟล์ข้อความ, XML, Groovy, Excel, ไฟล์ และฐานข้อมูล สิ่งนี้ช่วยให้เราขยายการทดสอบของเราด้วยอินพุตที่หลากหลายซึ่งขับเคลื่อนผ่านแหล่งข้อมูลที่กล่าวข้างต้น
- ครอบคลุมการทดสอบ: เวอร์ชัน PRO ช่วยให้ผู้ทดสอบได้รับรายงานทางสถิติซึ่งแสดงฟังก์ชันที่ได้รับการทดสอบอย่างดีและส่วนที่ไม่ได้รับการทดสอบอย่างละเอียดเช่นกัน รายงานการเจาะลึกยังระบุได้อย่างชัดเจนว่าสิ่งใดที่ยังไม่ได้รับการทดสอบและสิ่งใดที่ยังไม่ได้รับการยืนยัน
- ทดสอบการดีบัก: จากนั้นคุณสามารถรันการทดสอบจนถึงจุดพักและดูค่าปัจจุบันของคุณสมบัติ SoapUI อินเทอร์เฟซการดีบักการทดสอบช่วยลดความซับซ้อนของขั้นตอนการทดสอบ ตัวแปร คุณสมบัติ คำขอ บริบท และอื่นๆ อีกมากมาย ทำให้การสร้างและการปรับปรุงการทดสอบมีประสิทธิภาพมากขึ้น
- การสนับสนุนหลายสภาพแวดล้อม: การทำงานกับสภาพแวดล้อมที่หลากหลาย เช่น สภาพแวดล้อม DEV, QA, Pre-PROD อาจเป็นงานที่น่ากังวลสำหรับเวอร์ชันโอเพ่นซอร์ส เนื่องจากผู้ทดสอบจำเป็นต้องเปลี่ยนจุดสิ้นสุดเพื่อดำเนินการในสภาพแวดล้อมที่แตกต่างกัน รุ่น PRO ช่วยให้เราสลับระหว่างสภาพแวดล้อมได้อย่างราบรื่น
- รายงาน: เวอร์ชัน PRO เต็มไปด้วยตัวเลือกมากมายในการปรับแต่งรายงานที่สร้างรายงานโดยละเอียดในระดับ Project, TestSuite, TestCase หรือ LoadTest อีกทั้งยังสร้างรายงานในรูปแบบต่างๆ เช่น PDF, HTML, Word หรือ Excel
- การทดสอบความปลอดภัย: SOAPUI ทั้งสองเวอร์ชันมีความสามารถในการทดสอบช่องโหว่ด้านความปลอดภัย เช่น XML Bombs, การแทรก SQL, Fuzzing, การเขียนสคริปต์ข้ามไซต์ อย่างไรก็ตาม มีเพียง SOAP UI PRO เท่านั้นที่สามารถทำการสแกนช่องโหว่โดยใช้การทดสอบความปลอดภัย Generator โดยใช้การคลิกเมาส์
- ตัวสร้าง SQL: การเขียน SQL Query ที่ซับซ้อนอาจเป็นเรื่องยุ่งยากสำหรับผู้ทดสอบที่ไม่ใช่นักเทคนิค โปรแกรม SQL Builder ของ SOAP UI PRO สามารถช่วยพวกเขาในการสร้าง SQL Query โดยใช้อินเทอร์เฟซกราฟิกของ SQL Builder ฟีเจอร์นี้ช่วยให้เราเร่งการใช้งานการทดสอบตามข้อมูลได้
- Support: เป็นส่วนหนึ่งของข้อตกลงใบอนุญาต SOAP UI Pro ได้รับการสนับสนุนพิเศษนอกเหนือจากการสนับสนุนฟอรัมออนไลน์
เราจะใช้ SoapUI เวอร์ชันโอเพ่นซอร์สเพื่อวัตถุประสงค์ในการฝึกอบรมของเรา
เครื่องมือ SOAP UI – ไทม์ไลน์ของเวอร์ชัน
| เวอร์ชันหลัก | หมายเหตุรีลีส | วันที่ออกข่าว |
|---|---|---|
| V1.0 | ที่วางจำหน่ายครั้งแรก | 16-10-2005 |
| v1.5 | โหลดการทดสอบการเปิดตัว | 06-04-2006 |
| v1.6 | การเปิดตัวเครื่องมือ | 12-11-2006 |
| V1.7 | รุ่นโปร | 10-04-2007 |
| v2.0 | การเปิดเผยความคุ้มครอง | 12-12-2007 |
| v2.5 | ส่วนที่เหลือปล่อย | 18-11-2008 |
| v3.0 | รายงานการปล่อย | 09-07-2009 |
| v3.5 | การเปิดตัวโปรโตคอล | 01-03-2010 |
| v3.6 | การเปิดตัว LoadUI | 14-09-2010 |
| v4.0 | การเผยแพร่ความปลอดภัย | 14-06-2011 |
| v4.5 | ปล่อยหูใหญ่ | 28-03-2012 |
| v5.1 | การเสียบปลั๊ก | 05-09-2014 |
| v.5.2 | การเปิดตัวคุณสมบัติใหม่ที่สำคัญ | 02-07-2015 |
| v.5.3 | การเปิดตัวปลั๊กอินแบบรวม | 05-12-2016 |


