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.
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í.
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.
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
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, 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 je testování jednotky vestavěný rámec Java, který může řídit tok testů z SoapUI stejně.
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 | ||
| REST | ||
| JMS | ||
| AMF | ||
| JDBC | ||
| HTTP | ||
| Automatizace | ||
| Funkční testy | ||
| Zátěžové testy | ||
| Mock služby | ||
| Code Generace | ||
| Příkazový řádek | ||
| Maven | ||
| CI a integrace sestavení | ||
| Obecné rysy | ||
| Samostatná aplikace | ||
| Groovy Code Šablony | ||
| Podpora více prostředí | ||
| Plovoucí licence | ||
| Funkce funkčního testování | ||
| Pokrytí WSDL | ||
| Pokrytí požadavku/odpovědi | ||
| Potvrzení zprávy | ||
| Testovací Refaktoring | ||
| Provádění vícenásobných testů | ||
| Testy řízené zdrojem dat | ||
| Skriptovací knihovny | ||
| Hlášení jednotek | ||
| Krok ručního testu | ||
| Funkce testování zabezpečení | ||
| Hraniční skenování | ||
| Neplatný typ | ||
| SQL Injection | ||
| XPath Injection | ||
| XML bomba | ||
| Fuzzing Scan | ||
| Skriptování mezi stránkami | ||
| Konfigurovatelné skenování | ||
| Hlášení | ||
| Funkce zátěžového testování | ||
| Rychlé zátěžové testy z funkčních testů | ||
| Konfigurovatelné strategie zatížení | ||
| Tvrzení zátěžového testu | ||
| Statistiky v reálném čase | ||
| Sledování výkonnosti | ||
| Export statistik | ||
| Setup/TearDown pomocí Groovy Skriptování | ||
| Integrace LoadUI | ||
| Hlášení | ||
| zprávy | ||
| JUnit zprávy | ||
| Export dat sestavy | ||
| Zpráva HTML WSDL | ||
| Pokrytí WSDL | ||
| Pokrytí TestSuite | ||
| Pokrytí testovacího případu | ||
| Pokrytí tvrzení | ||
| Pokrytí nahrávání zpráv | ||
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 |







