what is interface testing
Úvod do testování rozhraní:
Když je vyvinuta aplikace nebo software nebo web, existuje několik jeho komponent. Těmito komponentami mohou být server, databáze atd.
Spojení, které integruje a usnadňuje komunikaci mezi těmito komponentami, se nazývá rozhraní.
Jednoduše řečeno, rozhraní je software skládající se ze sady příkazů, zpráv atd.
Tento výukový program vám poskytne kompletní přehled o testování rozhraní spolu s jeho potřebou, typem, strategií, kontrolním seznamem a některými jeho nástroji, abyste si obohatili své znalosti konceptu.
Co se naučíte:
- Úvod
- Kdy a proč bychom měli testovat rozhraní?
- Druhy testování rozhraní
- Strategie nebo přístup k testování rozhraní
- Rozdíl mezi rozhraním, integrací a testováním komponent
- Kontrolní seznam pro testování rozhraní
- Nejlepší nástroje pro testování rozhraní
- Závěr
- Doporučené čtení
Úvod
U počítače mohou být rozhraním API, webové služby atd. Komunikace mezi různými součástmi softwaru nebo aplikace nebo webu může ovlivnit celkový výkon, a proto je třeba tuto komunikaci, tj. Rozhraní také otestovat a ověřit.
Testování, které se provádí k ověření funkčnosti rozhraní, se nazývá testování rozhraní.
Mezi 2 běžné součásti testování rozhraní patří:
- Rozhraní webového serveru a aplikačního serveru.
- Rozhraní databázového serveru a aplikačního serveru.
Kdy a proč bychom měli testovat rozhraní?
Níže jsou uvedeny 3 fáze testování rozhraní v životním cyklu rozhraní:
1) Konfigurace a vývoj:
Když je rozhraní nakonfigurováno a jakmile začne vývoj, je nutné ověřit konfigurace podle požadavku.
2) Ověření:
Po dokončení vývoje je třeba rozhraní ověřit a ověřit, což lze provést také jako součást testování jednotek.
3) Údržba:
jak vytvořit seznam objektů v Javě
Jakmile je celý software připraven, nasazen a funkční, je třeba monitorovat výkon rozhraní a případné nové problémy zavedené v důsledku provedených změn nebo zhoršujícího se výkonu.
Když začneme vyvíjet rozhraní, musíme se ujistit, že v našem kódu nezavádíme žádné vady, a proto je třeba na rozhraní spustit testy, abychom ověřili, že přidání nového kódu nevkládá žádné nové vady. To vám pomůže určit, zda je rozhraní bez vad a podle požadavků.
Jakmile jsme s rozhraním spokojeni, ověříme jej pro zamýšlený pracovní postup, data atd. Můžeme spustit výkon, obrovské datové testy a zkontrolovat, jak dobře rozhraní reaguje. To ušetří spoustu času, který bude později věnován opravě vad.
Stručně řečeno, testování rozhraní se provádí za účelem:
- Chcete-li zkontrolovat, zda je provedení serveru správné.
- Zpracování chyb se provádí správně a pro dotazy provedené aplikací nebo softwarem se zobrazí příslušné chybové zprávy.
- Chcete-li zkontrolovat výsledek při obnovení připojení k serveru.
- Zkontrolovat aspekt zabezpečení, když komponenty komunikují v sobě.
- Zkontrolovat dopad selhání sítě na komunikaci mezi komponentami.
Druhy testování rozhraní
Testování rozhraní se v zásadě provádí na vrstvě zpráv architektury systému. Většinou zahrnuje testování webové služby REST API nebo SOAP ve formátu JSON nebo XML.
Testování rozhraní obvykle zahrnuje následující postupy:
- Testování jednotky: Testování funkčnosti každé jednotlivé operace (ve funkci).
- Funkční testování : Testování funkčnosti širších scénářů zahrnujících vytváření testovacích případů, ověřování, regrese atd.
- Zátěžové testování: Ověření výkonu při zatížení, většinou pomocí funkčních testovacích případů.
- Testování zabezpečení : Testování bezpečnostního mechanismu a zahrnuje penetrační testování i ověřování kontroly přístupu, šifrování atd.
- Detekce chyb za běhu: Monitorování aplikace kvůli problémům, jako je runtime závod, únik prostředků atd.
- Testování pracovního postupu: To se provádí, aby bylo zajištěno, zda modul rozhraní zpracovává váš pracovní postup podle očekávání.
- Jednotlivé systémy: Toto testování se provádí za účelem ověření individuality každého systému. Stejně jako fakturační systém a systém řízení zásob by měl být schopen fungovat individuálně.
Strategie nebo přístup k testování rozhraní
Stejně jako každé jiné testování je testování rozhraní stejně důležité, protože zajišťuje bezproblémové fungování, výkon atd. Různých aplikací a systémů založených na datech ověřováním komunikace mezi databází, sítěmi a systémy.
Testování rozhraní se stává důležitějším, když ověřujeme závislosti aplikace u jiných aplikací.
Níže je uvedeno několik kroků, které zajistí úspěšné testování rozhraní:
1) Definujte svůj požadavek:
Před vytvořením testů rozhraní je nutné aplikaci porozumět. Proto se pokuste najít odpovědi na otázky, jako je jaký je účel rozhraní? Jaký je pracovní postup systému nebo aplikace? Jaké jsou funkce a vlastnosti rozhraní?
Definování všech těchto odpovědí vám pomůže pochopit požadavek, zjistit složité body aplikace a podle toho vytvořit testovací případy. QA to často postrádá a později to vede k nejasnostem ohledně požadavku nebo nesprávnému testování.
2) Očekávaný výstup:
Nyní tento požadavek velmi dobře známe a chápeme, je čas dokončit výstup, který od testů očekáváme. Nejen Pass nebo Fail, mohou to být nějaká data, volání do jiného API atd. Může být nejen obtížné, ale také riskantní měřit výsledek očekávaného výsledku.
Proto se pokuste zjistit, co by mohlo být výsledkem diskuse s vývojáři.
3) Začněte v malém:
S testováním rozhraní nemůžeme přímo pokračovat ve vytváření velkých testovacích případů, vytváření malých testovacích případů nebo hovorů je relativně jednoduché. Alespoň v malých funkcích vytvořte malý testovací kód a ověřte, zda je výstup podle očekávání nebo ne.
4) Zkuste automatizovat:
Psaní kódů pro testování rozhraní může být nudné.
Nebudete jen trávit čas psaním kódu, ale spolu s tím budete muset také trávit čas porozuměním formátu, stylu, kódovacímu jazyku použitému pro vývoj a poté jako třešnička na dortu budete muset zajistit, aby váš kód nevytváří problém s kódem aplikace nebo systému.
Proto je lepší prozkoumat a najít nějaké automatizační nástroje, které vám ušetří den. Bude to mnohem jednodušší a časově nenáročný proces.
5) Definujte počáteční a koncový bod:
Před zahájením provádění testu vždy rozhodneme o počátečním (vstupním) a koncovém (výstupním) bodě testu a rozhodneme, jak celý testovací proces začne a skončí. Podobně musíme měřit také úroveň výkonu testování rozhraní.
Abychom to mohli udělat, musíme najít odpovědi na následující dvě otázky:
- Jaká je očekávaná doba dokončení testu rozhraní?
- Jaká je skutečná doba dokončení testu rozhraní?
Tento krok zapojení vstupních a výstupních bodů testu rozhraní vám pomůže najít úroveň výkonu testů. To vám také pomůže při rozhodování o plánovaném plánu testu.
Rozdíl mezi rozhraním, integrací a testováním komponent
Níže je uvedeno několik rozdílů:
Č. | Testování komponent | Testování rozhraní | Testování integrace |
---|---|---|---|
jeden | Testování komponenty jednotlivě k ověření očekávaného výsledku se nazývá testování komponenty | Testování rozhraní k ověření očekávaného výsledku se nazývá testování rozhraní. | Když jsou integrovány všechny nebo několik modulů nebo komponent, aby fungovaly kolektivně; poté se provádí testování za účelem ověření end-to-end funkčnosti integrovaných komponent se nazývá integrační testování. |
dva | Součástí může být cokoli jako obrazovka, přihlašovací modul atd. | Rozhraní jsou široce webové služby, API, připojovací řetězce atd. | Integrace může být jedním úplným případem použití, jako je bankovní aplikace, přihlášení a přidání vašeho ‚příjemce 'atd. |
3 | Toto testování je relativně snadné. | Toto testování je složité a zdlouhavé. | Toto testování je trochu snadné, ale dlouhé. |
4 | Manuální i automatizace jsou použitelné. | Většinou automatizace. | Manuální i automatizace jsou použitelné. |
5 | Toto testování je použitelné jak na kód, tak na GUI aplikace nebo systému. | Toto testování se provádí pouze na kódu; neexistuje žádné GUI. | Toto testování je použitelné jak na kód, tak na GUI aplikace nebo systému. Ale je to hlavně GUI. |
Kontrolní seznam pro testování rozhraní
jaký je nejlepší bezplatný video převodník
Níže jsou uvedeny některé ukazatele kontrolního seznamu, které je třeba vzít v úvahu při testování rozhraní:
- Do testů by měly být zahrnuty chyby 4xx a 5xx, protože vám pomohou ověřit zpracování chyb na straně serveru a klienta, v ideálním případě by se měla zobrazit příslušná zpráva, a nikoli chyba kódu.
- Ověření uživatele pomocí ověřování HTTP.
- Ověřte všechny metody, které se používají v API nebo webových službách, jako je GET, PUT, POST atd.
- Ověřte převod z formátu JSON do formátu XML a naopak.
- Ověřte, zda hromadné operace na rozhraní načítají očekávaný výsledek.
- Ověřte, zda časové pásmo API odpovídá specifikaci časového pásma zeměpisné oblasti.
- Ověřte, zda neoprávněný přístup k rozhraní vede ke správné chybové zprávě.
- Ověřte, zda jsou přerušení připojení zpracována správně.
- Ověřte, zda jsou některé součásti z aplikace odebrány, a rozhraní již s těmito součástmi neinteraguje atd.
Nejlepší nástroje pro testování rozhraní
Jak společnosti směřují k DevOps, Continuous Integration (CI) a Continuous Deployment (CD), testování zpětné vazby musí být rychlejší než kdy dříve. Než se připravíte na odeslání aplikace, musíte se ujistit, že jsou rozhraní dobře otestována. Ruční testování rozhraní může být velmi zdlouhavé, komplikované a také časově náročné.
Nejlepší metodou k provedení testování rozhraní je použití automatizace a zahrnutí testování rozhraní do vašeho plánu automatizace.
Následuje seznam nástrojů, které vám pomohou co nejrychleji dokončit testování rozhraní. Osobně bych však doporučil použít SoapUI (tento nástroj jsem použil ve svém projektu pro testování webových služeb), ale každý požadavek je jiný, proto se podívejme na 5 nejlepších nástrojů.
Mezi 5 nejlepších nástrojů patří:
1) Zajištěno REST
Pro lidi pracující s Java, REST - Zajištěno je nejpreferovanější nástroj. Ve skutečnosti je to nejlepší nástroj pro testování API s Javou, protože ověřování webových služeb REST v Javě je docela obtížné. Je navržen pro účely testování, a proto se může snadno integrovat s jakýmkoli rámcem založeným na prostředí Java.
Má spoustu funkcí, proto nebudete muset věci kódovat hned od začátku. Tento nástroj se dobře integruje do rámce Serenity a můžete generovat úžasné protokoly o zkouškách.
2) Pošťák
Někteří testeři neradi používají stejný kódovací jazyk jako IDE. Pro takové lidi je Postman dobrou volbou pro automatizaci. To je také dobrá volba pro průzkumné testování rozhraní.
Listonoš je jednoduchý klient REST a lze rychle začít využívat jeho plugin pro Chrome. Má k dispozici nativní verzi, kterou lze použít pro Mac, Linux a Windows. Má uživatelské rozhraní, které pomáhá při vytváření požadavků a kontrole přijaté odpovědi.
3) SoapUI
Pokud váš tým provádí pouze testování API, MÝDLO může být skvělou volbou. Jedná se o kompletní funkční testovací nástroj věnovaný testování API. Podporuje také testování na základě dat, kde lze data předávat ve formátu CSV nebo Excel. Má také placenou verzi nazvanou SoapUI Pro, která nabízí ještě lepší a vylepšené funkce pro testování webových služeb.
Pokud chcete přidat další kód pro určitý konkrétní pracovní postup nebo funkčnost, použijte pro skriptování Groovy. Můžete také vytvořit nastavení globální proměnné a použít všechny tyto proměnné ve svých testech namísto individuální inicializace pro každý test.
4) JMeter
JMeter je široce používán pro testování zátěže a lze jej použít také pro testování rozhraní. JMeter má podporu nahrávání a přehrávání a generuje zprávy HTML, které jsou snadno čitelné a srozumitelné. JMeter je kompatibilní se soubory CSV, takže můžete vytvářet jedinečné parametry pro testování.
Je snadno integrovatelný s Jenkinsem, takže vaše testy mohou být zahrnuty do CI. Pokud chcete použít stejný nástroj pro rozhraní a testování zátěže, bude JMeter hodnou volbou.
5) Šumař
Houslista vám pomůže zkontrolovat a znovu použít HTTP požadavky. Má mnoho funkcí, které vám pomohou ladit problémy s webem, s jeho rozšířeními a můžete toho udělat mnohem víc. Je to také dobrý nástroj pro testování zabezpečení, protože jej lze nakonfigurovat tak, aby dešifroval šifrovaný požadavek a poté upravil požadavky pro účely testování.
Jedním z rozšíření Fiddleru je rozšíření APITest, které pomáhá ověřit chování rozhraní na webu. Pro intenzivnější testování rozhraní můžete zkusit použít FiddlerCore.Net knihovna k vytvoření infrastruktury pro testování rozhraní.
Závěr
Testování rozhraní je velmi důležitou součástí testování rozsáhlých aplikací a je nutné to udělat. I v aplikacích, kde je CI pravidelně sledováno, je důležité provádět testování rozhraní.
Testování rozhraní je poměrně složité a není přímočaré, proto by měla být pro provedení tohoto testování navržena správná strategie. Nezapomeňte také vzít vstupy od vývojového týmu, protože lépe rozumí kódu.
Nejlepším a nejjednodušším způsobem provedení tohoto testování je automatizace a integrace testovací sady do CI tak, aby bylo ušetřeno hodně času a výsledků bylo dosaženo rychlejším tempem.
Provedli jste testování rozhraní? Neváhejte se podělit o své zkušenosti a dejte nám vědět, který nástroj a strategii jste implementovali.
Doporučené čtení
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Alfa testování a beta testování (kompletní průvodce)
- Výukový program pro testování grafického uživatelského rozhraní: Kompletní průvodce testováním uživatelského rozhraní (UI)
- Typy testování softwaru: Různé typy testování s podrobnostmi
- Testování stahování e-knih Primer
- Druhy rizik v softwarových projektech
- 11 nejlepších automatizačních nástrojů pro testování aplikací pro Android (nástroje pro testování aplikací pro Android)
- Kompletní průvodce funkčním testováním s jeho typy a příklady