Úvod do regresního testování

Regresní testování se provádí za účelem ověření, že nové změny neovlivňují stávající funkce, funkčnost aplikace nebo softwaru. Regresní testování se používá k zajištění toho, aby software nebo aplikace fungovaly jako dříve i po přidání nových funkcí nebo změny stávajících funkcí. Nevyžaduje provedení nových testovacích případů; K provedení tohoto testování se obvykle používají předchozí testovací případy.

Je také označován jako typ testování softwaru, ve kterém se provádí opakované provádění testovacích případů za účelem ověření funkčnosti aplikace. Neměla by existovat nová chyba kvůli změnám. Lze to provést ručně a lze jej automaticky otestovat pomocí testovacího nástroje. To bylo provedeno hlavně pro různé typy doménových aplikací, jako je pojištění, bankovnictví a maloobchod atd. Tyto doménové aplikace vyžadují regresní testování, protože zahrnuje transakce a peníze.

Kdy dochází k regresnímu testování?

Je vyžadováno, když dojde k nějakému problému s výkonem a byl opraven. Produkt nebo software obsahuje opravu vad nebo opravu chyb, změnu v požadavku, úpravu kódu a nově přidanou funkci. Regresní testování musí být provedeno pro nasazení na poslední chvíli a změny softwaru nebo aplikací ve výrobě nebo v jakémkoli jiném prostředí. Testovací případy jsou vybrány hlavně na základě:

  1. Funkce, které klient často používá.
  2. Hlavní vlastnosti produktu, jako je nové, úpravy a zobrazení.
  3. Testovací případ, který závady zaznamenával častěji.
  4. Všechny typy případů, jako je mezní testovací případ, integrační testovací případ a komplexní testovací případ.
  5. Funkce, na kterých jsou provedeny změny nebo byla opravena chyba.
  6. Všechny typy úspěšných a neúspěšných testovacích případů.

Funkce

Vlastnosti regresního testování jsou následující:

  1. Pomáhá šetřit spoustu úsilí a času.
  2. Pomáhá při provádění více testů současně a udržuje testovací pokrytí předchozích testovacích případů.
  3. Regresní testování je účinné zejména na základě testovacích případů definovaných pro testování existující funkčnosti nebo funkcí.
  4. Závisí také na oblasti dopadu uvolnění a kritičnosti komponenty.
  5. Regresní testovací případy jsou hlavně automatizované, což šetří čas a úsilí testera, protože existuje mnoho testovacích případů a ručně to může být časově náročné.

Techniky pro regresní testování:

Níže jsou uvedeny různé techniky regresního testování:

Opakujte vše

To znamená, že všechny testovací případy jsou spuštěny znovu, které byly dříve napsány, aby bylo zajištěno, že všechno funguje dobře a že nebyly zavedeny žádné chyby kvůli změně a nové funkci v kódu. Je to jedna z nejdražších metod, protože k provedení všech testů je třeba hodně úsilí a času a prostředků.

Výběr regresního testu

V tomto typu testování jsou vybrány testovací případy, které je třeba pro testování provést. Všechny testovací případy se pro tuto metodu nespustí, ke spuštění se použijí pouze vybrané testovací případy. Tyto testovací případy jsou vybírány na základě změny kódu. Tyto testovací případy byly kategorizovány především jako opakovaně použitelné testovací případy a zastaralé testovací případy. Regresní testovací případy použité v následném regresním cyklu a zastaralé testovací případy nelze použít v následných cyklech.

Prioritizace testovacích případů

Testovací případy, které mají vysokou prioritu, mohou být provedeny nejprve než ostatní. Testovací případy se střední a nízkou prioritou se provádějí později po provedení testovacích případů s vysokou prioritou. Priorita závisí na kritičnosti a dopadu a funkčnosti produktu.

Hybridní

Je to kombinace výběru regresního testu a stanovení priority testovacích případů. Testovací případy jsou prováděny v závislosti na prioritě a vybrané testovací případy budou provedeny pro vzniklé změny.

Druhy regresního testování:

