top 10 test automation strategies
Toto je posledný článok v testovacie automatizačné série . V tomto článku sú zhrnuté osvedčené postupy a stratégie na vykonávanie automatizácie testov.
Aj keď sa v našich predchádzajúcich článkoch spomínajú osvedčené postupy (a niektoré z nich sa tu môžu opakovať), pevne som uviedol, že môžem vymenovať tých niekoľko, ale najdôležitejšie osvedčené postupy automatizácie tu v jednom článku na porovnanie .
Tieto stratégie sú prevzaté z mojich vlastných skúseností a z literatúry testujúcich guru ako Michael Bolton, James Bach a Cem Kaner. Tieto postupy by sa mali dodržiavať v každom automatizačnom projekte.
Čo sa dozviete:
- 10 najlepších stratégií a postupov automatizácie testov
- # 1. Najmite si špecializovaného automatizačného inžiniera alebo tím
- # 2. Automatizačný nástroj je dôležitý, ale nie je riešením všetkého
- # 3. Vyberte automatizačný nástroj, ktorý pozná vaše zdroje
- # 4. Poznať testovanú aplikáciu
- # 5. Dobrá automatizácia znamená dobrý manuálny testovací prípad
- # 6. Identifikujte príležitosti pomocou automatizácie
- # 7. Nemôžete všetko automatizovať
- # 8. Vyhýbajte sa automatizácii grafického používateľského rozhrania, ak je k dispozícii náhradník
- # 9. Používajte automatizáciu aj na ďalšie užitočné účely
- # 10. Automatizácia je vývoj softvéru
- Záver
- Odporúčané čítanie
10 najlepších stratégií a postupov automatizácie testov
Ideme na to ..
# 1. Najmite si špecializovaného automatizačného inžiniera alebo tím
Je to základná vec. Nepožiadajte svojich manuálnych testerov, aby si dopriali automatizáciu testov. Ak chcete, aby robili automatizáciu testov, osloboďte ich od manuálnych testovacích prác. Automatizácia testov je práca na plný úväzok. Potrebujete na to vyhradené zdroje.
Odporúčam zostaviť tím automatizácie testov zložený z najmenej jedného automatizačného architekta. Môžete si najať viacerých inžinierov automatizácie, ktorí budú pracovať pod vedením architekta automatizácie testov. Počet automatizačných technikov závisí od počtu a veľkosti vašich produktov.
# 2. Automatizačný nástroj je dôležitý, ale nie je riešením všetkého
Hovorili sme o výbere nástroja . Ale výber správneho nástroja je iba začiatok. Niektorí manažéri majú mylnú predstavu, že ak si vyberú správny nástroj, môžu ľahko čokoľvek automatizovať. Pozor, automatizačné nástroje vám nedajú všetko. Uľahčujú postup. Na dokončenie procesu však potrebujete kvalifikované zdroje.
Automatizačné nástroje sú často chybné a uviazli pri identifikácii zložitých objektov v aplikácii. Zdroje, ktoré si najmete, ak sú kvalifikované, prichádzajú s riešením, ktoré posunie proces vpred. V opačnom prípade, ak si neprajete dobré zdroje, samotný nástroj nemôže zaručiť úspešnú automatizáciu.
# 3. Vyberte automatizačný nástroj, ktorý pozná vaše zdroje
Ak vaše zdroje poznajú C # a vaša aplikácia, ktorá má byť testovaná, je vyvinutá aj v C #, potom nemá zmysel vyberať nástroj, ktorý neponúka C # na písanie skriptov.
ako otvárať súbory .json
Učenie sa jazyka je proces, ktorý trvá dlho. Vyhnite sa tejto krivke učenia zakúpením nástroja, ktorý ponúka minimálnu krivku učenia.
# 4. Poznať testovanú aplikáciu
Výber nástroja závisí vo veľkej miere od technológií použitých vo vašom produkte. Pred spustením automatizácie poznajte svoj produkt naruby.
Ak je to webová aplikácia, dajte pozor na podporované prehľadávače. Poznať technológie, ktoré sa v ňom používajú. Ak je to desktopová aplikácia, zistite, na ktorom jazyku je postavený. Aké ovládacie prvky tretích strán sa v aplikácii používajú. To vám pomôže uľahčiť výber nástrojov a budúcu automatizáciu.
# 5. Dobrá automatizácia znamená dobrý manuálny testovací prípad
Pekne napísané silné manuálne testovacie prípady ušetrite nás od automatizácie tých testovacích prípadov, ktoré sa dajú ľahko automatizovať, ale pri hľadaní chýb sú slabé.
Tu je citát z knihy Lessons Learned in Software Testing:
„Automatizácia bez dobrého návrhu testu môže mať za následok veľkú aktivitu, ale malú hodnotu.“
Vždy je vhodné najskôr napísať testovací prípad v manuálnej podobe. Identifikujte všetky predpoklady a údaje o teste . Kroky píšte zreteľne a pred každý krok napíšte očakávané výsledky. Cieľ jedného testovacieho prípadu by mal byť jasný a mal by menej závisieť od ostatných testovacích prípadov. Automatizační inžinieri by mali tento testovací prípad spustiť aspoň raz manuálne, aby jasne rozhodli, ktoré objekty je potrebné identifikovať a aký bude priebeh navigácie. Opýtajte sa na to pomocou manuálnych testerov.
Táto aktivita niekedy pomáha identifikovať chyby ešte skôr, ako je napísaný automatizačný skript. Odborníci tvrdia, že väčšina chýb je identifikovaná skôr vo fáze vývoja automatizácie testovania ako vo fáze skutočného vykonania.
# 6. Identifikujte príležitosti pomocou automatizácie
Ak ste odovzdaní s manuálny testovací prípad na automatizáciu , nielen automatizujte daný testovací prípad, aký je. Namiesto toho nájdite vo svojej automatizácii ďalšie príležitosti na rozšírenie rozsahu tohto testovacieho prípadu.
Napríklad, ak je vyžadovaný manuálny testovací prípad, musíte sa prihlásiť na webovú stránku. Tento testovací prípad môžete rozšíriť tak, že bude založený na údajoch. Vymenujte všetky možné scenáre prihlásenia, ako je neplatné heslo, prázdne heslo, neplatné používateľské meno, neplatný e-mail, prázdne používateľské meno, zapamätajte si ma skontrolované, nekontrolované atď. Vymenujte možné scenáre spolu s ich očakávaným výsledkom do súboru programu Excel a vložte tento súbor programu Excel ako zdroj údajov pre váš testovací prípad. Teraz môže tento jeden manuálny testovací prípad po automatizácii testovať všetky možné scenáre naraz.
Vždy hľadajte príležitosti, ktoré je možné vykonať pomocou automatizácie, ale je ťažké ich vykonať manuálne. Napríklad scenáre testovania záťaže, výkonnostné testy, rovnaké testy v rôznych prostrediach s rôznymi konfiguráciami, úniky pamäte, testy vysokej presnosti atď. To všetko sú pre manuálnych testerov zložité scenáre.
# 7. Nemôžete všetko automatizovať
Automatizácia znamená častejšie vykonávanie menšieho počtu testov. Najprv musíte začať najskôr útokom na svoje dymové skúšky. Potom zakryte svoju stavať kolaudačné skúšky . Potom prejdite na svoje často vykonávané testy a potom prejdite na svoje časovo náročné testy. Uistite sa však, že každý automatizovaný test šetrí čas, aby sa ručný tester zameral na dôležitejšie veci.
Automatizácia tu nie je na to, aby nahradila manuálnych testerov. Ani nemôže. Je na mieste odňať opakovanú prácu ručným testerom, aby mohli pri hľadaní nových testovacích scenárov a chýb využiť svoje plné sústredenie a silu. (Prečítajte si môj článok Mylné predstavy o automatizácii testov)
Automatizujte niekoľko testov, ktoré sú cenný a šetriče času alebo ťažko uskutočniteľné pre manuálnych testerov. Ak ste to urobili, úloha automatizácie je hotová.
# 8. Vyhýbajte sa automatizácii grafického používateľského rozhrania, ak je k dispozícii náhradník
Automatizácia grafického používateľského rozhrania je vždy tvrdšia ako iné typy automatizovaných testov. Takže ak existuje situácia, keď môžete dosiahnuť svoj cieľ automatizáciou GUI, ale niektorými inými metódami, ako sú vstupy z príkazového riadku, najlepšou stratégiou je vyhnúť sa automatizácii GUI.
Napríklad, chcete otestovať inštaláciu aplikácie. Cieľom je skontrolovať, či je aplikácia nainštalovaná v konkrétnom prostredí. Jedným z prístupov je spustenie inštalácie a kliknutie na „ Ďalšie ”Viackrát prostredníctvom vášho automatizačného nástroja. Môže to byť zložité, časovo náročné a podlieha údržbe, ak sa zmení používateľské rozhranie. Druhým prístupom je spustenie inštalácie aplikácie pomocou dávkového súboru s tichými argumentmi. Aplikácia sa nenápadne nainštaluje a nebude obsahovať žiadne grafické používateľské rozhranie. Cieľ sa dosiahne v kratšom čase a spoľahlivejším spôsobom.
# 9. Používajte automatizáciu aj na ďalšie užitočné účely
Automatizácia je taká fantastická vec. Dajú sa z toho dosiahnuť také veci, o ktorých bežne nemyslíš. Automatizácia nie je len o programovaní manuálneho testovacieho prípadu. Namiesto toho môžete použiť automatizáciu na uľahčenie rôznych operácií vo vašej organizácii.
Napríklad, môžete použiť automatizáciu na automatické vytváranie kmeňových údajov a konfiguráciu nastavení pre manuálnych testerov. Aby mohli začať s testovaním čo najskôr.
Môžem uviesť jeden príklad od vlastnej spoločnosti. Chceli sme prejsť z nášho nástroja na správu testovacích prípadov. Používali sme program „Test Director“ (teraz HP ALM) a chceli sme prejsť na TFS (Team Foundation Server). V testovacom riaditeľovi sme mali okolo 4 000 manuálnych testovacích prípadov a chýb. Manuálny prenos do TFS môže trvať asi mesiac. Môj manažér ma teda požiadal, aby som vyskúšal nejakú automatizáciu.
Vykopal som tieto nástroje a zistil som, že Test Director používa ako svoje úložisko server SQL. Pre TFS som našiel nástroj, ktorý dokáže prečítať testovacie prípady a chyby zo súboru programu Excel, ak sú napísané v konkrétnom formáte, a vložiť ich do TFS. Zvyšok príbehu je jednoduchý. Napísal som dotaz SQL, aby som načítal všetky testovacie prípady a chyby, a exportoval som ich do súboru Excel v konkrétnom formáte. Potom som použil tento nástroj, ktorý načíta všetky testovacie prípady a chyby z excelového súboru a vložil ich do TFS. Celý proces trval iba 3 hodiny. Môj manažér bol veľmi šťastný. Dúfam, že pochopíte aj môj názor.
# 10. Automatizácia je vývoj softvéru
Ak vyvíjate kvalitný softvér, vyžaduje osvedčené postupy. Na napísanie kódu kvality je potrebná kontrola kódu. Potrebuje rámcový alebo dizajnový vzor, podľa ktorého sa treba riadiť. Potrebuje neustálu údržbu.
Automatizácia je v zásade vývoj softvéru. Pri automatizácii by sa teda mali dodržiavať všetky najlepšie postupy, ktoré dodržiavate pri vývoji softvéru. Automatizačný rámec by tam mal byť. Mali by sa vykonať kontroly kódu. Chyby automatizácie by sa mali hlásiť v úložisku chýb. Zdrojový kód automatizácie by mal byť pod kontrolou zdroja atď. Čím viac s ním budete zaobchádzať ako s vývojom softvéru, tým úspešnejšia bude automatizácia.
Záver
Toto zhŕňa článok a sériu automatizácie testov. Pri písaní týchto tutoriálov som sa naučil veľa vecí a dúfam, že aj ty sa naučíš čítaním. Automatizácia testov je zaujímavá a prínosná kariéra. Robiť to správne nie je prospešné iba pre vás, ale aj pre organizáciu.
Každý deň, keď pracujem na automatizácii testov a ich technikách, nachádzam nové a zaujímavé výzvy, ktoré treba vyriešiť. Táto séria bola pokusom poukázať na to, čo by sa mohlo na ceste automatizácie testov stretnúť. Dúfam, že som to doručil správne a jednoduchým spôsobom.
Ako vždy čakám na vaše pripomienky a návrhy. Neváhajte a napíšte svoj názor do sekcie komentárov. Budem rád, keď sa mi ozvete a v prípade potreby vám pomôžem. Vďaka za prečítanie.
Výukový program PREV # 6
Odporúčané čítanie
- Ste odborníkom na manuálne alebo automatizované testovanie? Pracujte na čiastočný úväzok pre nás!
- Výzvy na manuálne a automatizované testovanie
- Najlepšie 10+ najlepšie knihy o testovaní softvéru (knihy o manuálnom a automatizovanom testovaní)
- Nástroj na testovanie automatizácie grafického používateľského rozhrania Sikuli - Príručka pre začiatočníkov, časť 2
- Sprievodca krok za krokom k implementácii Proof of Concept (POC) v automatizovanom testovaní
- 10-krokový proces testovania automatizácie: Ako spustiť testovanie automatizácie vo vašej organizácii
- Ako rozhodnúť, ktorý typ testovania sa vyžaduje pre projekt? - Manuálne alebo automatizované
- Ako vykonať ručné testovanie výkonu?