Výukový program pro automatizační testování: Co je to automatizované testování?

Obsah:

Anonim

Co je to Automation Testing?

Automation Testing nebo Test Automation je technika testování softwaru, která provádí speciální testovací softwarové nástroje k provádění sady testovacích případů. Naopak, ruční testování provádí člověk sedící před počítačem, který pečlivě provádí testovací kroky.

Software pro automatizační testování může také zadat testovací data do Testovaného systému, porovnat očekávané a skutečné výsledky a generovat podrobné protokoly o zkouškách. Software Test Automation vyžaduje značné investice peněz a zdrojů.

Postupné vývojové cykly budou vyžadovat opakované provádění stejné testovací sady. Pomocí nástroje pro automatizaci testů je možné tuto testovací sadu zaznamenat a podle potřeby ji znovu přehrát. Jakmile je testovací sada automatizována, není nutný žádný zásah člověka. To zlepšilo návratnost investic do automatizace testů. Cílem automatizace je snížit počet testovacích případů, které se mají spustit ručně, a ne zcela eliminovat ruční testování.

Pokud video není přístupné, klikněte sem

V tomto výukovém programu pro automatizované testování softwaru se naučíte základy Test Automation jako -

  • Co je to Automation Testing?
  • Proč automatické testování?
  • Které testovací případy automatizovat?
  • Automatizovaný testovací proces
  • Výběr testovacího nástroje
  • Definujte rozsah automatizace
  • Plánování, design a vývoj
  • Provedení testu
  • Rámec pro automatizaci
  • Osvědčené postupy pro automatizační nástroj
  • Výhody testování automatizace
  • Typy automatizovaného testování
  • Jak si vybrat automatizační nástroj?
  • Nástroje pro automatizaci testování

Proč testovat automatizaci?

Proč testovat automatizaci?

Automatizace testů je nejlepší způsob, jak zvýšit efektivitu, pokrytí testů a rychlost provádění v testování softwaru. Automatizované testování softwaru je důležité z následujících důvodů:

  • Ruční testování všech pracovních postupů, všech polí a všech negativních scénářů je časově i finančně náročné
  • Je obtížné ručně testovat vícejazyčné weby
  • Automatizace testů při testování softwaru nevyžaduje lidský zásah. Automatický test můžete spustit bez dozoru (přes noc)
  • Automatizace testů zvyšuje rychlost provádění testu
  • Automatizace pomáhá zvýšit pokrytí testů
  • Ruční testování může být nudné, a proto náchylné k chybám.

Které testovací případy automatizovat?

Testovací případy, které mají být automatizovány, lze vybrat pomocí následujícího kritéria pro zvýšení ROI automatizace

  • Vysoké riziko - obchodní kritické testovací případy
  • Testovací případy, které se opakovaně provádějí
  • Testujte případy, které jsou velmi zdlouhavé nebo obtížně proveditelné ručně
  • Testovací případy, které jsou časově náročné

Následující kategorie testovacích případů nejsou vhodné pro automatizaci:

  • Testovací případy, které jsou nově navrženy a nejsou provedeny ručně alespoň jednou
  • Testovací případy, u nichž se požadavky často mění
  • Testovací případy prováděné ad hoc.

Automatizovaný testovací proces:

V automatizačním procesu se postupuje podle následujících kroků

Krok 1) Výběr testovacího nástroje

Krok 2) Definujte rozsah automatizace

Krok 3) Plánování, návrh a vývoj

Krok 4) Provedení testu

Krok 5) Údržba

Test automatizačního procesu

Výběr testovacího nástroje

Výběr testovacího nástroje do značné míry závisí na technologii, na které je postavena Testovaná aplikace. Například QTP nepodporuje Informatica. QTP tedy nelze použít k testování aplikací Informatica. Je dobrý nápad provést Proof of Concept of Tool na AUT.

Definujte rozsah automatizace

Rozsah automatizace je oblast vaší testované aplikace, která bude automatizována. Následující body pomáhají určit rozsah:

  • Funkce, které jsou důležité pro podnikání
  • Scénáře, které obsahují velké množství dat
  • Společné funkce napříč aplikacemi
  • Technická proveditelnost
  • Rozsah, v jakém jsou obchodní komponenty znovu použity
  • Složitost testovacích případů
  • Schopnost použít stejné testovací případy pro testování napříč prohlížeči

Plánování, design a vývoj

Během této fáze vytvoříte automatizační strategii a plán, který obsahuje následující podrobnosti -

  • Vybrány automatizační nástroje
  • Návrh rámce a jeho vlastnosti
  • Položky automatizace v rozsahu a mimo rozsah
  • Automatizace přípravy testovacího lože
  • Harmonogram a časová osa skriptování a provádění
  • Výstupy z testování automatizace

Provedení testu

Během této fáze se provádějí automatizační skripty. Skripty potřebují vstupní testovací data, než se spustí. Po provedení poskytují podrobné protokoly o zkouškách.

Provedení lze provést pomocí automatizačního nástroje přímo nebo pomocí nástroje Test Management, který vyvolá automatizační nástroj.

Příklad: Centrum kvality je nástroj Test Management, který zase vyvolá QTP pro provádění automatizačních skriptů. Skripty lze spouštět na jednom počítači nebo ve skupině počítačů. Popravu lze provést během noci, aby se ušetřil čas.

Vyzkoušejte přístup k údržbě automatizace

Test Automation Maintenance Approach je fáze testování automatizace prováděná za účelem testování, zda nové funkce přidané do softwaru fungují správně nebo ne. Údržba v testování automatizace se provádí, když jsou přidány nové automatizační skripty a je třeba je zkontrolovat a udržovat, aby se zlepšila účinnost automatizačních skriptů s každým následným cyklem vydání.

Rámec pro automatizaci

Rámec je sada pokynů pro automatizaci, které pomáhají v

  • Udržování konzistence testování
  • Vylepšuje strukturování testů
  • Minimální využití kódu
  • Méně údržby kódu
  • Vylepšete opětovnou použitelnost
  • Do kódu mohou být zapojeni netechničtí testeři
  • Lze zkrátit dobu tréninku používání nástroje
  • Zahrnuje data, kdykoli je to vhodné

Při testování softwaru pro automatizaci se používají čtyři typy rámců:

  1. Data Driven Automation Framework
  2. Rámec automatizace klíčových slov
  3. Modulární automatizační rámec
  4. Hybridní automatizační rámec

Osvědčené postupy pro automatizační nástroj

Chcete-li získat maximální ROI automatizace, postupujte podle následujících pokynů

  • Před zahájením projektu je třeba podrobně určit rozsah automatizace. To nastavuje očekávání od Automation správně.
  • Vyberte správný automatizační nástroj: Nástroj nesmí být vybrán na základě jeho popularity, ale odpovídá požadavkům automatizace.
  • Vyberte vhodný rámec
  • Standardy skriptování - Při psaní skriptů pro automatizaci je třeba dodržovat standardy. Někteří z nich jsou-
    • Vytvořte jednotné skripty, komentáře a odsazení kódu
    • Adekvátní zpracování výjimek - Jak se zpracovává chyba při selhání systému nebo neočekávaném chování aplikace.
    • Uživatelem definované zprávy by měly být kódovány nebo standardizovány pro protokolování chyb, aby je mohli testeři pochopit.
  • Měření metrik - Úspěch automatizace nelze určit porovnáním manuálního úsilí s úsilím automatizace, ale také zachycením následujících metrik.
    • Procento nalezených vad
    • Čas potřebný pro testování automatizace pro každý cyklus vydání
    • Vydání vyžaduje minimální čas
    • Index spokojenosti zákazníků
    • Zvýšení produktivity

Výše uvedené pokyny, pokud jsou dodrženy, mohou výrazně pomoci při úspěšné automatizaci.

Výhody testování automatizace

Výhody testování automatizace

Výhody automatizace testů jsou následující:

  • 70% rychlejší než manuální testování
  • Širší pokrytí funkcí aplikace
  • Spolehlivé výsledky
  • Zajistěte jednotnost
  • Šetří čas a náklady
  • Zlepšuje přesnost
  • Při provádění není nutná lidská intervence
  • Zvyšuje účinnost
  • Lepší rychlost při provádění testů
  • Znovu použitelné testovací skripty
  • Testujte často a důkladně
  • Více cyklu provádění lze dosáhnout pomocí automatizace
  • Brzy na trh