Níže jsou uvedeny různé typy regresního testování:

  1. Unit Regression: Provádí se hlavně během testování jednotky. V tomto je kód testován pomocí regresních případů, protože všechny závislosti jsou blokovány, aby bylo zajištěno, že testování jednotky je prováděno bez jakéhokoli rozporu
  2. Částečná regrese: Je hlavně prováděno, aby se ověřilo, že kód funguje dobře po provedení změn v kódu a že kód je integrován s existujícím kódem nebo nezměněnými moduly.
  3. Kompletní regrese: Provádí se hlavně tehdy, když dojde ke spoustě změn v kódu a počtu modulů. Testovací případy jsou prováděny na celém softwaru, protože dochází k mnoha změnám kódu.

Plánování regresního testování

Zkušební plán pro regresní testování se provádí pro přiblížení k testování softwaru nebo aplikace. Nové funkce nebo funkce implementovány, změny kódu nebo oprava chyb a pro testování dopadu změn na existující kód je regresní testování prováděno prostřednictvím automatických testovacích případů. Hlavní myšlenkou plánu regresního testování je zkontrolovat a vědět, jak by se testování provedlo, aby se získaly výsledky testu. Je provedeno, aby se zajistilo, že funkce produktu zůstanou nedotčeny.

Strategie regresního testování používaná ke sdílení přístupu k provádění testování, který zahrnuje použití testovací techniky, použití kritérií dokončení, psaní testovacích skriptů a automatizačního nástroje, který se používá pro pokrytí testovacích případů. Testovací případy jsou prováděny na základě použité technologie. Definuje funkce / komponenty, které je třeba testovat. Testovací případy jsou čistě založeny na požadavcích projektu.

Proveďte regresní testování

Lze jej provést dvěma způsoby ručně a automaticky. Pokud se to provádí ručně, pak to bude vyžadovat spoustu času a úsilí, testování může být provedeno ručně, dokud nebude menší funkčnost nebo malá aplikace. Funkčnost aplikace se postupem času zvyšuje a zvyšuje rozsah regrese. Aby se ušetřilo úsilí a čas, používá se automatizační nástroj hlavně k testování existujícího kódu regrese a aplikace. Při provádění regresního testování k provedení testovacích případů je třeba provést několik kroků:

  1. Pro provedení regresního testování je třeba připravit testovací sadu.
  2. Testovací případy musí být automatizovány.
  3. Regresní testování a jeho testovací případy je třeba aktualizovat vždy, když se objeví nová vada. Pokud stávající testovací případy nepokrývají vady a provedené změny, je třeba nový testovací případ aktualizovat, aby pokryl tyto funkce.
  4. Regresní testování musí být provedeno, i když došlo k velmi malé změně nebo opravě problému. Stávající kód je třeba řádně otestovat.
  5. Sestavu je třeba vytvořit tak, aby obsahovala testovací případy vyhovující nebo nevyhovující po jeho provedení.
  6. Doba testování aplikace se zvyšuje s rostoucím vývojem aplikace nebo funkčností.
  7. Nová verze a vydání softwarové verze, tester musí otestovat a pochopit požadavek na změnu softwaru, která musí být provedena.
  8. Analýza dopadu změn na stávající funkce a moduly.
  9. Vyberte testovací případy a určete, jakou techniku ​​regresního testování je třeba přijmout.
  10. Testování musí být naplánováno na určitý čas a otestováno.

Regresní testování zabere více času a úsilí, pokud se zvětší velikost aplikace nebo softwaru a s novými verzemi to musí udělat úplně, což zvýší náklady na testování, ale klient obecně není připraven platit za testování. Regresní testování je třeba omezit, ale to nelze provést. Ani doba regresního testování nelze zkrátit, protože je hlavním požadavkem důkladné testování aplikace. Případy automatizačních testů a skripty pro psaní automatizačních testů vyžadují hodně úsilí a lidé potřebují hodně znalostí k dokončení testování.

Testovací nástroje

Testovací nástroje se používají k automatizaci testovacího úsilí a lze je spustit automaticky po stisknutí a sestavení kódu. Testovací případy, které jsou k dispozici a spustit ručně, budou vyžadovat hodně úsilí a času. Pro snížení námahy a času se používají automatizační nástroje. Testovací případy jsou většinou zaznamenávány a pouze typu přehrávání.

