types automation testing
Naučte sa rôzne typy testovania automatizácie s niektorými mylnými predstavami o automatizácii testov:
V tejto druhej časti séria návodov na automatizáciu testov , V krátkosti popíšem typy automatizovaných testov a potom najdôležitejšie vyjasním niektoré mylné predstavy o automatizácii testov.
Čo je testovanie automatizácie?
Automatizačné testovanie možno definovať ako spôsob, ako opakovane spustiť množinu testov bez toho, aby ste ich museli vykonávať manuálne. Zavedenie automatizačných testov do vašej testovacej stratégie je spôsob, ako ušetriť peniaze a čas.
Čo sa dozviete:
Typy automatizačného testovania
Typy automatizačných testov definujú, aký druh testovacích balíkov je možné automatizovať. Mnoho testerov si mýli túto tému s typmi automatizačných rámcov, ktoré definujú, ako navrhnete svoju testovaciu sadu do balíka automatizácie, ktorý sa dá pohodlne vykonať.
V tomto článku sa podrobne pozrieme na typy testovania Automation a nakoniec sa pozrieme na rámce automatizácie.
Poďme podrobne pochopiť vyššie uvedené klasifikácie:
Automatizácia založená na type testovania
Automatizácia funkčných testov:
Funkčné testy sú písané na testovanie obchodnej logiky za aplikáciou. Automatizácia týchto znamená písanie skriptov na overenie obchodnej logiky a funkcií očakávaných od aplikácie.
Automatizácia nefunkčných testov:
Nefunkčné testy definujú nepodnikateľské požiadavky aplikácie. Jedná sa o požiadavky týkajúce sa výkonu, bezpečnosti, databáz atď. Tieto požiadavky môžu zostať stále alebo môžu byť zmenšené podľa veľkosti softvéru.
Automatizácia založená na fáze testovania
Automatizácia testov jednotiek:
Tieto testy prebiehajú počas samotnej vývojovej fázy, ideálne vývojárom po ukončení vývoja a pred odovzdaním systému testerom na testovanie.
Automatizácia testov API:
Testy API sa vykonávajú počas fázy integrácie. Môžu byť spustené vývojovým alebo testovacím tímom a môžu byť spustené pred alebo po vytvorení vrstvy používateľského rozhrania pre aplikáciu. Tieto testy sa zameriavajú na testovanie na základe požiadavky a odpovede, na ktorých je aplikácia postavená.
Automatizácia testov založených na používateľskom rozhraní:
Testy založené na používateľskom rozhraní sa spúšťajú počas fázy vykonávania testu. Tieto testy spúšťajú špeciálne testéri a sú spustené iba raz predtým, ako im bude odovzdané používateľské rozhranie aplikácie. Tieto testujú funkčnosť a obchodnú logiku aplikácie z klientskeho rozhrania aplikácie.
Automatizácia založená na type testov
Testy jednotky:
Testy jednotiek sú testy, ktoré sú zostavené na testovanie kódu aplikácie a sú zvyčajne zabudované do samotného kódu. Zameriavajú sa na štandardy kódovania, ako napríklad na spôsob písania metód a funkcií.
Tieto testy píšu častejšie samotní vývojári. V dnešnom svete však môžu byť testovacie automaty požiadané, aby ich napísali.
Vykonanie týchto testov a získanie žiadnych chýb od nich bude znamenať, že sa váš kód skompiluje a spustí bez akýchkoľvek problémov s kódom. Tieto testy sa zvyčajne nezameriavajú na funkčné aspekty aplikácie a keďže sa zameriavajú na kód, je vhodnejšie ich automatizovať, aby ich bolo možné spustiť podľa potreby vývojára.
Skúšky dymu:
Dymová skúška je známa skúška vykonaná v životnom cykle skúšky. Jedná sa o testy po zostavení, ktoré sa vykonajú okamžite po vydaní ľubovoľného zostavenia z aplikácie, aby sa zabezpečilo, že aplikácia po dokončení zostavenia stále funguje.
Toto je malá testovacia sada a bude sa vykonávať viackrát, a preto má zmysel ju automatizovať. Tieto testy budú zvyčajne funkčnej povahy a v závislosti od typu aplikácie je pre ne možné zvoliť nástroj.
softvér pre hodiny v hodinách - zadarmo
Testy API:
Testovanie API sa stalo v posledných rokoch veľmi slávnym. Toto testovanie môžu vykonávať aplikácie postavené na architektúre API.
Pri testovaní API testeri overujú obchodnú vrstvu aplikácie kontrolou kombinácií požiadaviek a odpovedí pre rôzne API, na ktorých je aplikácia postavená. Testy API je možné vykonať aj ako súčasť integračných testov uvedených nižšie.
Testy integrácie:
Test integrácie, ako už sám názov napovedá, znamená testovanie aplikácie integráciou všetkých modulov a kontrolou funkčnosti aplikácie.
Testovanie integrácie je možné vykonať prostredníctvom testovania API alebo pomocou vrstvy používateľského rozhrania aplikácie.
ako napísať príklad hlásenia chyby
Testy používateľského rozhrania:
Testy používateľského rozhrania sa vykonávajú z vrstvy používateľského rozhrania alebo z frontendu aplikácie. Môžu sa zameriavať na testovanie funkčnosti alebo jednoducho testovať prvky používateľského rozhrania aplikácie.
Automatizácia používateľského rozhrania na testovanie funkčnosti je bežnou praxou. Automatizácia funkcií grafického používateľského rozhrania je však jednou z komplikovanejších automatizácií.
Regresné testy:
Jednou z najčastejšie automatizovaných testovacích súprav je sada regresných testov. Regresia, ako už možno viete, je test, ktorý sa vykonáva na konci testovania nového modulu, aby sa zabezpečilo, že ním nebol ovplyvnený žiadny z existujúcich modulov.
Opakuje sa to po každej novej iterácii testovania a hlavné testovacie prípady zostanú pevné s obyčajne niekoľkými novými prírastkami po novej iterácii. Pretože sa často spúšťa, takmer všetky testovacie tímy sa snažia tento balíček automatizovať.
Automatizácia ako kontinuálna integrácia:
Na samotných automatických regresných testoch môže znova bežať kontinuálna integrácia, avšak pri dosahovaní CI umožňujeme spustenie regresnej alebo identifikovanej testovacej sady vždy, keď sa vykoná nové nasadenie.
Testy bezpečnosti:
Testovanie bezpečnosti môže byť funkčné aj nefunkčné, čo zahŕňa testovanie zraniteľnosti aplikácie. Funkčné testy budú pozostávať z testov súvisiacich s autorizáciou atď., Zatiaľ čo nefunkčné požiadavky môžu byť testovanie pre vstrekovanie SQL, skriptovanie medzi servermi atď.
Testy výkonu a kontrola kvality:
Testy výkonnosti sú nefunkčné testy, ktoré sa zameriavajú na požiadavky, ako sú testovanie záťaže, namáhanie, škálovateľnosť aplikácie.
Preberacie skúšky:
Akceptačné testy opäť spadajú pod funkčné testy, ktoré sa zvyčajne robia na zabezpečenie splnenia akceptačných kritérií stanovených klientom.
Doteraz sme opísali typ testov, ktoré je možné automatizovať, a rôzne ich klasifikácie. Všetky klasifikácie nakoniec povedú k rovnakým konečným výsledkom automatizácie testovacej sady. Ako sme už povedali, je potrebné trochu porozumieť tomu, ako sa líšia od rámcov.
Po identifikácii testov, ktoré chcete automatizovať z vyššie uvedenej klasifikácie, budete musieť navrhnúť svoju logiku takým spôsobom, aby tieto testy vykonával hladko a bez väčšieho manuálneho zásahu. Tento dizajn balíka manuálnych testov do balíka automatizovaných testov je miestom, kde prichádzajú rámce.
Teraz preskúmame 3 najdôležitejšie typy automatizácie testov
- Testovanie jednotiek
- Testovanie API
- Testovanie GUI
# 1) Automatizované testy jednotiek
Automatizované testy jednotiek sú napísané na testovanie úrovne kódu. Chyby sú identifikované vo funkciách, metódach a postupoch napísaných vývojármi.
Niektoré spoločnosti požiadajú vývojárov, aby sami vykonali testovanie jednotky, a niektoré si najmú špecializované zdroje na automatizáciu testov. Tieto zdroje majú prístup k zdrojovému kódu a píšu jednotkové testy na rozbitie produkčného kódu.
Kvôli prítomnosti jednotkových testov sa pri každej kompilácii kódu spustia všetky jednotkové testy a povedia nám výsledok, že ak všetky funkcie fungujú. Ak niektorý test jednotky zlyhá, znamená to, že v produkčnom kóde je teraz chyba.
Medzi najobľúbenejšie nástroje na trhu patria NUnit a JUnit . Spoločnosť Microsoft tiež poskytuje vlastný rámec pre testovanie jednotiek s názvom MSTest . Prejdite si webové stránky týchto nástrojov a poskytnú vám ďalšie príklady a návody, ako písať jednotkové testy.
#dva) Automatizované testy webových služieb / API
Rozhranie API (Application Programming Interface) umožňuje softvéru hovoriť s inými softvérovými aplikáciami. Rovnako ako akýkoľvek iný softvér, aj API je potrebné testovať. Pri tomto type testovania nie je zvyčajne zapojené grafické používateľské rozhranie.
To, čo tu testujeme, sú zvyčajne problémy s funkčnosťou, dodržiavaním súladu a zabezpečením. Vo webových aplikáciách môžeme otestovať požiadavku a odpoveď našej aplikácie na to, či sú zabezpečené a šifrované alebo nie.
Toto je jeden z príkladov, kde môžeme použiť testovanie API. Najpopulárnejším nástrojom na testovanie API je MYDLO ktorá má bezplatnú aj platenú verziu. Existujú aj ďalšie nástroje, ktoré môžete použiť podľa svojej potreby.
# 3) Automatizované testy GUI.
Tento typ automatizovaného testovania je najťažšou formou automatizácie, pretože zahŕňa testovanie používateľského rozhrania aplikácie.
Je to ťažké, pretože grafické používateľské rozhrania sa môžu výrazne meniť. Ale tento typ testovania je tiež najbližšie k tomu, čo urobia používatelia s našou aplikáciou. Pretože používateľ bude používať myš a klávesnicu, automatické testy grafického používateľského rozhrania tiež napodobňujú rovnaké správanie tým, že pomocou myši a klávesnice klikajú alebo zapisujú na objekty prítomné v používateľskom rozhraní.
Z tohto dôvodu môžeme nájsť chyby skoro a dajú sa použiť v mnohých scenároch, ako napríklad pri regresnom testovaní alebo vypĺňaní formulárov, čo trvá príliš dlho.
Medzi najobľúbenejšie nástroje na testovanie grafického používateľského rozhrania patria Zjednotené funkčné testovanie Micro Focus (UFT) , Selén , Test je dokončený a Microsoft Coded UI (ktorá je súčasťou edícií Visual Studio Ultimate a Premium).
Rovnako ako typy automatizačných testov, existuje aj niekoľko typov rámcov.
Automatizačné rámce
Niektoré bežne používané automatizačné rámce zahŕňajú:
- Lineárne (nahrávanie a prehrávanie)
- Kľúčové slovo riadené
- Na základe údajov
- Objektový model stránky
- Modulárny
Ďalšie čítanie => Automatizačné rámce
Ako vidíte, prvým krokom v procese automatizácie je identifikácia typu automatizácie, potom môžete určiť rámec, ktorý je potrebné navrhnúť, a pri zohľadnení týchto skutočností si môžete vybrať nástroje, ktoré vyhovujú vašim potrebám.
Automatizačné nástroje
Na základe typu testovania, na ktoré zacieľujete, a typu rámca, ktorý by ste okolo neho mohli vytvoriť, sú k dispozícii nasledujúce nástroje:
- Selén : Veľmi výkonný nástroj na testovanie webových aplikácií. Poskytuje podporu viacerých prehľadávačov.
- Junit a Nunit: Nástroje, ktoré vývojári väčšinou používajú na testovanie jednotiek.
- QTP : Skvelý nástroj pre iné ako webové aplikácie a dodáva sa so zabudovaným úložiskom objektov.
- Sikuli: Open source nástroj na testovanie GUI.
- Mydlové rozhranie: Nástroj na testovanie API.
- Buďte si istí: Knižnica na vytvorenie testovacieho rámca API.
- appium : Nástroj, ktorý podporuje mobilné testovanie, testovanie natívnych aplikácií, hybridné a testovanie mobilných webových aplikácií.
- Jmeter : Nástroj, ktorý sa používa na výkonnostné testy.
- TestNG: TestNG sám o sebe nie je automatizačným nástrojom, poskytuje však veľkú podporu automatizačným rámcom postaveným na princípe selénu, apia, zvyšku istoty atď.
Ďalšie čítanie => Vyskúšajte nástroje na automatizáciu
Mylné predstavy o testovaní automatizácie
Za tie roky som počul niekoľko mylných predstáv o automatizácii testov. Myslím si, že by som ich mal objasniť aj v tomto článku.
Mylná predstava č. 1. Automatizácia je tu na to, aby nahradila manuálnych testerov.
Automatizácia testov slúži na pomoc testerom pri rýchlejšom a spoľahlivejšom testovaní. Ľudí nikdy nemôže nahradiť.
Automatizáciu testov považujte za auto. Ak pôjdete pešo, domov vám bude trvať asi 20 minút. Ak ale použijete auto, dostanete sa za dve minúty. Vodičom auta ste stále vy, človek, ale .. auto pomáha človeku rýchlejšie dosiahnuť svoj cieľ. Väčšina vašej energie sa tiež ušetrí, keď ste nešli. Takto môžete túto energiu použiť na vykonávanie dôležitejších vecí.
To isté platí pre testovanie automatizácie. Používate ho na rýchle testovanie väčšiny svojich opakovaných, dlhých a nudných testov a šetrí váš čas a energiu na sústredenie a testovanie nových a dôležitých funkcií.
Ako James Bach povedal úžasný citát:
'Nástroje sa netestujú.' Iba ľudia testujú. Nástroje vykonávajú iba činnosti, ktoré „pomáhajú“ ľuďom testovať. „
Nástroje môžu kliknúť na objekty. Kam však kliknúť, vždy povie ručný tester. Myslím, že teraz chápete môj názor.
Mylná predstava č. 2 . Všetko pod slnkom sa dá automatizovať
Ak sa pokúsite automatizovať 100% svojich testovacích prípadov, možno to dokážete, ale ak by ste to mohli urobiť, náš prvý bod je nepravdivý. Ak je všetko automatizované, čo urobí manuálny tester?
Zmätený? Správny?
V skutočnosti ide o to, že nemôžete automatizovať 100% svojich testovacích prípadov. Pretože sme ako testéri presvedčení, že žiadna aplikácia nemôže byť testovaná na 100%. Vždy budú existovať scenáre, ktoré nám budú chýbať. Vždy sa vyskytnú chyby, ktoré sa objavia, až keď budú vašu aplikáciu klienti používať.
Ak aplikáciu nemožno stopercentne otestovať, ako môžete sľúbiť 100% automatizáciu?
Existuje tiež veľmi malá šanca, že budete môcť automatizovať všetky svoje existujúce testovacie prípady. Vždy existujú scenáre, ktoré sa ťažko automatizujú a dajú sa ľahšie vykonať manuálne.
najlepší softvér na odstraňovanie škodlivého softvéru a spywaru
Napríklad „Jeden používateľ zadá údaje, druhý používateľ ich schváli, tretí používateľ si tieto údaje prezerá a štvrtý používateľ má zakázané tieto údaje prezerať. Tieto scenáre sa dajú automatizovať, ale budú vyžadovať veľa času a úsilia. Bude to jednoduchšie, ak to urobíte ručne.
Pamätajte, že na prekonanie vzdialeností používame autá, ale na ceste môžu byť dlhé signály, spotreba paliva, problémy s parkovacím miestom, poplatky za parkovanie a oveľa viac bolesti hlavy. V niektorých scenároch iba kráčame a prichádzame do cieľa :) .
Preto by ste sa nemali snažiť všetko automatizovať. Automatizujte iba tie scenáre, ktoré sú dôležité, a tie, ktorých vykonanie vyžaduje veľa času manuálne.
Mylná predstava č. 3 . Automatizácia zahŕňa iba nahrávanie a prehrávanie.
Nežite vo svete fantázie. Táto fantázia je v skutočnosti vytvorená falošnými reklamami od rôznych predajcov automatizačných nástrojov. Hovoria, že iba zaznamenáte a prehráte svoje kroky a vaše testovacie prípady budú automatizované. To je veľká lož!
Automatizácia je všetko, nielen nahrávanie a prehrávanie. Čistí automatizační technici bežne nepoužívajú funkciu nahrávania a prehrávania vôbec. Nahrávanie a prehrávanie sa zvyčajne používa na získanie predstavy o tom, ako tento nástroj generuje skript pre naše kroky.
Keď sa dozvieme skriptovanie, pomocou skriptov vždy vytvoríme automatizované testy. Pamätaj, musíte vedieť programovanie, ak chcete robiť automatizáciu testov . Na druhej strane, nedajte sa vyrušiť, ak neovládate programovanie. Ako každá iná úloha, aj programovanie sa dá naučiť cvičením a odhodlaním.
Poznám ľudí, ktorí nie sú ani z informatiky, ale učia sa programovať a teraz sú z nich úžasní automatizační technici. V spoločnosti Microsoft najímajú testerov, ktorí sa programovaniu venujú. Volajú sa SDET (Inžinieri pre vývoj softvéru na testovanie). Prvý riadok popisu úlohy hovorí: „SDET píše veľa kódu ...“.
Naučte sa, prosím, programovať, neutekajte od toho. Urobí z vás úžasný tester .
Záver
Dúfam, že vám tento článok pomohol objasniť niektoré koncepty týkajúce sa automatizácie testov.
Pokryli sme vysokú úroveň rôznych typov automatizačného testovania s rôznymi spôsobmi klasifikácie.
Medzi hlavné klasifikácie patria:
- Automatizácia na základe typu testovania (funkčné alebo nefunkčné).
- Automatizácia založená na fáze testovania (jednotka, API alebo používateľské rozhranie).
- Automatizácia na základe rôznych typov testov (viac typov testovania).
Ďalej sme uviedli zoznam rôznych nástrojov, ktoré je možné použiť pre tieto typy automatizovaného testovania.
V našom pripravovanom článku si rozoberieme: postup krok za krokom ako spustiť automatizáciu testov vo vašej organizácii .
Výukový program PREV č. 1 | ĎALŠÍ Príručka č. 3
Odporúčané čítanie
- Testovanie záťaže s výukovými programami HP LoadRunner
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Strácajú testeri pri testovaní kvôli automatizácii priľnavosť?
- Výzvy na manuálne a automatizované testovanie
- 10-krokový proces testovania automatizácie: Ako spustiť testovanie automatizácie vo vašej organizácii
- Ste odborníkom na manuálne alebo automatizované testovanie? Pracujte na čiastočný úväzok pre nás!
- 11 najlepších automatizačných nástrojov na testovanie aplikácií pre Android (Android App Testing Tools)
- Najlepšie 10+ najlepšie knihy o testovaní softvéru (knihy o manuálnom a automatizovanom testovaní)