Co je to SoapUI?

⚡ Chytré shrnutí

SoapUI je přední open-source, multiplatformní nástroj pro testování API, který pomáhá týmům QA ověřovat webové služby SOAP a REST prostřednictvím funkčního, regresního, bezpečnostního a zátěžového testování v moderních podnikových prostředích a kanálech kontinuální integrace.

  • 🧼 Hlavní účel: SoapUI ověřuje služby SOAP, REST, JMS a WSDL, aby týmy mohly potvrdit datové části, stavové kódy a ověřittracchování.
  • 🌐 Pokrytí protokolu: SoapUI podporuje HTTP, HTTPS, AMF a JDBC, takže je vhodný jak pro starší SOAP stacky, tak pro moderní REST mikroslužby.
  • 🧪 Typy testů: Jeden projekt podporuje funkční, regresní, bezpečnostní a zátěžové scénáře, včetně SQL injection, fuzzing a cross-site scripting kontrol.
  • (Tj. Open Source vs. ReadyAPI: volný SoapUI Verze 5.x zvládá většinu testovacích potřeb, zatímco ReadyAPI (dříve SoapUI Pro) přidává testování založené na datech, zprávy o pokrytí a podnikovou podporu.
  • 🛠️ Integrace CI: SoapUI integruje se s Mavenem, Jenkins, JUnita Apache Ant, takže testy API se spouštějí automaticky v každém kanálu sestavení.
  • 🤖 Asistence AI: Moderní asistenti s umělou inteligencí dokáží generovat SoapUI tvrzení, Groovy skripty a ReadyAPI testovací data ze specifikací OpenAPI, což zkracuje dobu ručního nastavení.

Co je to SoapUI?

SoapUI je přední open-source, multiplatformní nástroj pro testování API, který umožňuje testerům provádět automatizované funkční, regresní, compliance a zátěžové testy na různých webových API. Je vytvořen speciálně pro servisně orientované architektury a REST webové služby. SoapUI poskytuje technickým i netechnickým uživatelům jednoduché rozhraní pro návrh, spouštění a reportování testů API.

  • SoapUI je přední open source multiplatformní nástroj pro testování API.
  • SoapUI umožňuje testerům provádět automatizované funkční, regresní, compliance a zátěžové testy na různých webových API.
  • SoapUI podporuje všechny standardní protokoly a technologie pro testování všech druhů API.
  • Jedno SoapUI Rozhraní je jednoduché a umožňuje bezproblémové používání technickými i netechnickými uživateli.
  • Moderní vydání, jako např. SoapUI 5.x a reklama ReadyAPI Sada rozšiřuje testování do cloudového, kontejnerového a CI/CD prostředí.

Co je to SoapUI

Proč používat SoapUI?

SoapUI není jen funkčním nástrojem pro testování API, ale umožňuje testerům provádět i nefunkční testování, jako jsou výkonnostní a bezpečnostní testy. Platforma pokrývá služby SOAP, REST a WSDL v jednom pracovním prostoru, a proto ji mnoho podnikových týmů QA přijímá jako své výchozí řešení pro testování API. Níže uvádíme pět důležitých funkcí SoapUI které vysvětlují, proč si ho týmy vybírají.

Nejlepší vlastnosti SoapUI

SoapUI sdružuje několik testovacích funkcí do jednoho rozhraní, takže jeden projekt může zahrnovat funkční kontroly, bezpečnostní skenování a načítání. Následující funkce zdůrazňují, co dělá SoapUI výborně se hodí pro moderní programy pro testování API.

1) Funkční testování

  • Výkonný nástroj, který umožňuje testerům psát funkční API testy v SoapUI.
  • Podporuje drag-and-drop, což urychluje vývoj skriptů.
  • Podporuje ladění testů a umožňuje testerům vyvíjet testy řízené daty.
  • Podporuje více prostředí, což usnadňuje přepínání mezi QA, vývojem a produkcí.
  • Umožňuje pokročilé skriptování, aby si testeři mohli vyvíjet vlastní Groovy kód pro jakýkoli scénář.

2) Bezpečnostní testování

  • Má schopnost provádět kompletní sadu skenů zranitelností.
  • Zabraňuje SQL Injekce do zabezpečených databází.
  • Prohledává přetečení zásobníku způsobené dokumenty velké velikosti.
  • Prohledává cross-site scripting, ke kterému obvykle dochází, když jsou ve zprávách zveřejněny parametry služby.
  • Provádí Fuzzing scan a Boundary scan, aby se zabránilo nevyzpytatelnému chování služeb.

3) Zátěžové testování

  • Rozložte zátěžové testy mezi libovolný počet agentů LoadUI.
  • Simulujte snadno zátěžové testování s velkým objemem dat i v reálném prostředí.
  • Umožňuje pokročilé vlastní reportování pro zachycení výkonnostních parametrů.
  • Umožňuje komplexní monitorování výkonu systému.

4) Podporované protokoly a technologie

SoapUI má nejkomplexnější podporu protokolů mezi nástroji pro testování API s otevřeným zdrojovým kódem, která zahrnuje REST, SOAP, WSDL, JMS, AMF, JDBC a HTTP.

SoapUI Podporované protokoly

5) Integrace s dalšími automatizačními nástroji

SoapUI velmi dobře se integruje s populárními sestavami a CI nástroje, což je nezbytné pro vkládání API testů do moderních delivery pipelines.

Maven

Maven

Apache Maven je nástroj pro správu softwarových projektů, který dokáže spravovat sestavení, reporting a dokumentaci projektu z centrálního repozitáře. Maven umí také spouštět SoapUI testy v rámci sestavení Maven pomocí jednoduchých příkazů.

Jenkins (Hudson)

Jenkins (dříve Hudson)

Jenkins, původně odnožená z Hudsonu, je JavaNástroj pro kontinuální integraci založený na technologii -, který se integruje s CVS, Subversion, Git, Perforce, ClearCase a RTC. SoapUI také integruje s Jenkins, což pomáhá týmům rychle odhalit chyby u každého commitu provedeného vývojáři.

JUnit

JUnit

JUnit je testování jednotky vestavěný rámec Java, který může řídit tok testů z SoapUI stejně.

Apache Ant

Apache Ant

Apache Mravenec je Java knihovna a nástroj příkazového řádku, který pomáhá s tvorbou softwaru. Použití SoapUIProstřednictvím příkazového řádku mohou týmy spouštět testy v rámci automatizovaného sestavení Ant.

SoapUI vs Selenium

Je užitečné porovnávat SoapUI s Selenium aby týmy chápaly, který nástroj se hodí do které oblasti působnosti. SoapUI zaměřuje se na vrstvu API a protokolu, zatímco Selenium zaměřuje se na chování uživatelského rozhraní uvnitř prohlížeče.

SoapUI Selenium
SoapUI NEPOUŽÍVÁ se pro testování uživatelského rozhraní. Používá se pouze pro testování webového API nebo webových služeb. Selenium používá se pro testování uživatelského rozhraní.
Schopný testovat data odesílaná a přijímaná mezi webovým prohlížečem a webovým serverem. Dokáže testovat protokoly a technologie, jako jsou REST a SOAP. Selenium Nemůže testovat protokoly, ale může testovat chování uživatelského rozhraní.
Schopný vykonávat funkční, zátěžové a bezpečnostní testování z výše zmíněných technologií. Selenium může provádět pouze funkční testování. Testování výkonu lze do určité míry provést, protože doba provedení může být tracked, ale víceuživatelský a vícenájemní systém nelze testovat. Selenium rozhodně nelze použít pro testování bezpečnosti.
Závisí to na PROTOKOLU a NENÍ to závislé na prohlížeči. Selenium záleží na možnostech prohlížeče.

SoapUI vs SoapUI Pro (ReadyAPI)