Typy automatizovaného testování

  • Testování kouře
  • Testování jednotek
  • Testování integrace
  • Funkční testování
  • Testování klíčových slov
  • Regresní testování
  • Testování na základě dat
  • Testování černé skříňky

Jak si vybrat automatizační nástroj?

Výběr správného nástroje může být obtížný úkol. Následující kritérium vám pomůže vybrat nejlepší nástroj pro váš požadavek -

  • Podpora prostředí
  • Snadnost použití
  • Testování databáze
  • Identifikace objektu
  • Testování obrazu
  • Testování obnovy po chybě
  • Mapování objektů
  • Použitý skriptovací jazyk
  • Podpora různých typů testů - včetně funkčních, správy testů, mobilních zařízení atd.
  • Podpora více testovacích rámců
  • Snadné ladění skriptů softwaru pro automatizaci
  • Schopnost rozpoznat objekty v jakémkoli prostředí
  • Rozsáhlé protokoly a výsledky testů
  • Minimalizujte náklady na školení vybraných nástrojů

Výběr nástrojů je jednou z největších výzev, které je třeba řešit před automatizací. Nejprve identifikujte požadavky, prozkoumejte různé nástroje a jejich schopnosti, nastavte očekávání od nástroje a přejděte na Proof Of Concept.

Nástroje pro automatizaci testování

Na trhu je spousta funkčních a regresních testovacích nástrojů. Zde jsou nejlepší nástroje pro automatizaci testů certifikované našimi odborníky

  1. Studio Ranorex

Ranorex Studio je nástroj typu vše v jednom pro automatizaci funkčních testů uživatelského rozhraní, regresních testů, testů založených na datech a mnoha dalších. Ranorex Studio obsahuje snadno použitelné rozhraní typu click-and-go k automatizaci testů pro webové, stolní a mobilní aplikace.

Funkce:

  • Funkční uživatelské rozhraní a end-to-end testování na počítači, webu a mobilních zařízeních
  • Testování mezi prohlížeči
  • SAP, ERP, Delphi a starší aplikace.
  • iOS a Android
  • Spouštějte testy lokálně nebo vzdáleně, paralelně nebo distribuujte na selenové mřížce
  • Robustní hlášení

Zjistit více


  1. Svědectví

Testim je nejrychlejší cesta k odolným end-to-end testům bez kódování, kódování nebo obojí. Testim vám umožňuje vytvářet úžasně stabilní testy bez kódů, které využívají naši AI, ale také flexibilitu exportovat testy jako kód. Zákazníci jako Microsoft, NetApp, Wix a JFrog provádějí každý měsíc na Testimu miliony testů

Funkce

  • K ladění, přizpůsobení nebo refaktorování testů můžete využít moderní JavaScript API společnosti Testim a vaše IDE.
  • Uložte test do svého systému pro správu verzí, aby byly synchronizované s větvemi, a spusťte testy při každém potvrzení.
  • Integrace s populárními nástroji

Zjistit více


  1. Selen

Jedná se o softwarový testovací nástroj používaný pro regresní testování. Jedná se o testovací nástroj s otevřeným zdrojovým kódem, který poskytuje možnosti přehrávání a nahrávání pro regresní testování. Selenium IDE podporuje pouze webový prohlížeč Mozilla Firefox.

  • Poskytuje ustanovení pro export zaznamenaného skriptu do jiných jazyků, jako jsou Java, Ruby, RSpec, Python, C # atd
  • Může být použit s rámci jako JUnit a TestNG
  • Může provádět více testů najednou
  • Automatické doplňování pro běžné příkazy selenu
  • Návodové testy
  • Identifikuje prvek pomocí id, názvu, X-cesty atd.
  • Testy ukládejte jako Ruby Script, HTML a jakýkoli jiný formát
  • Poskytuje možnost uplatnit název každé stránky
  • Podporuje soubor selenium user-extensions.js
  • Umožňuje vkládat komentáře doprostřed skriptu pro lepší porozumění a ladění

Stáhněte si selen


  1. QTP (MicroFocus UFT)

QTP je široce používán pro funkční a regresní testování, je určen pro všechny hlavní softwarové aplikace a prostředí. Pro zjednodušení vytváření a údržby testů využívá koncept testování na základě klíčových slov. Umožňuje testeru vytvářet testovací případy přímo z aplikace.

  • Pro netechnickou osobu je snazší přizpůsobit se a vytvořit pracovní testovací případy
  • Opravuje vady rychleji důkladným zdokumentováním a replikací vad pro vývojáře
  • Sbalte vytvoření testu a dokumentaci testu na jednom místě
  • Parametrizace je snadná než WinRunner
  • QTP podporuje vývojové prostředí .NET
  • Má lepší mechanismus identifikace objektu
  • Může vylepšit existující skripty QTP, aniž by bylo k dispozici „Testování aplikace“, pomocí aktivní obrazovky

Stáhnout QTP


  1. Rational Functional Tester

Jedná se o objektově orientovaný automatizovaný nástroj pro funkční testování, který je schopen provádět automatizované funkční, regresní, datově řízené testování a testování GUI. Hlavní rysy tohoto nástroje jsou

  • Podporuje širokou škálu protokolů a aplikací, jako jsou Java, HTML, NET, Windows, SAP, Visual Basic atd.
  • Může zaznamenávat a přehrávat akce na vyžádání
  • Dobře se integruje s nástroji pro správu řízení zdrojů, jako jsou Rational Clear Case a Rational Team Concert integration
  • Umožňuje vývojářům vytvořit skript spojený s klíčovým slovem, aby jej bylo možné znovu použít
  • Editor Eclipse Java Developer Toolkit umožňuje týmu kódovat testovací skripty v Javě pomocí Eclipse
  • Podporuje vlastní ovládací prvky prostřednictvím proxy SDK (Java / .Net)
  • Podporuje řízení verzí, aby umožnil paralelní vývoj testovacích skriptů a souběžné použití geograficky distribuovaným týmem

Stáhněte si Rational Functional Tester


  1. Watir

Jedná se o open source testovací software pro regresní testování. Umožňuje vám psát testy, které jsou snadno čitelné a snadno se udržují. Watir podporuje pouze internetový prohlížeč v systému Windows, zatímco webový ovladač Watir podporuje Chrome, Firefox, IE, Opera atd.

  • Podporuje více prohlížečů na různých platformách
  • Namísto použití proprietárního skriptu dodavatele používá plně vybavený moderní skriptovací jazyk Ruby
  • Podporuje vaši webovou aplikaci bez ohledu na to, v čem je vyvinuta

Stáhněte si Watir


  1. SilkTest

Silk Test je určen k provádění funkčních a regresních testů. Pro aplikace elektronického obchodu je hedvábný test předním produktem funkčního testování. Jedná se o produkt převzetí společnosti Segue Software společností Borland v roce 2006. Je to objektově orientovaný jazyk stejně jako C ++. Využívá koncept objektu, tříd a dědičnosti. Mezi jeho hlavní funkce patří

  • Skládá se ze všech zdrojových souborů skriptu
  • Převádí příkazy skriptu na příkazy GUI. Na stejném počítači lze příkazy spouštět na vzdáleném nebo hostitelském počítači
  • K identifikaci pohybu myši a stisknutí kláves lze provést Silktest. K získání dialogů může využít metodu přehrávání i záznamu nebo metody popisného programování
  • Identifikuje všechny ovládací prvky a okna testované aplikace jako objekty a určuje všechny atributy a vlastnosti každého okna

Stáhněte si SilkTest

souhrn

Test Automation je technika testování softwaru, která provádí speciální testovací softwarové nástroje k provádění sady testovacích případů.

Automatizace testů je nejlepší způsob, jak zvýšit účinnost, pokrytí testů a rychlost provádění v testování softwaru.

Výběr testovacího nástroje do značné míry závisí na technologii, na které je postavena Testovaná aplikace.

Test Automation Maintenance Approach je fáze testování automatizace prováděná za účelem testování, zda nové funkce přidané do softwaru fungují správně nebo ne.

Správný výběr nástroje pro automatizaci, testovací proces a tým jsou důležitými hráči, aby byla automatizace úspěšná. Ruční a automatizační metody jdou ruku v ruce pro úspěšné testování.