Što je SoapUI?
⚡ Pametni sažetak
SoapUI je vodeći alat za testiranje API-ja otvorenog koda na više platformi koji pomaže QA timovima da validiraju SOAP i REST web usluge putem funkcionalnog, regresijskog, sigurnosnog i testiranja opterećenja u modernim poslovnim okruženjima i cjevovodima kontinuirane integracije.
Što je SoapUI?
SoapUI je vodeći alat za testiranje API-ja otvorenog koda na više platformi koji testerima omogućuje izvršavanje automatiziranih funkcionalnih, regresijskih, testova usklađenosti i testova opterećenja na različitim web API-jima. Izrađen posebno za servisno orijentirane arhitekture i REST web usluge, SoapUI pruža i tehničkim i netehničkim korisnicima jednostavno sučelje za dizajniranje, pokretanje i izvještavanje API testova.
- SoapUI je vodeći alat za testiranje API-ja otvorenog koda na više platformi.
- SoapUI omogućuje testerima izvršavanje automatiziranih funkcionalnih, regresijskih, testova usklađenosti i testova opterećenja na različitim web API-jima.
- SoapUI podržava sve standardne protokole i tehnologije za testiranje svih vrsta API-ja.
- The SoapUI Sučelje je jednostavno i omogućuje besprijekorno korištenje i tehničkim i netehničkim korisnicima.
- Moderna izdanja kao što su SoapUI 5.x i reklama ReadyAPI Paket proširuje testiranje na cloud, kontejnerska i CI/CD okruženja.
Zašto koristiti SoapUI?
SoapUI nije samo alat za funkcionalno API testiranje, već testerima omogućuje i nefunkcionalno testiranje, poput testova performansi i sigurnosti. Platforma pokriva SOAP, REST i WSDL usluge putem jednog radnog prostora, zbog čega mnogi QA timovi u poduzećima usvajaju ga kao svoje zadano API rješenje za testiranje. U nastavku je pet važnih značajki SoapUI što objašnjava zašto ga timovi biraju.
Glavne značajke SoapUI
SoapUI objedinjuje nekoliko mogućnosti testiranja u jedno sučelje tako da jedan projekt može obuhvatiti funkcionalne provjere, sigurnosne skeniranja i učitavanja. Sljedeće značajke ističu što čini SoapUI snažno pristaje modernim programima za testiranje API-ja.
1) Funkcionalno testiranje
- Moćan alat koji testerima omogućuje pisanje funkcionalnih API testova u SoapUI.
- Podržava "drag-and-drop" metodu, što ubrzava razvoj skripti.
- Podržava otklanjanje pogrešaka u testovima i omogućuje testerima razvoj testova temeljenih na podacima.
- Podržava više okruženja, što olakšava prebacivanje između QA, Dev i Prod.
- Omogućuje napredno skriptiranje kako bi testeri mogli razvijati prilagođene Groovy kod za bilo koji scenarij.
2) Sigurnosno testiranje
- Ima mogućnost izvođenja kompletnog seta skeniranja ranjivosti.
- sprečava SQL Injektiranje za sigurne baze podataka.
- Skenira za prelijevanje stoga uzrokovano dokumentima ogromne veličine.
- Skenira za cross-site scripting, što se obično događa kada su parametri usluge izloženi u porukama.
- Izvodi Fuzzing skeniranje i granično skeniranje kako bi se izbjeglo nepravilno ponašanje usluga.
3) Ispitivanje opterećenja
- Distribuirajte testove opterećenja na bilo koji broj LoadUI agenata.
- Simulirajte testiranje velikog obujma i u stvarnom svijetu s lakoćom.
- Omogućuje napredno prilagođeno izvještavanje za bilježenje parametara performansi.
- Omogućuje praćenje performansi sustava od početka do kraja.
4) Podržani protokoli i tehnologije
SoapUI ima najopsežniju podršku za protokole među alatima za testiranje API-ja otvorenog koda, pokrivajući REST, SOAP, WSDL, JMS, AMF, JDBC i HTTP.
5) Integracija s drugim alatima za automatizaciju
SoapUI vrlo se dobro integrira s popularnim verzijama i CI alati, što je ključno za ugradnju API testova u moderne procese isporuke.
Maven
apaš Maven je alat za upravljanje softverskim projektima koji može upravljati izgradnjom, izvještavanjem i dokumentacijom projekta iz centralnog repozitorija. Maven također može izvršavati SoapUI testovi unutar Maven verzije pomoću jednostavnih naredbi.
Jenkins (Hudson)
Jenkins, izvorno ogranak od Hudsona, je Javaalat za kontinuiranu integraciju koji se integrira s CVS-om, Subversionom, Gitom, Perforceom, ClearCaseom i RTC-om. SoapUI također se integrira sa Jenkins, što pomaže timovima da brzo uoče greške za svaki commit od strane programera.
JUnit
JUnit je ispitivanje jedinice ugrađen okvir Java, koji može kontrolirati tok testova od SoapUI kao dobro.
Apaški mrav
apaš Mrav je Java biblioteka i alat naredbenog retka koji pomaže u izgradnji softvera. Korištenje SoapUIPomoću naredbenog retka, timovi mogu izvršavati testove unutar automatizirane izgradnje Anta.
SoapUI vs Selenium
Korisno je usporediti SoapUI sa Selenium kako bi timovi razumjeli koji alat odgovara kojem opsegu. SoapUI fokusira se na API i protokolni sloj, dok Selenium fokusira se na ponašanje korisničkog sučelja unutar preglednika.
| SoapUI | Selenium |
|---|---|
| SoapUI NE koristi se za testiranje korisničkog sučelja. Koristi se samo za testiranje web API-ja ili web servisa. | Selenium koristi se za testiranje korisničkog sučelja. |
| Sposoban za testiranje podataka poslanih i primljenih između web preglednika i web poslužitelja. Može testirati protokole i tehnologije kao što su REST i SOAP. | Selenium ne može testirati protokole, ali može testirati ponašanje korisničkog sučelja. |
| Sposoban za obavljanje funkcionalnih zadataka, zadataka opterećenja i testiranje sigurnosti gore navedenih tehnologija. | Selenium može izvesti samo funkcionalno ispitivanje. Ispitivanje performansi može se do određene mjere učiniti jer vrijeme izvršenja može biti tracked, ali višekorisnički i višenamjenski sustav ne mogu se testirati. Selenium sigurno se ne može koristiti za testiranje sigurnosti. |
| Ovisi o PROTOKOLU, a NE o pregledniku. | Selenium ovisi o mogućnostima preglednika. |
SoapUI vs SoapUI Pro (ReadyAPI)
Postoje dva okusa SoapUIotvoreni kod SoapUI i komercijalno izdanje izvorno označeno SoapUI Pro, a sada je pakiran kao ReadyAPIU nastavku slijedi usporedba značajki koja objašnjava kada odabrati svaku opciju.
| Značajke | SoapUI (Verzija otvorenog koda) | SoapUI Profesionalac / ReadyAPI |
| Podržane tehnologije | ||
| SOAP/WSDL | ||
| OSTALO | ||
| JMS | ||
| AMF | ||
| JDBC | ||
| HTTP | ||
| Automatizacija | ||
| Funkcionalni testovi | ||
| Testovi opterećenja | ||
| Lažne usluge | ||
| Code Generacija | ||
| Zapovjedna linija | ||
| Maven | ||
| Integracija CI-ja i izgradnje | ||
| Opće značajke | ||
| Samostalna aplikacija | ||
| Groovy Code Predlošci | ||
| Podrška za više okruženja | ||
| Promjenjive licence | ||
| Značajke funkcionalnog testiranja | ||
| WSDL pokrivenost | ||
| Pokrivenost zahtjeva/odgovora | ||
| Tvrdnja poruke | ||
| Test Refactoring | ||
| Izvođenje višestrukih testova | ||
| Testovi vođeni izvorom podataka | ||
| Knjižnice skripti | ||
| Izvještavanje jedinice | ||
| Ručni testni korak | ||
| Značajke sigurnosnog testiranja | ||
| Skeniranje granica | ||
| Nevažeća vrsta | ||
| SQL Injection | ||
| XPath Injection | ||
| XML bomba | ||
| Fuzzing skeniranje | ||
| Skriptiranje na više web stranica | ||
| Podesiva skeniranja | ||
| Izvještavanje | ||
| Značajke testiranja opterećenja | ||
| Brzi testovi opterećenja iz funkcionalnih testova | ||
| Konfigurabilne strategije opterećenja | ||
| Tvrdnje o ispitivanju opterećenja | ||
| Statistika u stvarnom vremenu | ||
| Praćenje učinkovitosti | ||
| Izvoz statistike | ||
| Postavljanje/Uklanjanje pomoću Groovy Scripting | ||
| Integracija LoadUI-ja | ||
| Izvještavanje | ||
| Izvješća | ||
| JUnit Izvješća | ||
| Izvoz podataka izvješća | ||
| WSDL HTML izvješće | ||
| WSDL pokrivenost | ||
| TestSuite pokrivenost | ||
| TestCase pokrivenost | ||
| Pokrivenost tvrdnje | ||
| Pokrivenost snimanja poruka | ||
Kada koristiti SoapUI Profesionalac / ReadyAPI Verzija?
Pro izdanje (sada ReadyAPI) je pravi izbor kada timovima treba napredno izvještavanje, upravljanje više okruženja i podrška za poduzeća. U nastavku su opisane ključne situacije u kojima Pro verzija pruža dodatnu vrijednost u odnosu na verziju otvorenog koda. SoapUI Izdanje 5.x.
- Upravljano podacima: Pro verzija pomaže testerima u radu s vanjskim izvorima podataka kao što su tekstualne datoteke, XML, Groovy, Excel i baze podataka. To omogućuje skaliranje testova na širokom rasponu ulaznih podataka dobivenih iz tih izvora.
- Pokrivenost testa: Pro verzija omogućuje testerima da dobiju statističko izvješće koje prikazuje funkcionalnosti koje su dobro testirane, kao i područja koja nisu temeljito testirana. Izvješća s detaljnim pregledom čak točno ukazuju na to što nije testirano i što nije utvrđeno.
- Testiranje otklanjanja pogrešaka: Testeri mogu pokrenuti test do točke prekida i vidjeti trenutnu vrijednost SoapUI svojstva. Sučelje za otklanjanje pogrešaka u testovima pojednostavljuje pregled tijeka testiranja, varijabli, svojstava, zahtjeva i konteksta, što olakšava izradu i poboljšanje testova.
- Podrška za više okruženja: Rad s više okruženja kao što su DEV, QA i Pre-PROD može biti zastrašujući zadatak s verzijom otvorenog koda jer testeri moraju mijenjati krajnje točke za izvršavanje u različitim okruženjima. Pro verzija pomaže timovima da se besprijekorno prebacuju između okruženja.
- Izvješćivanje: Pro verzija sadrži mnogo opcija za prilagodbu izvješća koja generiraju detaljan izlaz na razini projekta, TestSuite-a, TestCase-a ili LoadTesta. Također izrađuje izvješća u raznim formatima kao što su PDF, HTML, Word ili Excel.
- Ispitivanje sigurnosti: Oboje SoapUI verzije imaju mogućnosti testiranja sigurnosnih ranjivosti kao što su XML bombe, SQL injekcije, fuzzing i cross-site scripting. Međutim, samo SoapUI Pro može izvršiti skeniranje ranjivosti pomoću sigurnosnog testa Generator klikom miša.
- SQL Builder: Za netehničke testere, pisanje složenih SQL upita može biti nezgrapno. SoapUI Pro SQL Builder im pomaže u stvaranju SQL upita pomoću grafičkog sučelja. Ova značajka ubrzava implementaciju testiranja temeljenog na podacima.
- Potpora: Kao dio licencnog ugovora, SoapUI Pro ima ekskluzivnu podršku osim podrške na online forumu.
Verzija otvorenog koda SoapUI bit će korišten u svrhu obuke u ovom tutorijalu.
SoapUI Alat – Vremenske crte verzija
SoapUI je isporučio glavna izdanja od 2005. godine, pri čemu svako izdanje dodaje novu podršku za protokole, sigurnosne značajke ili mogućnosti izvještavanja. Modern SoapUI Izdanja 5.x fokusiraju se na stabilnost dodataka i REST pokrivenost, dok je komercijalna linija proizvoda preimenovana u ReadyAPI.
| Glavna verzija | Obavijesti o izdanju | Datum izlaska |
|---|---|---|
| V1.0 | Prvo izdanje | 16-10-2005 |
| v1.5 | Izdanje testiranja opterećenja | 06-04-2006 |
| v1.6 | Izdanje alata | 12-11-2006 |
| V1.7 | Pro izdanje | 10-04-2007 |
| v2.0 | Izdanje pokrivenosti | 12-12-2007 |
| v2.5 | ODMOR Otpuštanje | 18-11-2008 |
| v3.0 | Izvješće o izdanju | 09-07-2009 |
| v3.5 | Izdanje protokola | 01-03-2010 |
| v3.6 | LoadUI Izdanje | 14-09-2010 |
| v4.0 | Sigurnosno izdanje | 14-06-2011 |
| v4.5 | Puštanje velikih ušiju | 28-03-2012 |
| v5.1 | Uključeno izdanje | 05-09-2014 |
| v5.2 | Izdanje glavnih novih značajki | 02-07-2015 |
| v5.3 | Izdanje dodatka u paketu | 05-12-2016 |







