what is interface testing
Úvod do testovania rozhrania:
Keď sa vyvinie aplikácia, softvér alebo webová stránka, existuje ich niekoľko komponentov. Týmito komponentmi môžu byť server, databáza atď.
Spojenie, ktoré integruje a uľahčuje komunikáciu medzi týmito komponentmi, sa nazýva rozhranie.
Zjednodušene povedané, rozhranie je softvér pozostávajúci zo sady príkazov, správ atď.
Tento výukový program vám poskytne kompletný prehľad o testovaní rozhrania spolu s jeho potrebami, typom, stratégiou, kontrolným zoznamom a niektorými jeho nástrojmi, aby ste si rozšírili svoje vedomosti o koncepte.
Čo sa dozviete:
- Úvod
- Kedy a prečo by sme mali testovať rozhranie?
- Druhy testovania rozhrania
- Stratégia alebo prístup k testovaniu rozhrania
- Rozdiel medzi rozhraním, integráciou a testovaním komponentov
- Kontrolný zoznam na testovanie rozhrania
- Najlepšie nástroje na testovanie rozhrania
- Záver
- Odporúčané čítanie
Úvod
Pre počítač môžu byť rozhraním API, webové služby atď. Komunikácia medzi rôznymi komponentmi softvéru, aplikácií alebo webových stránok môže mať vplyv na celkový výkon, a preto je potrebné túto komunikáciu testovať a overovať.
Testovanie, ktoré sa vykonáva na overenie funkčnosti rozhrania, sa nazýva Testovanie rozhrania.
Medzi 2 bežné komponenty testovania rozhrania patria:
- Rozhranie webového servera a aplikačného servera.
- Rozhranie databázového servera a aplikačného servera.
Kedy a prečo by sme mali testovať rozhranie?
Ďalej sú uvedené 3 fázy testovania rozhrania v životnom cykle rozhrania:
1) Konfigurácia a vývoj:
Keď je rozhranie nakonfigurované a hneď ako sa začne vývoj, je potrebné overiť konfigurácie podľa požiadaviek.
2) Validácia:
Po dokončení vývoja je potrebné rozhranie overiť a overiť, čo je možné vykonať aj ako súčasť testovania jednotiek.
3) Údržba:
najlepší sťahovač mp3 skladieb pre Android
Keď je celý softvér pripravený, nasadený a funkčný, potom je potrebné monitorovať jeho výkonnosť rozhrania a prípadné nové problémy zavedené v dôsledku vykonaných zmien alebo zhoršenia výkonu.
Keď začneme vyvíjať rozhranie, musíme sa uistiť, že do nášho kódu nezavádzame žiadne chyby, a preto je potrebné na rozhraní spustiť testy, aby sme overili, či pridanie nového kódu neprináša žiadne nové chyby. To vám pomôže zistiť, či je rozhranie bezchybné a podľa požiadaviek.
Keď sme s rozhraním spokojní, overíme ho pre zamýšľaný pracovný tok, údaje atď. Môžeme spustiť výkon, obrovské dátové testy a skontrolovať, ako dobre rozhranie reaguje. Ušetrí vám to veľa času, ktorý bude neskôr venovaný odstráneniu chýb.
Stručne povedané, testovanie rozhrania sa vykonáva za účelom:
- Skontrolujte, či je vykonanie servera správne.
- Spracovanie chýb sa vykonáva správne a pri chybách vykonaných aplikáciou alebo softvérom sa zobrazia príslušné chybové správy.
- Ak chcete skontrolovať výsledok, keď sa obnoví pripojenie k serveru.
- Skontrolovať bezpečnostný aspekt, keď komponenty komunikujú navzájom.
- Skontrolovať vplyv zlyhania siete na komunikáciu medzi komponentmi.
Druhy testovania rozhrania
Testovanie rozhrania sa v zásade vykonáva na vrstve správ systémuovej architektúry. Väčšinou sa jedná o testovanie webovej služby REST API alebo SOAP vo formáte JSON alebo XML.
Testovanie rozhrania zvyčajne zahŕňa nasledujúce postupy:
- Testovanie jednotky: Testovanie funkčnosti každej jednotlivej operácie (vo funkcii).
- Funkčné testovanie : Testovanie funkčnosti širších scenárov zahŕňajúcich vytvorenie, overenie, regresiu atď.
- Testovanie záťaže: Overenie výkonu pri zaťažení, väčšinou pomocou funkčných testovacích prípadov.
- Testovanie bezpečnosti : Testovanie bezpečnostného mechanizmu a jeho súčasťou je penetračné testovanie, ako aj overovanie kontroly prístupu, šifrovanie atď.
- Detekcia chyby za behu: Monitorovanie problémov s aplikáciou, ako sú runtime preteky, únik zdrojov atď.
- Testovanie pracovného toku: Toto sa vykonáva, aby sa zabezpečilo, či modul rozhrania spracuje váš pracovný tok podľa očakávania.
- Jednotlivé systémy: Toto testovanie sa vykonáva s cieľom overiť individualitu každého systému. Rovnako ako fakturačný systém a systém riadenia zásob by mali byť schopné fungovať individuálne.
Stratégia alebo prístup k testovaniu rozhrania
Rovnako ako každé iné testovanie, aj testovanie rozhrania je rovnako dôležité, pretože zaisťuje plynulé fungovanie, výkon atď. Rôznych aplikácií a systémov založených na dátach overovaním komunikácie medzi databázou, sieťami a systémami.
Testovanie rozhrania sa stáva dôležitejším, keď overujeme závislosti aplikácie od iných aplikácií.
Nižšie uvádzame niekoľko krokov, ktoré zabezpečia, aby bolo testovanie rozhrania úspešné:
1) Definujte svoju požiadavku:
Pred vytvorením testov rozhrania je nevyhnutné porozumieť aplikácii. Preto sa pokúste nájsť odpoveď na otázku, aký je účel rozhrania? Aký je pracovný postup systému alebo aplikácie? Aké sú funkcie a vlastnosti rozhrania?
Definovanie všetkých takýchto odpovedí vám pomôže pochopiť požiadavku, zistiť zložité body aplikácie a podľa toho vytvoriť testovacie prípady. QA to často prehliada a neskôr to vedie k nejasnostiam v požiadavkách alebo nesprávnemu testovaniu.
2) Očakávaný výstup:
Teraz túto požiadavku veľmi dobre poznáme a chápeme, je čas finalizovať výstup, ktorý budeme od testov očakávať. Nielen Pass alebo Fail, môžu to byť nejaké údaje, volanie do iného API atď. Meranie výsledku očakávaného výsledku môže byť nielen zložité, ale aj riskantné.
ako používať javu na otvorenie súboru jar -
Preto sa snažte zistiť, čo by mohlo byť výsledkom diskusie s vývojármi.
3) Začnite malý:
Pri testovaní rozhrania nemôžeme priamo pokračovať vo vytváraní veľkých testovacích prípadov, vytváranie malých testovacích prípadov alebo hovorov je pomerne jednoduché. Prinajmenšom v malých funkciách vytvorte malý testovací kód a overte, či je výstup podľa očakávania alebo nie.
4) Vyskúšajte automatizáciu:
Písanie kódov na testovanie rozhrania môže byť nudné.
Nebudete len tráviť čas písaním kódu, ale tiež budete musieť tráviť čas porozumením formátu, štýlu, kódovacieho jazyka použitého pre vývoj a potom ako čerešničku na torte budete musieť zabezpečiť, aby váš kód nevytvára problém s kódom aplikácie alebo systému.
Preto je lepšie preskúmať a nájsť nejaké automatizačné nástroje, ktoré vám ušetria deň. Bude to oveľa jednoduchšie a tiež proces šetriaci čas.
5) Definujte počiatočný a konečný bod:
Pred začatím vykonania testu vždy rozhodneme o začiatočnom (vstupnom) a konečnom (výstupnom) bode testu, ako aj o tom, ako sa celý testovací proces začne a skončí. Podobne musíme merať aj úroveň výkonu testovania rozhrania.
Aby sme to dosiahli, musíme nájsť odpovede na nasledujúce dve otázky:
- Aký je očakávaný čas na dokončenie testu rozhrania?
- Aký je skutočný čas dokončenia testu rozhrania?
Tento krok zapojenia vstupných a výstupných bodov testu rozhrania vám pomôže zistiť úroveň výkonu testov. To vám tiež pomôže pri rozhodovaní o plánovanom harmonograme skúšok.
Rozdiel medzi rozhraním, integráciou a testovaním komponentov
Ďalej je uvedených niekoľko rozdielov:
S.No. | Testovanie komponentov | Testovanie rozhrania | Testovanie integrácie |
---|---|---|---|
1 | Individuálne testovanie komponentu na overenie očakávaného výsledku sa nazýva testovanie komponentu | Testovanie rozhrania na overenie očakávaného výsledku sa nazýva testovanie rozhrania. | Keď je integrovaných niekoľko alebo niekoľko modulov alebo komponentov, aby fungovali spoločne; potom sa vykoná testovanie na overenie funkčnosti integrovaných komponentov typu end to end, ktoré sa nazýva testovanie integrácie. |
dva | Komponentom môže byť čokoľvek ako obrazovka, prihlasovací modul atď. | Rozhrania sú vo veľkej miere webové služby, API, spojovacie reťazce atď. | Integrácia môže byť jedným úplným prípadom použitia, napríklad pre bankovú aplikáciu, prihlásenie a pridanie „príjemcu“ atď. |
3 | Toto testovanie je pomerne ľahké. | Toto testovanie je zložité a zdĺhavé. | Toto testovanie je málo jednoduché, ale zdĺhavé. |
4 | Manuálna aj automatická sú použiteľné. | Väčšinou automatizácia. | Manuálna aj automatická sú použiteľné. |
5 | Toto testovanie je použiteľné pre kód aj GUI aplikácie alebo systému. | Toto testovanie sa vykonáva iba na kóde; neexistuje žiadne GUI. | Toto testovanie je použiteľné pre kód aj GUI aplikácie alebo systému. Ale je to väčšinou GUI. |
Kontrolný zoznam na testovanie rozhrania
Nižšie uvádzame niekoľko ukazovateľov kontrolného zoznamu, ktoré je potrebné vziať do úvahy pri testovaní rozhrania:
- Do testov by mali byť zahrnuté chyby 4xx a 5xx, pretože vám pomôžu overiť spracovanie chýb na strane servera a klienta, v ideálnom prípade by sa mala zobraziť skôr správna správa ako chyba kódu.
- Validácia používateľa pomocou autentifikácie HTTP.
- Overte všetky metódy, ktoré sa používajú v rozhraní API alebo webových službách, ako sú GET, PUT, POST atď.
- Overte prevod z formátu JSON do formátu XML a naopak.
- Skontrolujte, či hromadné operácie na rozhraní prinášajú očakávaný výsledok.
- Overte, či sa časové pásmo API zhoduje so špecifikáciou časového pásma geografickej oblasti.
- Skontrolujte, či neoprávnený prístup k rozhraniu vedie k správnemu chybovému hláseniu.
- Skontrolujte, či sú prerušenia spojenia riešené správne.
- Skontrolujte, či sú niektoré komponenty odstránené z aplikácie, a potom rozhranie už s týmito komponentmi neinteraguje atď.
Najlepšie nástroje na testovanie rozhrania
Pretože spoločnosti smerujú k DevOps, Continuous Integration (CI) a Continuous Deployment (CD), testovanie spätnej väzby musí byť rýchlejšie ako kedykoľvek predtým. Predtým, ako sa pripravíte na odoslanie aplikácie, musíte sa ubezpečiť, že sú rozhrania dobre otestované. Ručné testovanie rozhrania môže byť tiež veľmi zdĺhavé, komplikované a časovo náročné.
Najlepšou metódou na vykonanie testovania rozhrania je použitie automatizácie a zahrnutie testovania rozhrania do vášho plánu automatizácie.
Nasleduje zoznam nástrojov, ktoré vám pomôžu čo najrýchlejšie dokončiť testovanie rozhrania. Osobne by som však odporučil použitie SoapUI (tento nástroj som použil vo svojom projekte na testovanie webových služieb), ale každá požiadavka je iná, preto sa poďme pozrieť na 5 najlepších nástrojov.
Medzi 5 najlepších nástrojov patrí:
1) REST-zaistené
Pre ľudí pracujúcich s Javou ODPOČINOK - istý je najviac preferovaným nástrojom. V skutočnosti je to najlepší nástroj na testovanie API v prostredí Java, pretože overovanie webových služieb REST v prostredí Java je dosť ťažké. Je určený na testovacie účely, a preto sa dá ľahko integrovať do ľubovoľného rámca založeného na prostredí Java.
Má veľa funkcionality, takže od začiatku nebudete musieť kódovať veci. Tento nástroj sa dobre integruje do rámca Serenity a môžete generovať úžasné protokoly o testoch.
2) Poštár
Niektorí testeri neradi používajú rovnaký kódovací jazyk ako IDE. Pre takýchto ľudí je Postman dobrou voľbou pre automatizáciu. To je tiež dobrá voľba pre prieskumné testovanie rozhrania.
Poštár je jednoduchý klient REST a je možné rýchlo začať využívať jeho doplnok Chrome. Má k dispozícii natívnu verziu, ktorú je možné použiť pre systémy Mac, Linux a Windows. Má používateľské rozhranie, ktoré pomáha pri vytváraní požiadaviek a kontrole prijatej odpovede.
3) SoapUI
Ak váš tím vykonáva iba testovanie rozhrania API, MYDLO môže byť skvelá voľba. Je to kompletný funkčný testovací nástroj venovaný testovaniu API. Podporuje tiež testovanie na základe údajov, pri ktorom je možné údaje odovzdávať vo formáte CSV alebo Excel. Má tiež platenú verziu s názvom SoapUI Pro, ktorá ponúka ešte lepšie a vylepšené funkcie na testovanie webových služieb.
Ak chcete pridať ďalší kód pre určitý konkrétny pracovný postup alebo funkčnosť, na skriptovanie použite program Groovy. Môžete tiež vytvoriť nastavenie globálnej premennej a použiť všetky tieto premenné vo svojich testoch namiesto individuálnej inicializácie pre každý test.
4) JMeter
JMeter sa často používa na testovanie záťaže a dá sa použiť aj na testovanie rozhrania. JMeter má podporu nahrávania a prehrávania a generuje správy HTML, ktoré sú ľahko čitateľné a zrozumiteľné. Pretože je JMeter kompatibilný so súbormi CSV, umožňuje vám to vytvárať jedinečné parametre pre testovanie.
Je ľahko integrovateľný s Jenkinsom, takže vaše testy môžu byť zahrnuté do CI. Ak chcete použiť rovnaký nástroj na rozhranie a testovanie záťaže, bude JMeter hodnou voľbou.
5) Fiddler
Šumiar vám pomôže skontrolovať a použiť (znova) požiadavky HTTP. Má veľa funkcií, ktoré vám pomôžu ladiť problémy s webom, spolu s jeho rozšíreniami, a môžete toho urobiť oveľa viac. Je to tiež dobrý nástroj na testovanie zabezpečenia, pretože ho možno nakonfigurovať na dešifrovanie zašifrovanej požiadavky a následné úpravy požiadaviek na účely testovania.
Jedným z rozšírení Fiddlera je rozšírenie APITest, ktoré pomáha overiť správanie rozhrania na webe. Pre intenzívnejšie testovanie rozhrania môžete vyskúšať FiddlerCore.Net knižnicu, aby ste vytvorili svoju infraštruktúru na testovanie rozhraní.
Záver
Testovanie rozhrania je veľmi dôležitou súčasťou testovania rozsiahlych aplikácií a je nevyhnutné ho robiť. Aj v aplikáciách, kde sa CI pravidelne sleduje, je dôležité vykonať testovanie rozhrania.
Testovanie rozhrania je dosť zložité a nie priame, preto by mala byť navrhnutá správna stratégia na vykonanie tohto testovania. Nezabudnite tiež vziať vstupy od vývojového tímu, pretože lepšie pochopia kód.
Najlepším a najjednoduchším spôsobom vykonania tohto testovania je automatizácia a integrácia testovacej sady do CI, aby sa ušetrilo veľa času a výsledky sa dosiahli rýchlejším tempom.
Vykonali ste Testovanie rozhrania? Neváhajte sa podeliť o svoje skúsenosti a dajte nám vedieť, ktorý nástroj a stratégiu ste implementovali.
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 [QA Test Automation Tools]
- Alfa testovanie a beta testovanie (kompletný sprievodca)
- Výukový program na testovanie grafického používateľského rozhrania: Kompletný sprievodca testovaním používateľského rozhrania (UI)
- Typy testovania softvéru: Rôzne typy testovania s podrobnosťami
- Stiahnutie e-knihy Testing Primer
- Typy rizík v softvérových projektoch
- 11 najlepších automatizačných nástrojov na testovanie aplikácií pre Android (Android App Testing Tools)
- Kompletný sprievodca funkčným testovaním s jeho typmi a príkladom