Co je to Automation Testing? - Testovací proces a jeho typy

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





Software se stává cennějším a důležitějším, protože vítáme nové aplikace a zařízení v našich domácnostech a podnicích, které převezmou velení nad důležitým úkolem. 16. dubnathV roce 1994 došlo k havárii letadla se smrtelnými následky těsně před přistáním na letišti. Kde bylo zabito 250 lidí, což byla nejsmrtelnější nehoda v čínských leteckých společnostech. Hlavní příčinou incidentu byly softwarové chyby. Uživatelé softwaru nebyli před jeho implementací testováni. Každý systém má softwarové chyby. Je nemožné navrhnout softwarový systém bez jakýchkoli chyb. Selhání způsobené softwarovými chybami v systému však lze chránit provedením testování softwaru. Testování softwaru je proces používaný k nalezení chyby, úplnosti a kvality vyvinutého počítačového softwaru. Zahrnuje soubor činností prováděných se záměrem najít chyby v softwaru, aby bylo možné je opravit před vydáním produktu koncovým uživatelům. Existují dva typy testovacích postupů, manuální testování a automatizace testování.

Co je to Automation Testing?

Automatizované testování využívá pomoc nástrojů, skriptů a softwaru k provádění testovacích případů opakováním předdefinovaných akcí. Zcela záleží na předskriptovaném testu, kde porovnáme očekávaný výsledek se skutečným, když je proveden předskript. Zkoušky jako zatížení, stres, špička mohou být testovány pomocí automatizačních nástrojů. Příklad: Facebook testuje rozhraní mozek-počítač, které může převádět myšlenky do digitálních textů.




Které testovací případy by měly být automatizovány jako první?

Níže jsou uvedeny testovací případy, které je třeba nejprve automatizovat,

  • Opakovaný úkol - Příklad jako web elektronického obchodování, který několikrát testuje přihlašovací údaje, aby se ujistil, že přihlašovací stránka funguje podle požadavků uživatele.
  • Zachycení a sdílení výsledků - Spíše než zkracování čísel a vytváření grafů může být užitečné investovat do nástrojů nebo automatizační strategie, kde lze ušetřit čas.
  • Test zadávání dat - Automatizace informací do zdroje dat tak, aby byl snadno čitelný. Kde je možné lépe zvládnout variabilitu dat. To je, když chce člověk prohledávat konkrétní data z tisíců dat, lze k prohledání konkrétních dat použít automatizační nástroj.
  • Odpověď načasování nebo screeningu - Není třeba sledovat obrazovku ručně, lze ji vylepšit pomocí automatizovaného kódu „počkejte do“.
  • Nefunkční testování - Příkladem automatizace nefunkčního typu testování je automatizace zátěžového testování. Pokud namísto manuálního testování máme zátěž deset tisíc, je lepší použít automatizované testování.

Automatizační testovací proces

Krok za krokem použitý pro automatizační test je



automatizace - test - proces

automatizační-testovací proces

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

Při výběru správného nástroje podle povahy použitého testu je velmi důležité, aby byla automatizace úspěšná. Pro testování založené na kódu, zpracování nebo grafické uživatelské prostředí podle toho musí být vybrány vhodné nástroje pro testování.


2). Definujte rozsah automatizace

Rozsah automatizace hraje základní roli. Příkladem důležitých funkcí pro jakýkoli podnik jsou scénáře, které mají velké množství dat, ty, které mají společné funkce napříč různými platformami a aplikacemi, a složitost testovacích případů. Atd.

3). Plánování návrhu a vývoje

Po určení cíle a typu testování, který se má automatizovat, by se mělo rozhodnout, co by automatizovaný test provedl. Nejprve vyvinout testovací případy do menších logických testů, poté psát testovací skripty a vyvíjet testovací sady, kde se automaticky spustí jeden po druhém. To je generováno vytvořením testu v obleku, jako je knihovna, která má více testovacích případů.

4). Provedení testu

K provedení testovacího skriptu se používá automatizační nástroj nebo nástroj pro správu testů. Po konečném provedení musí být podrobně vypracována zpráva o jednotlivých testech. Aby mohla být zpráva použita jako reference pro další testy.

5). Údržba