K dispozici je níže uvedený nástroj pro automatizaci testování:

  1. Selen
  2. QTP (Quick test professional)
  3. RFT (racionální funkční testování)
  4. vTest

Existuje mnoho dalších nástrojů, které se používají pro psaní skriptů a testování aplikace nebo softwaru, a testovací případy jsou často způsobeny změnami v systému. Testovací nástroj pomáhá při testování aplikace také některými konkrétními způsoby. Pokud je vložena nová funkčnost nebo je provedena změna kódu po definované časové období nebo dny nebo v posledním sprintu, je třeba provést testovací případ podle přidané nové funkce. Jiný způsob provedení regresních testovacích případů musí být proveden znovu pro všechny aplikační moduly a je označován jako end-to-end regresní testování, které pokrývá všechny funkce produktu.

Výhody

Níže jsou uvedeny výhody regresního testování, které jsou:

  1. Zajišťuje, že stávající funkčnost funguje dobře a neovlivňuje ani žádnou část softwaru
  2. Regresní test skutečně pomáhá při optimalizaci výkonu.
  3. Pomáhá při implementaci nepřetržité integrace, jakmile vývojář posune kód, automaticky se spustí test sestavení a regresní test.
  4. Pomáhá zlepšovat kvalitu produktu.
  5. To lze provést pomocí automatizačních nástrojů.
  6. Pomáhá také zajistit, aby se stejné vady neměly znovu vyskytovat.
  7. Pokud je zapnuto regresní testování, neumožňuje provádět nové změny.
  8. To lze provést pro databázi a databáze musí být izolována, aby se otestovala. Během provádění regresního testování by v databázi neměly být žádné změny.

Nevýhody

Existují některé nevýhody regresního testování, které jsou uvedeny níže:

  1. Pokud by se automatizační nástroj v projektu nepoužíval pro regresní testování, pak by to byl časově náročný proces.
  2. Ručně to vyžaduje hodně úsilí a času a stává se únavným procesem.
  3. Musí to být provedeno pro malou změnu kódu, protože může způsobovat problémy v softwaru.
  4. Regresní testování je třeba provést pokaždé.
  5. Jak se zkušební případy zvětšují, někdy nemohou být všechny testovací případy provedeny z důvodu času a rozpočtu.
  6. Pro dosažení maximálního pokrytí testem s menším počtem testovacích případů je vždy obtížné dosáhnout.
  7. Po každém vydání a sestavení opravy chyb je obtížné určit frekvenci regresních testů.

Závěr

Je to jedna z důležitých částí testování, která pomáhá při poskytování kvalitního produktu. Zajišťuje, že pokud dojde ke změně kódu, neovlivní to žádný existující kód ani funkčnost. Děje se to hlavně pomocí automatizačních nástrojů, protože manuálně to zabere spoustu času a úsilí. Nástroj je vybrán hlavně na základě požadavku projektu a nástroj by měl mít také možnost aktualizovat testovací případy.

Pomáhá při získávání defektů, když jsou nové změny integrovány do stávajícího systému, a hlavně dopad změn na různé staré moduly, které se nemění. Je to nejdůležitější aspekt testování. Regresní testování lze provádět pomocí nástroje pro automatizované testování bez skriptů; v tomto není vyžadováno psaní dlouhých testovacích skriptů.

Regresní testování se provádí hlavně pomocí opakovaně použitelných testovacích případů, které jsou definovány jako metodologie opakovaného použití. Obecně zaznamenává a přehrává testovací případ. Testovací nástroj musí zajistit, že každá akce musí být řádně zaznamenána. Existují i ​​jiné způsoby, jak provádět regresní testování. Každá organizace nebo jednotlivec používá testování pouze podle požadavků projektu a rozpočtu klienta.

Doporučené články

Toto byl průvodce testem regrese. Zde jsme diskutovali o některých základních pojmech, technikách, nástrojích, typech, výhodách, nevýhodách. Další informace naleznete také v dalších navrhovaných článcích -

  1. Testování šedé skříňky
  2. Web Testing Application
  3. Testování tabulky rozhodnutí
  4. Co je testování jednotek

Kategorie: