Kompletní průvodce regresním testováním: Vše, co potřebujete vědět



Tento článek vám pomůže získat podrobné informace o regresním testování a vysvětlí, proč je důležité začlenit regresní testování do testování.

Kdykoli je vydán nový software, je zřejmé, že je třeba otestovat novou funkčnost. Je však stejně důležité znovu spustit staré testy, které aplikace dříve prošla. Tímto způsobem si můžeme být jisti, že nový software znovu nezavádí staré vady ani nevytváří nové v softwaru. Tento typ testování nazýváme jako regresní testování. V celém tomto článku budeme zkoumat regresní testovánípodrobně. Pokud s testováním softwaru začínáte, přečtěte si také .

Pojďme se podívat na témata z tohoto článku:





Co je regresní testování?

„Testování dříve testovaného programu po úpravě, aby se zajistilo, že vady provedené změny nebyly zavedeny nebo odkryty v nezměněných oblastech softwaru, se v důsledku provedených změn nazývá Regression Testing.“

Regresní test je celosystémový test, jehož hlavním účelem je zajistit, aby malá změna v jedné části systému neporušila stávající funkčnost jinde v systému. Pokud považujete regresi za nechtěnou změnu, pak je tento typ testování procesem hledání těchto změn. Jednoduše řečeno, je to všechno o tom, jak zajistit, aby se staré chyby nevracely, aby vás pronásledovaly. Pojďmepodívejte se na fiktivní příklad, který tento koncept ilustruje.



Regresní testováníEx - Co je to regresní testování - Edureka

Když přidáváte nový typ platby na web v Nákupech, znovu spusťte staré testy, abyste se ujistili, že nový kód nevytvořil nové vady nebo znovu nezavedl staré.Regresní testování je důležité, protože bez něj je docela možné zavést zamýšlené opravy do systému, který vytváří více problémů, než řeší.

Výhody regresního testování

Provádění regresních testůpřináší společnosti výhody mnoha způsoby, například:



  • Zvyšuje pravděpodobnost detekce chyb způsobených změnami softwaru a aplikace
  • Může pomoci včas zachytit vady a snížit tak náklady na jejich vyřešení
  • Pomáhá při výzkumu nežádoucích vedlejších účinků, ke kterým mohlo dojít v důsledku nového operačního prostředí
  • Zajišťuje výkonnější software díky včasné identifikaci chyb a chyb
  • Nejdůležitější je, že ověří, že změny kódu nezavádějí znovu staré vady

Regresní testování zajišťuje správnost softwaru tak, aby byla na trh uvedena nejlepší verze produktu. Ve skutečném světě však navrhování a udržování téměř nekonečné sady regresních testů není možné. Měli byste tedy vědět, kdy použít regresní testování.

Kdy použít regresní testování?

Doporučuje se provést regresní testování při výskytu následujících událostí:

mysql_fetch_array
    • Když jsou přidány nové funkce
    • V případě požadavků na změnu
    • Pokud došlo k odstranění závady
    • Když jsou problémy s výkonem
    • V případě změn prostředí
    • Když je oprava opravy

Další část tohoto článku je o různých typech regresního testování.

Jaké jsou typy regresního testování?

Regresní testování se provádí v několika fázích testování. Z tohoto důvodu existuje několik typů regresního testování. Některé z nich jsou následující:

Testování jednotky: Při testování jednotky, když se provedou změny kódování pro jednu jednotku, tester, obvykle vývojář odpovědný za kód, znovu spustí všechny dříve předané testy jednotky. v prostředí jsou do kódu zabudovány automatizované testy jednotek, díky nimž je testování jednotek velmi efektivní ve srovnání s jinými typy testování.

Progresivní testování: Tento typ testování funguje efektivně, když jsou provedeny změny ve specifikacích softwaru / aplikace i nové jsou navrženy.

Selektivní testování: Při selektivním testování používají testeři podmnožinu současných testovacích případů ke snížení nákladů a úsilí na opakované testování. Testovací jednotka musí být znovu spuštěna, pouze pokud byla změněna některá z programových entit, které pokrývá.

Opakované testování všeho: Tento typ testovací strategie zahrnuje testování všech aspektů konkrétní aplikace a opětovné použití všech testovacích případů, i když změny nebyly provedeny. Je to časově náročné a není příliš užitečné, když je v aplikaci provedena nějaká malá změna nebo změna.

Kompletní testování: Toto testování je velmi užitečné, když bylo v existujícím kódu provedeno více změn. Provedení tohoto testování je velmi cenné pro identifikaci neočekávaných chyb. Po dokončení tohoto testování může být finální systém zpřístupněn uživateli.

Je velmi důležité vědět, který typ testování vyhovuje vašim požadavkům. Dále budeme diskutovat o tom, jak je implementováno regresní testování.

Jak se provádí regresní testování?

Postup implementace regresního testování je stejný jako ten, který použijete pro jakýkoli jiný testovací proces. Pokaždé, když software projde změnou a přijde nová verze, provede vývojář v rámci procesu testování tyto kroky:

  • Nejprve provede regresní testy na úrovni jednotek, aby ověřil kód, který změnili, spolu s novými testy, které napsali, aby pokryli nové nebo změněné funkce.
  • Poté je změněný kód sloučen a integrován, aby se vytvořilo nové sestavení testované aplikace (AUT).
  • Dále se provedou kouřové testy, které zajistí, že sestavení je dobré, než se provede jakékoli další testování
  • Jakmile je sestavení prohlášeno za dobré, provádějí se integrační testy k ověření interakce mezi jednotkami aplikace navzájem a se službami typu back-end, jako jsou databáze
  • V závislosti na velikosti a rozsahu vydaného kódu je naplánována částečná nebo úplná regrese
  • Vady jsou poté hlášeny zpět vývojovému týmu
  • V případě potřeby se provádějí další kola regresních testů

Takto je regresní testování začleněno do typického procesu testování softwaru. Obrázek níže jasně ukazuje, jak regresní testování probíhalo.

Kdykoli se ve zdrojovém kódu provedou nějaké změny, spuštění programu ze zřejmých důvodů selže. Po selhání je zdrojový kód laděn, aby bylo možné identifikovat chyby v programu. Jsou provedeny příslušné úpravy. Poté jsou vybrány příslušné testovací případy z již existující testovací sady, která pokrývá všechny upravené a ovlivněné části zdrojového kódu. V případě potřeby jsou přidány nové testovací případy. Nakonec se testování provede pomocí vybraných testovacích případů. Možná vás zajímá, které testovací případy zvolit.

Testy efektivní regrese lze provést výběrem následujících testovacích případů:

  • Testovací případy, které mají časté vady
  • Složité testovací případy
  • Testovací případy integrace
  • Testovací případy, které pokrývají základní funkce produktu
  • Často používané funkce
  • Testujte vázy, které často selhávají
  • Testovací případy hraniční hodnoty

S procesem regresního testování, který je mimo cestu, se podívejme na různé techniky.

Techniky regresního testování

Regresní testování jednoduše potvrzuje, že upravený software se neúmyslně nezměnil a obvykle se provádí pomocí jakékoli kombinace následujících technik:

Znovu otestovat vše: Tato metoda jednoduše znovu testuje celou softwarovou sadu, shora dolů. V mnoha případech je většina těchto testů prováděna automatizovanými nástroji. Automatizace někdy není nutná. Tato technika je drahá, protože ve srovnání s ostatními technikami vyžaduje více času a prostředků.

Výběr testu: Namísto výběru všech testovacích případů tato metoda umožňuje týmu zvolit sadu testů, které budou aproximovat úplné testování testovací sady. Hlavní výhodou této praxe je, že vyžaduje mnohem méně času a úsilí k provedení. Obvykle to provádějí vývojáři, kteří budou mít obvykle lepší přehled o nuancích testovacích okrajových případů a neočekávaného chování.

použití iterátoru v Javě

Stanovení priorit testovacího případu: Cílem této techniky je upřednostnit omezenou sadu testovacích případů zvážením více potenciálních testovacích případů před méně důležitými. Jsou vybrány testovací případy, které by mohly ovlivnit současné i budoucí verze softwaru.

Jedná se o tři hlavní techniky. Tyto techniky se občas kombinují na základě požadavků na testování.

Jak užitečné může být regresní testování, není bez negativních bodů. Musíte porozumět výzvám, kterým můžete při jeho implementaci čelit.

Výzvy regresního testování

  1. Časově náročné: Techniky, jako je opakované testování, vyžadují spoustu času na otestování celé sady testovacích případů
  2. Drahý: Nákladné kvůli zdrojům a pracovní síle, které musíte opakovaně testovat, něco, co již bylo vyvinuto, otestováno a nasazeno v raných fázích
  3. Komplex: Jak se produkt rozšiřuje, testeři jsou často ohromeni obrovským množstvím testovacích případů a stávají se oběťmi ztráty přehledu testovacích případů, s ohledem na důležité testovací případy

Navzdory těmto negativním bodům je regresní testování v procesu testování softwaru velmi užitečné. Pomocí regresního testování mohou společnosti zabránit tomu, aby projekty překročily rozpočet, udržovaly svůj tým na správné cestě, a co je nejdůležitější, zabránit neočekávaným chybám v poškození jejich produktů. Tím jsme se dostali na konec blogu. Doufám, že věci, které jste se zde dnes naučili, vám pomohou, když vyrazíte na cestu testování softwaru.

Pokud jste to našli relevantní článek, podívejte se na live-online Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto ‚ Co je regresní testování? „Článek a my se vám ozveme.