types software testing
Jaké jsou různé typy testování softwaru?
My jako testeři jsme si vědomi různých typů testování softwaru, jako je funkční testování, nefunkční testování, testování automatizace, agilní testování a jejich podtypy atd.
Každý z nás by na své testovací cestě narazil na několik typů testování. Možná jsme některé slyšeli a na některých jsme mohli pracovat, ale ne každý má znalosti o všech typech testování.
Každý typ testování má také své vlastní vlastnosti, výhody a nevýhody. V tomto článku jsem se však zabýval většinou každým typem testování softwaru, který obvykle používáme v každodenním životě testování.
Pojďme se na ně podívat.
Co se naučíte:
- Různé typy testování softwaru
- # 1) Alfa testování
- # 2) Přijímací testování
- # 3) Ad-hoc testování
- # 4) Testování přístupnosti
- # 5) Beta testování
- # 6) Back-end testování
- # 7) Testování kompatibility prohlížeče
- # 8) Zpětné testování kompatibility
- # 9) Testování černé skříňky
- # 10) Testování hraničních hodnot
- # 11) Testování poboček
- # 12) Srovnávací testování
- # 13) Testování kompatibility
- # 14) Testování komponent
- # 15) End-to-End testování
- # 16) Rozdělení ekvivalence
- # 17) Příklad testování
- # 18) Průzkumné testování
- # 20) Funkční testování
- # 21) Testování grafického uživatelského rozhraní (GUI)
- # 22) Testování goril
- # 23) Testování šťastné cesty
- # 24) Přírůstkové testování integrace
- # 25) Testování instalace / odinstalování
- # 26) Testování integrace
- # 27) Testování zátěže
- # 28) Testování opic
- # 29) Testování mutací
- # 30) Negativní testování
- # 31) Nefunkční testování
- # 32) Testování výkonu
- # 33) Testování obnovy
- # 34) Regresní testování
- # 35) Testování na základě rizik (RBT)
- # 36) Testování zdravého rozumu
- # 37) Testování zabezpečení
- # 38) Testování kouře
- # 39) Statické testování
- # 40) Stresové testování
- # 41) Testování systému
- # 42) Testování jednotek
- # 43) Testování použitelnosti
- # 44) Testování zranitelnosti
- # 45) Testování hlasitosti
- # 46) Testování bílé skříňky
- Závěr
- Doporučené čtení
Různé typy testování softwaru
Níže je uveden seznam některých běžných typů testování softwaru:
Mezi typy funkčního testování patří:
- Testování jednotek
- Testování integrace
- Testování systému
- Test příčetnosti
- Testování kouře
- Testování rozhraní
- Regresní testování
- Beta / akceptační testování
Mezi nefunkční typy testování patří:
- Testování výkonu
- Testování zátěže
- Stresové testování
- Testování hlasitosti
- Testování zabezpečení
- Testování kompatibility
- Nainstalujte testování
- Testování obnovy
- Testování spolehlivosti
- Testování použitelnosti
- Testování shody
- Testování lokalizace
Podívejme se na další podrobnosti o těchto typech testování.
c ++ hloubka první hledání
# 1) Alfa testování
Jedná se o nejběžnější typ testování používaný v softwarovém průmyslu. Cílem tohoto testování je identifikovat všechny možné problémy nebo vady před jeho uvedením na trh nebo pro uživatele.
Alpha Testing se provádí na konci fáze vývoje softwaru, ale před beta testováním. Přesto mohou být provedeny drobné konstrukční změny v důsledku takového testování.
Alfa testování probíhá na webu vývojáře. Pro tento typ testování lze vytvořit interní virtuální uživatelské prostředí.
# 2) Přijímací testování
An Příjímací test provádí klient a ověřuje, zda tok systému od konce do konce odpovídá obchodním požadavkům, či nikoli, a zda odpovídá potřebám koncového uživatele. Zákazník přijímá software pouze v případě, že všechny funkce a funkce fungují podle očekávání.
Jedná se o poslední fázi testování, po které software přejde do výroby. Toto se také nazývá User Acceptance Testing (UAT).
# 3) Ad-hoc testování
Samotný název naznačuje, že se toto testování provádí na ad-hoc tj. bez odkazu na testovací případ a také bez jakéhokoli plánu nebo dokumentace zavedené pro tento typ testování.
Cílem tohoto testování je najít vady a rozbít aplikaci spuštěním jakéhokoli toku aplikace nebo jakékoli náhodné funkce.
Ad-hoc testování je neformální způsob hledání vad a může jej provádět kdokoli v projektu. Je obtížné identifikovat vady bez testovacího případu, ale někdy je možné, že vady zjištěné během testování ad-hoc nemusí být identifikovány pomocí existujících testovacích případů.
# 4) Testování přístupnosti
Cílem Testování přístupnosti je určit, zda je software nebo aplikace přístupná pro osoby se zdravotním postižením nebo ne.
Zde znamená postižení hluché, barvoslepé, mentálně postižené, nevidomé, stáří a další zdravotně postižené skupiny. Provádějí se různé kontroly, například velikost písma pro zrakově postižené, barva a kontrast pro barevnou slepotu atd.
# 5) Beta testování
Beta testování je formální typ testování softwaru, který provádí zákazník. Provádí se v skutečné prostředí před uvedením produktu na trh pro skutečné koncové uživatele.
Provádí se beta testování, aby se zajistilo, že nedojde k žádným závažným poruchám softwaru nebo produktu a že splňuje obchodní požadavky z pohledu koncového uživatele. Beta testování je úspěšné, když zákazník software přijme.
Toto testování obvykle provádějí koncoví uživatelé nebo ostatní. Jedná se o závěrečné testování provedené před vydáním aplikace pro komerční účely. Vydaná verze softwaru nebo produktu Beta je obvykle omezena na určitý počet uživatelů v konkrétní oblasti.
Koncový uživatel tedy software skutečně používá a sdílí zpětnou vazbu se společností. Společnost poté přijme nezbytná opatření před vydáním softwaru do celého světa.
# 6) Back-end testování
Kdykoli se vstup nebo data zadají do front-end aplikace, uloží se do databáze a testování takové databáze se nazývá Testování databáze nebo Testování back-endu.
Existují různé databáze, jako jsou SQL Server, MySQL a Oracle atd. Testování databáze zahrnuje testování struktury tabulky, schématu, uložené procedury, datové struktury atd.
V Back-end Testing GUI není zahrnuto, testeři jsou přímo připojeni k databázi se správným přístupem a testeři mohou snadno ověřit data spuštěním několika dotazů v databázi.
Během tohoto back-end testování mohou být identifikovány problémy, jako je ztráta dat, zablokování, poškození dat atd. A tyto problémy jsou kritické pro řešení dříve, než bude systém spuštěn do produkčního prostředí.
# 7) Testování kompatibility prohlížeče
Jedná se o podtyp testování kompatibility (který je vysvětlen níže) a provádí jej testovací tým.
Testování kompatibility prohlížeče se provádí pro webové aplikace a zajišťuje, že software může běžet s kombinací různých prohlížečů a operačních systémů. Tento typ testování také ověří, zda je webová aplikace spuštěna ve všech verzích všech prohlížečů či nikoli.
# 8) Zpětné testování kompatibility
Jedná se o typ testování, které ověřuje, zda nově vyvinutý nebo aktualizovaný software funguje dobře se starší verzí prostředí nebo ne.
Testování zpětné kompatibility kontroluje, zda nová verze softwaru funguje správně s formátem souboru vytvořeným starší verzí softwaru; funguje také dobře s datovými tabulkami, datovými soubory a datovou strukturou vytvořenou starší verzí tohoto softwaru.
Pokud je některý ze softwarů aktualizován, měl by dobře fungovat nad předchozí verzí tohoto softwaru.
# 9) Testování černé skříňky
U tohoto typu testování není zohledněn návrh interního systému. Testy jsou založeny na požadavcích a funkčnosti.
Podrobné informace o výhodách, nevýhodách a typy testování černé skříňky může být viděn tady .
# 10) Testování hraničních hodnot
Tento typ testování kontroluje chování aplikace na hranici.
Testování mezních hodnot se provádí pro kontrolu, zda na hraničních hodnotách existují vady. Testování hraniční hodnoty se používá k testování jiného rozsahu čísel. Pro každý rozsah existuje horní a dolní hranice a na těchto hraničních hodnotách se provádí testování.
Pokud testování vyžaduje testovací rozsah čísel od 1 do 500, pak se testování hraničních hodnot provádí na hodnotách 0, 1, 2, 499, 500 a 501.
# 11) Testování poboček
Jedná se o typ testování bílé skříňky a provádí se během testování jednotky. Samotné testování poboček naznačuje, že je kód důkladně testován procházením v každé pobočce.
# 12) Srovnávací testování
Porovnání silných a slabých stránek produktu s jeho předchozími verzemi nebo jinými podobnými produkty se nazývá srovnávací testování.
# 13) Testování kompatibility
Jedná se o testovací typ, při kterém se ověřuje, jak se software chová a běží v jiném prostředí, webových serverech, hardwaru a síťovém prostředí.
Testování kompatibility zajišťuje, že software může běžet v jiné konfiguraci, jiné databázi, různých prohlížečích a jejich verzích. Testování kompatibility provádí testovací tým.
# 14) Testování komponent
Většinou ji provádějí vývojáři po dokončení testování jednotky. Testování komponent zahrnuje testování více funkcí jako jediný kód a jeho cílem je zjistit, zda po propojení těchto více funkcí existuje nějaká vada.
# 15) End-to-End testování
Podobně jako testování systému, End-to-End testování zahrnuje testování kompletního aplikačního prostředí v situaci, která napodobuje použití v reálném světě, jako je například interakce s databází, používání síťové komunikace nebo interakce s jiným hardwarem, aplikacemi nebo systémy, pokud je to vhodné.
# 16) Rozdělení ekvivalence
Jedná se o testovací techniku a typ testování Black Box. Během toho Rozdělení ekvivalence , je vybrána sada skupiny a je vybráno několik hodnot nebo čísel pro testování. Rozumí se, že všechny hodnoty z této skupiny generují stejný výstup.
Cílem tohoto testování je odstranit nadbytečné testovací případy v rámci konkrétní skupiny, která generuje stejný výstup, ale nikoli žádnou závadu.
Předpokládejme, že aplikace přijímá hodnoty mezi -10 až +10, takže při použití rozdělení ekvivalence jsou hodnoty vyzvednuté pro testování nulové, jedna kladná hodnota, jedna záporná hodnota. Takže rozdělení ekvivalence pro toto testování je -10 až -1, 0 a 1 až 10.
# 17) Příklad testování
Znamená to testování v reálném čase. Příklad testování zahrnuje scénář v reálném čase, zahrnuje také scénáře založené na zkušenostech testerů.
# 18) Průzkumné testování
Průzkumné testování je neformální testování prováděné testovacím týmem. Cílem tohoto testování je prozkoumat aplikaci a hledat vady, které v aplikaci existují.
Někdy se může stát, že během tohoto testování může odhalená velká chyba dokonce způsobit selhání systému.
Během průzkumného testování je vhodné sledovat, jaký tok jste testovali a jakou aktivitu jste provedli před začátkem konkrétního toku.
Technika průzkumného testování se provádí bez dokumentace a testovacích případů.
# 20) Funkční testování
Tento typ testování ignoruje vnitřní části a zaměřuje se pouze na výstup, aby zkontroloval, zda je podle požadavku nebo ne. Jedná se o testování typu Black-box zaměřené na funkční požadavky aplikace. Podrobné informace o funkčním testování zobrazíte kliknutím tady .
# 21) Testování grafického uživatelského rozhraní (GUI)
Cílem tohoto testování GUI je ověřit GUI podle obchodních požadavků. Očekávané grafické uživatelské rozhraní aplikace je uvedeno na obrazovkách Podrobný dokument návrhu a na grafických uživatelských rozhraních.
Testování GUI zahrnuje velikost tlačítek a vstupního pole na obrazovce, zarovnání veškerého textu, tabulek a obsahu v tabulkách.
Také ověří nabídku aplikace, po výběru jiné nabídky a položek nabídky ověří, že stránka nekolísá a zarovnání zůstane stejné i po najetí myší na nabídku nebo podnabídku.
# 22) Testování goril
Gorilla Testing je typ testování prováděný testerem a někdy i vývojářem. V Gorilla Testing je jeden modul nebo funkčnost v modulu testována důkladně a důkladně. Cílem tohoto testování je zkontrolovat robustnost aplikace.
# 23) Testování šťastné cesty
Cílem Happy Path Testing je úspěšně otestovat aplikaci na pozitivním toku. Nehledá negativní nebo chybové podmínky. Důraz je kladen pouze na platné a pozitivní vstupy, kterými aplikace generuje očekávaný výstup.
# 24) Přírůstkové testování integrace
Inkrementální testování integrace je přístup zdola nahoru pro testování, tj. průběžné testování aplikace při přidání nové funkce. Funkčnost aplikace a moduly by měly být dostatečně nezávislé na samostatné testování. To provádějí programátoři nebo testeři.
# 25) Testování instalace / odinstalování
Testování instalace a odinstalace se provádí na úplném, částečném nebo upgradovacím procesu instalace / odinstalování v různých operačních systémech v jiném hardwarovém nebo softwarovém prostředí.
# 26) Testování integrace
Testování všech integrovaných modulů k ověření kombinované funkčnosti po integraci se označuje jako Testování integrace .
Moduly jsou obvykle kódové moduly, jednotlivé aplikace, klientské a serverové aplikace v síti atd. Tento typ testování je obzvláště relevantní pro klient / server a distribuované systémy.
# 27) Testování zátěže
Jedná se o typ nefunkčního testování a cílem testování zátěže je zkontrolovat, kolik zátěže nebo maximální pracovní zátěž zvládne systém bez jakéhokoli snížení výkonu.
Testování zátěže pomáhá najít maximální kapacitu systému při konkrétním zatížení a jakékoli problémy, které způsobují zhoršení výkonu softwaru. Zátěžové testování se provádí pomocí nástrojů jako JMeter , LoadRunner, WebLoad, Silk performer atd.
# 28) Testování opic
Testování opic provádí tester za předpokladu, že pokud opice používá aplikaci, pak jak náhodný vstup, bude opice zadávat hodnoty bez jakékoli znalosti nebo porozumění aplikaci.
Cílem Monkey Testing je zkontrolovat, zda nedojde k selhání aplikace nebo systému poskytnutím náhodných vstupních hodnot / dat. Testování opic je prováděno náhodně a nejsou skriptovány žádné testovací případy, což není nutné
Testování opic je prováděno náhodně a nejsou skriptovány žádné testovací případy a není nutné znát plnou funkčnost systému.
# 29) Testování mutací
Testování mutací je typ testování bílé skříňky, ve kterém je změněn zdrojový kód jednoho z programů a ověřuje, zda stávající testovací případy dokážou tyto vady systému identifikovat.
Změna zdrojového kódu programu je velmi minimální, takže nemá dopad na celou aplikaci, pouze tyto konkrétní oblasti s dopadem a související testovací případy by měly být schopny tyto chyby v systému identifikovat.
# 30) Negativní testování
Testeři, kteří mají na mysli „přístup k prolomení“ a pomocí negativního testování to ověřují, pokud dojde k přerušení systému nebo aplikace. Technika negativního testování se provádí pomocí nesprávných údajů, neplatných údajů nebo vstupu. Ověřuje, že pokud systém vyvolá chybu neplatného vstupu a chová se podle očekávání.
# 31) Nefunkční testování
Jedná se o typ testování, pro které každá organizace má samostatný tým, který se obvykle nazývá tým nefunkčních testů (NFT) nebo výkonnostní tým.
Nefunkční testování zahrnuje testování nefunkčních požadavků, jako je zátěžové testování, zátěžové testování, zabezpečení, objem, testování obnovy atd. Cílem testování NFT je zajistit, aby doba odezvy softwaru nebo aplikace byla dostatečně rychlá podle obchodních požadavků.
Načtení jakékoli stránky nebo systému by nemělo trvat dlouho a mělo by se udržovat během špičkového načítání.
# 32) Testování výkonu
Tento termín se často zaměňuje s „zátěžovým“ a „zátěžovým“ testováním. Testování výkonu provádí se kontrola, zda systém splňuje výkonnostní požadavky. K tomuto testování se používají různé nástroje pro výkon a načítání.
# 33) Testování obnovy
Jedná se o typ testování, které ověřuje, jak dobře se aplikace nebo systém zotavuje z havárií nebo katastrof.
Testování obnovy určuje, zda je systém schopen po katastrofě pokračovat v provozu. Předpokládejme, že aplikace přijímá data prostřednictvím síťového kabelu a najednou byl síťový kabel odpojen.
O něco později připojte síťový kabel; systém by pak měl začít přijímat data z místa, kde ztratil připojení kvůli odpojenému síťovému kabelu.
# 34) Regresní testování
Testování aplikace jako celku pro modifikaci v jakémkoli modulu nebo funkčnosti se nazývá regresní testování. Je obtížné pokrýt celý systém Regresní testování , tak typicky Nástroje pro automatizaci testování se používají pro tyto typy testování.
# 35) Testování na základě rizik (RBT)
v Testování na základě rizik , funkce nebo požadavky jsou testovány na základě jejich priority. Testování na základě rizik zahrnuje testování vysoce kritických funkcí, které mají největší dopad na podnikání a ve kterých je velmi vysoká pravděpodobnost selhání.
Rozhodnutí o prioritě je založeno na obchodní potřebě, takže jakmile je nastavena priorita pro všechny funkce, jsou nejprve provedeny funkce s vysokou prioritou nebo testovací případy a poté funkce se střední a poté nízkou prioritou.
Funkčnost s nízkou prioritou může být testována nebo netestována na základě dostupného času.
Testování na základě rizik se provádí, pokud není k dispozici dostatek času na otestování celého softwaru a je třeba bez prodlení implementovat software včas. Na tento přístup navazuje pouze diskuse a souhlas klienta a vrcholového vedení organizace.
# 36) Testování zdravého rozumu
Test příčetnosti provádí se k určení, zda nová verze softwaru funguje dostatečně dobře, aby ji přijala pro velké testovací úsilí nebo ne. Pokud se aplikace při prvním použití zhroutí, systém není dostatečně stabilní pro další testování. Proto je sestavení nebo aplikace přiřazena k jeho opravě.
# 37) Testování zabezpečení
Jedná se o typ testování prováděného speciálním týmem testerů. Do systému lze proniknout jakýmkoli způsobem hackerství.
Testování zabezpečení provádí se kontrola toho, jak je software, aplikace nebo web zabezpečen před interními a externími hrozbami. Toto testování zahrnuje, kolik softwaru je zabezpečeno před škodlivým programem, viry a jak bezpečné a silné jsou procesy autorizace a ověřování.
Rovněž kontroluje, jak se software chová při jakémkoli útoku hackerů a škodlivých programech, a jak je software po takovém útoku hackerů udržován pro zabezpečení dat.
# 38) Testování kouře
Kdykoli vývojový tým poskytne nové sestavení, tým testování softwaru ověří sestavení a zajistí, že nebude existovat žádný zásadní problém.
Testovací tým zajišťuje, že sestavení je stabilní a podrobná úroveň testování se provádí dále. Testování kouře zkontroluje, zda v sestavení neexistuje závada zastávky, což testovacímu týmu zabrání podrobně otestovat aplikaci.
Pokud testeři zjistí, že hlavní kritické funkce jsou porouchány v počáteční fázi samotné, může testovací tým sestavení odmítnout a informovat o tom odpovídajícím způsobem vývojový tým. Testování kouře se provádí na podrobné úrovni jakéhokoli funkčního nebo regresního testování.
# 39) Statické testování
Statické testování je typ testování, které se provádí bez jakéhokoli kódu. Provádění se provádí na dokumentaci během fáze testování.
Zahrnuje kontroly, návody a inspekci výstupů projektu. Statické testování nespustí kód místo syntaxe kódu, zkontrolují se konvence pojmenování.
Statické testování je také použitelné pro testovací případy, plán zkoušek, návrhový dokument. Je nutné provést statické testování testovacím týmem, protože vady zjištěné během tohoto typu testování jsou z hlediska projektu nákladově efektivní.
# 40) Stresové testování
Toto testování se provádí, když je systém namáhán nad rámec svých specifikací, aby bylo možné zkontrolovat, jak a kdy selže. To se provádí při velkém zatížení, jako je uvedení velkého počtu nad kapacitu úložiště, složité databázové dotazy, nepřetržitý vstup do systému nebo načítání databáze.
# 41) Testování systému
Pod Technika testování systému , je celý systém testován podle požadavků. Jedná se o testování typu Black-box, které je založeno na specifikacích celkových požadavků a pokrývá všechny kombinované části systému.
# 42) Testování jednotek
Testování jednotlivých softwarových komponent nebo modulů se označuje jako Testování jednotek . Obvykle to provádí programátor, nikoli testeři, protože to vyžaduje podrobné znalosti vnitřního designu programu a kódu. Může také vyžadovat vývoj modulů testovacího ovladače nebo testovacích kabelových svazků.
# 43) Testování použitelnosti
Pod Testování použitelnosti „Je provedena kontrola přívětivosti uživatele. Tok aplikace se testuje, aby se zjistilo, zda nový uživatel aplikaci snadno rozumí nebo ne. Správná pomoc je zdokumentována, pokud se uživatel v jakémkoli okamžiku zasekne. Při tomto testování je v zásadě kontrolována navigace v systému.
# 44) Testování zranitelnosti
Testování, které zahrnuje identifikaci slabosti softwaru, hardwaru a sítě, se nazývá testování zranitelnosti. Škodlivý program může hacker převzít kontrolu nad systémem, pokud je zranitelný vůči takovým druhům útoků, virů a červů.
Je tedy nutné před výrobou zkontrolovat, zda tyto systémy procházejí testem zranitelnosti. Může identifikovat kritické vady a nedostatky v zabezpečení.
# 45) Testování hlasitosti
Testování hlasitosti je typ nefunkčního testování prováděného týmem pro testování výkonu.
Software nebo aplikace prochází velkým množstvím dat a Testování hlasitosti kontroluje chování systému a dobu odezvy aplikace, když systém narazil na tak vysoký objem dat. Tento vysoký objem dat může ovlivnit výkon systému a rychlost doby zpracování.
# 46) Testování bílé skříňky
Testování bílé skříňky je založen na znalostech o vnitřní logice kódu aplikace.
To je také známé jako Glass box Testing. Pro provádění tohoto typu testování by mělo být známé fungování interního softwaru a kódu. V rámci těchto testů jsou založeny na pokrytí příkazů kódu, větví, cest, podmínek atd.
Závěr
Výše uvedené typy testování softwaru jsou jen částí testování. Stále však existuje seznam více než 100 typů testování, ale všechny typy testování se nepoužívají ve všech typech projektů. Pokryl jsem tedy několik běžných typů testování softwaru, které se většinou používají v životním cyklu testování.
Existují také alternativní definice nebo procesy používané v různých organizacích, ale základní koncept je všude stejný. Tyto typy testování, procesy a jejich implementační metody se neustále mění podle toho, jak se mění projekt, požadavky a rozsah.
Doporučené čtení
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Alfa testování a beta testování (kompletní průvodce)
- Úloha pomocníka QA při testování softwaru
- Kurz testování softwaru: Ke kterému institutu pro testování softwaru bych se měl připojit?
- Výběr testování softwaru jako vaší kariéry
- Práce na volné noze se softwarem pro testování technického obsahu Writer
- Druhy rizik v softwarových projektech
- Nejlepší služby testování softwaru QA od SoftwareTestingHelp