Existují dvě příchutě SoapUIopen-source SoapUI a komerční vydání původně označené SoapUI Pro a nyní zabaleno jako ReadyAPINíže je uvedeno srovnání funkcí, které vysvětluje, kdy zvolit každou možnost.

Funkce SoapUI (Verze s otevřeným zdrojovým kódem) SoapUI Pro / ReadyAPI
Podporované technologie
SOAP/WSDL SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
REST SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
JMS SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
AMF SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
JDBC SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
HTTP SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Automatizace
Funkční testy SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Zátěžové testy SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Mock služby SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Code Generace SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Příkazový řádek SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Maven SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
CI a integrace sestavení SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Obecné rysy
Samostatná aplikace SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Groovy Code Šablony SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Podpora více prostředí SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Plovoucí licence SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Funkce funkčního testování
Pokrytí WSDL SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Pokrytí požadavku/odpovědi SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Potvrzení zprávy SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Testovací Refaktoring SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Provádění vícenásobných testů SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Testy řízené zdrojem dat SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Skriptovací knihovny SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Hlášení jednotek SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Krok ručního testu SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Funkce testování zabezpečení
Hraniční skenování SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Neplatný typ SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
SQL Injection SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
XPath Injection SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
XML bomba SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Fuzzing Scan SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Skriptování mezi stránkami SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Konfigurovatelné skenování SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Hlášení SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Funkce zátěžového testování
Rychlé zátěžové testy z funkčních testů SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Konfigurovatelné strategie zatížení SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Tvrzení zátěžového testu SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Statistiky v reálném čase SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Sledování výkonnosti SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Export statistik SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Setup/TearDown pomocí Groovy Skriptování SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Integrace LoadUI SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Hlášení SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
zprávy
JUnit zprávy SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Export dat sestavy SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Zpráva HTML WSDL SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Pokrytí WSDL SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Pokrytí TestSuite SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Pokrytí testovacího případu SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Pokrytí tvrzení SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro
Pokrytí nahrávání zpráv SoapUI vs SoapUI Pro SoapUI vs SoapUI Pro

Kdy použít SoapUI Pro / ReadyAPI Verze?

Profesionální edice (nyní ReadyAPI) je správnou volbou, když týmy potřebují pokročilý reporting, správu více prostředí a podnikovou podporu. Níže uvedené body popisují klíčové scénáře, ve kterých verze Pro přináší oproti open-source verzi větší hodnotu. SoapUI Vydání 5.x.

  • Na základě dat: Verze Pro pomáhá testerům pracovat s externími zdroji dat, jako jsou textové soubory, XML, Groovy, Excel a databáze. To umožňuje škálování testů napříč širokou škálou vstupů získaných z těchto zdrojů.
  • Testovací pokrytí: Verze Pro umožňuje testerům získat statistickou zprávu, která ukazuje dobře otestované funkce i oblasti, které důkladně otestovány nejsou. Podrobné zprávy dokonce přesně určují, co nebylo otestováno a co nebylo potvrzeno.
  • Testovací ladění: Testeři mohou spustit test do bodu přerušení a zobrazit aktuální hodnotu SoapUI vlastnosti. Rozhraní ladění testů zjednodušuje kontrolu průběhu testování, proměnných, vlastností, požadavků a kontextu, což zefektivňuje tvorbu a vylepšování testů.
  • Podpora více prostředí: Práce s více prostředími, jako je DEV, QA a Pre-PROD, může být v open-source verzi náročný úkol, protože testeři musí měnit koncové body, aby mohli systém spouštět v různých prostředích. Verze Pro pomáhá týmům bezproblémově přecházet mezi prostředími.
  • Hlášení: Verze Pro nabízí mnoho možností pro úpravu reportů, které generují podrobný výstup na úrovni projektu, TestSuite, TestCase nebo LoadTest. Vytváří také reporty v různých formátech, jako je PDF, HTML, Word nebo Excel.
  • Testování zabezpečení: Oba SoapUI Verze mají funkce pro testování bezpečnostních zranitelností, jako jsou XML bomby, SQL injection, fuzzing a cross-site scripting. Pouze však SoapUI Pro může provádět skenování zranitelností pomocí bezpečnostního testu Generator kliknutím myši.
  • SQL Builder: Pro netechnické testery může být psaní složitých SQL dotazů těžkopádné. SoapUI Pro SQL Builder jim pomáhá vytvářet SQL dotazy pomocí grafického rozhraní. Tato funkce urychluje implementaci testování řízeného daty.
  • Podpora: Jako součást licenční smlouvy, SoapUI Pro má exkluzivní podporu kromě podpory online fóra.