Automatizační skripty je třeba přidávat, kontrolovat a udržovat pro každý cyklus. Tam, kde je nutná údržba. Například po napsání kódu kód zkontrolujeme a pokud dojde k chybě, dojde k chybě. Proto identifikujeme, která část kódu obsahuje chybu, a opravíme ji a poté spustíme kód hned od začátku. Údržba tedy hraje zásadní roli, což zvyšuje nutnost automatizačních skriptů.

Přístupy k automatizaci

Existují tři přístupy k automatizaci, jsou

1). Přístup řízený kódem

Testuje rámcovou práci, zaměřuje se na provádění testovacích případů a zjišťuje, zda různé části kódů fungují podle očekávání za různých podmínek nebo ne. Je to populární metoda používaná při agilním vývoji softwaru.

2). Grafické uživatelské rozhraní (GUI)

Pomocí této metody lze testovat aplikace s grafickým uživatelským rozhraním, které zaznamenávají akce a odpovědi uživatelů libovolněkrát. Příklad: Selenový nástroj používaný k testování webových stránek. Testovací případy lze psát v jakémkoli skriptovacím jazyce, jako je java, phyton, C .. atd.

3). Rámcový přístup

Jedná se o soubor pokynů. Tam, kde framework sdružuje knihovny funkcí, zdroje testovacích dat, podrobnosti o objektech a další opakovaně použitelné moduly. Náklady na údržbu jsou nižší a vysoce efektivní. Příklad: Pokud v testovacím případu dojde ke změně, je třeba tuto část souboru testovacích případů aktualizovat bez jakékoli změny ovladače nebo spouštěcích skriptů.

Druhy rámců

Existují různé typy rámcových přístupů

  • Lineární skriptovací práce
  • Data-řízený rám práce
  • Práce s rámcem na základě klíčových slov
  • Modulární testování rámové práce
  • Hybridní testování rámové práce.

Typy automatizačních testů

Různé typy automatizačních testů jsou

  1. Testování jednotky
  2. Kouřové zkoušky
  3. Funkční testování
  4. Testování integrace
  5. Regresní testování

1). Testování jednotek

Ve webové aplikaci může být několik komponent / modelů, které mají být testovány. Proces testování každého modelu je testování jednotky. Děje se to během vývojové fáze. Kde jsou kódy psány vývojáři a také testery.

2). Testování kouře

Testování kouře je alternativně známé jako „Build Verification Testing“. Slouží ke kontrole, zda je kód zapsán podle očekávání konečných výsledků nebo ne. V testu kouře, jakmile je test proveden, jeho konečný výsledek rozhodne, zda má budoucí test pokračovat, nebo ne. Problémy během testování lze identifikovat v rané fázi.

3). Funkční testování

Kontroluje funkčnost webu, pracuje podle toho nebo ne. Pokud vezmeme v úvahu například přihlašovací stránku, kde musíme zadat uživatelské jméno a heslo. Pokud nezadáme správná data, naše očekávaná stránka se neotevře. Pokud je kód napsán pro přihlašovací stránku a je správně otestován, očekávaná stránka se otevře, znamená to, že funkční test funguje správně.

4). Testování integrace

V tomto jsou jednotlivé komponenty integrovány a testovány najednou. Kde můžeme zkontrolovat, zda jsou jednotlivé moduly kompatibilní s vzájemnou komunikací. Pokud například vezmeme v úvahu výrobu kuličkového pera, kde se pero skládá z náplně, víčka, těla., Které se vyrábějí samostatně a skládají se dohromady. Při montáži je kontrolujeme, zda jsou správně namontovány nebo ne.

5). Regresní testování

Pokud v kódu dojde k nějaké aktualizaci, ujistíme se, že to neovlivní již napsané kódy. Proto provádíme regresní testování. Použití regresního testování je aktualizace kódu na základě požadavku, detekce chyby a oprava. Příkladem regresního testování je bankovní web, kde se web podle potřeby pravidelně aktualizuje, například aktualizace aktuálního zůstatku účtu. Při aktualizaci webu se proto musíte ujistit, že nově aktualizované funkce neovlivní již existující funkce.

Jak si vybrat automatizační nástroje?

Chcete-li vybrat vhodný automatizační nástroj, zkontrolujte následující vlastnosti uvedené níže,

  • Podpora prostředí
  • Testování databáze
  • Identifikace objektu
  • Testování obrazu
  • Testování obnovení po chybě
  • Podpora více rámových prací
  • Minimalizujte náklady
  • Rozsáhlé protokoly o zkouškách a náklady.

Typy automatizačních testovacích nástrojů

Existuje mnoho nástrojů pro testování automatizace, několik z nich je uvedeno níže

1). Selen

Jedná se o open-source, což je oblíbená metoda testování webových aplikací, více prohlížečů a platforem. Poslední verzí selenu je Selenium4. Programátor vyžaduje pokročilé jazykové znalosti programování. Existují čtyři komponenty selenu, selen IDE, dálkové ovládání selenu, webový ovladač, selenová mřížka.

2). voda

Jedná se o open-source testovací nástroj složený z rubínové knihovny, který automatizuje testování webových aplikací. Nejnovější verzí watiru je watir 6.16. Kódy lze psát v jakémkoli jazyce. Firefox, chrome, safari jsou určité prohlížeče, které watir podporuje. Některé z funkcí watiru jsou: vyžaduje krátké obrazovky, výkon stránky a snadno si může stáhnout jakýkoli soubor.

3). Ranorex

Jedná se o flexibilní nástroj pro testování grafického uživatelského rozhraní. Je vhodný pro všechny prohlížeče prostředí a zařízení. Podporuje C # a V.NET. Je zabudován do systému Microsoft Windows a Windows Server. Hlavními součástmi ranorexu jsou ranorexový záznamník, ranorex úložiště, ranorex spy, ranorex editor kódu a ranorex debugger.

4). API (Application Programming Interface Testing)

Jedná se o mobilní testovací nástroj, což je aplikační software s otevřeným zdrojovým kódem. API zjistí, zda provedený test API poskytuje přesné výsledky nebo ne. Existují různé typy testování API, testování jednotek, testování funkčnosti, testování zátěže, detekce chyb za běhu, testování zabezpečení, testování webového uživatelského rozhraní, penetrační testování, testování fuzz. Je implementován na POSIX API.

Automatizační testovací nástroje pro mobilní aplikace

Různé typy automatizačních testovacích nástrojů pro mobilní aplikace jsou Appium, Robotium, MonkeyRunner, UI Automator, Selendroid, MonkeyTalk, Testdroid, Calabash, Frank, SeeTest

1). appium

  • Jedná se o open-source
  • Podporuje Java, Ruby a další
  • Zdrojový kód lze znovu použít
  • Kompatibilní pro Android a iOS.

2). roboti

  • Jedná se o open-source
  • Kompatibilní pro všechny verze a podverze systému Android.
  • Kódy jsou psány v Javě.

3). Monkeyrunner

  • Testování na rámcové nebo funkční úrovni se provádí pomocí monkeyrunner
  • Kódy jsou psány v pythonu
  • Funkce: ovládá mnoho zařízení najednou, automatizaci lze rozšířit, lze otestovat aplikace a hardware pro Android, automatizaci lze rozšířit.

4). UI Automator

  • Používá se k testování uživatelských rozhraní pomocí testovacích případů uživatelského rozhraní.
  • Podporuje různé verze androidů
  • Může zamknout a odemknout smartphony

5). Selendroid

  • Používá se k testování uživatelského rozhraní hybridního systému Android.
  • Testovací případy se zapisují pomocí selendroidu
  • NA protokol jako JSON drát je velmi kompatibilní.

Riziko podílející se na testování automatizace

Riziko spojené s automatizačním testováním je

  • Počáteční cena bude vysoká
  • Automatizace nikdy není 100%
  • Neautomatizuje nefixované uživatelské rozhraní
  • Nesprávné vyhodnocení času a úsilí
  • Nekompatibilita automatizačních nástrojů.

Výhody testování automatizace

Výhody automatizace testování jsou

  • Provádění testovacích případů je zjednodušeno
  • Zlepšuje spolehlivost testu
  • Snižuje náklady na údržbu
  • Výsledky testu jsou zveřejňovány
  • Žádné lidské chyby
  • Šetří čas a paměť.

Zde jsme popsali software testování automatizace, jeho testovací proces, typy automatizačního testování a automatizační testovací nástroj. Zde je otázka, „jak je testování automatizace lepší než manuální testování?“.