Verze s otevřeným zdrojovým kódem SoapUI bude použit pro účely školení v tomto tutoriálu.

SoapUI Nástroj – Časové osy verzí

SoapUI vydává hlavní verze od roku 2005, přičemž každá verze přidává novou podporu protokolů, bezpečnostní funkce nebo možnosti vytváření sestav. Modern SoapUI Verze 5.x se zaměřují na stabilitu pluginů a pokrytí RESTu, zatímco komerční produktová řada byla přejmenována na ReadyAPI.

Hlavní verze Poznámky k vydání Datum vydání
V1.0 První vydání 16-10-2005
v1.5 Uvolnění zátěžového testu 06-04-2006
v1.6 Uvolnění nástrojů 12-11-2006
V1.7 Vydání Pro 10-04-2007
v2.0 Uvolnění pokrytí 12-12-2007
v2.5 Uvolnění REST 18-11-2008
v3.0 Reporting Release 09-07-2009
v3.5 Uvolnění protokolu 01-03-2010
v3.6 LoadUI Release 14-09-2010
v4.0 Bezpečnostní vydání 14-06-2011
v4.5 Uvolnění velkých uší 28-03-2012
v5.1 Vydání Plugged in Release 05-09-2014
v5.2 Vydání hlavních nových funkcí 02-07-2015
v5.3 Vydání přibaleného pluginu 05-12-2016

Nejčastější dotazy

SoapUI se používá k testování webových služeb SOAP, REST a WSDL. Týmy jej používají k funkčnímu, regresnímu, bezpečnostnímu a zátěžovému testování API napříč prostředími QA, vývoje a produkce prostřednictvím jednoho pracovního prostoru s otevřeným zdrojovým kódem.

SoapUI je bezplatná edice s otevřeným zdrojovým kódem, která zahrnuje základní funkční a zátěžové testování. ReadyAPI, dříve SoapUI Pro je komerční balíček, který přidává testování řízené daty, pokročilé reportování, podporu pro více prostředí a podporu podnikových dodavatelů od SmartBear.

Ano. SoapUI podporuje REST, SOAP, WSDL, JMS, AMF, JDBC a HTTP. Testeři mohou importovat specifikaci OpenAPI nebo dokument WSDL do stejného projektu a spustit funkční, bezpečnostní a zátěžové testy pro oba styly služeb.

Ano. SoapUI Open Source je zdarma pod licencí EUPL a dostupný pro Windows, macOSa Linux. ReadyAPI je placený produkt SmartBear, který obsahuje SoapUI s dalšími moduly pro testování řízené daty, virtualizaci a bezpečnostní testování.

Asistenti s umělou inteligencí dokáží číst specifikaci OpenAPI nebo WSDL a vytvářet SoapUI těla požadavků, tvrzení XPath a JSONPath, ukázkové datové části a Groovy skripty. To zkracuje čas potřebný k vytvoření testovací sady z hodin na minuty u typických CRUD API.

Ano. Údržba s podporou umělé inteligence může porovnat novou verzi API se stávající verzí. SoapUI testovací kroky, navrhovat aktualizované datové části požadavků, opravovat chybná tvrzení a přepisovat Groovy skripty. ReadyAPI Uživatelé mohou tento pracovní postup spárovat s vestavěnými generátory dat pro rychlejší pokrytí regrese.

Shrňte tento příspěvek takto: