logo

Typy testování softwaru

Vítejte ve světě testování softwaru , která zajišťuje kvalitu a spolehlivost softwarových aplikací . Pochopení různých typů testování softwaru je nezbytné pro vývojáře i profesionály v oblasti zajišťování kvality.

V této příručce prozkoumáme základní kategorie testování softwaru, od testování jednotek po testování zabezpečení, což vám pomůže orientovat se a zajistí, že váš software bude splňovat nejvyšší standardy výkonu a funkčnosti.



Obsah

Principy testování softwaru

  • Všechny testy by měly splňovat požadavky zákazníka.
  • Aby naše testování softwaru mělo být prováděno třetí stranou.
  • Vyčerpávající testování není možné. Protože potřebujeme optimální množství testování na základě posouzení rizik aplikace.
  • Všechny testy, které mají být provedeny, by měly být naplánovány před jeho implementací
  • Řídí se Paretovým pravidlem (pravidlo 80/20), které říká, že 80 % chyb pochází z 20 % součástí programu.
  • Začněte testovat s malými díly a rozšiřte jej na velké díly.
  • Typy testování
Typy testování softwaru

Typy testování softwaru

Různé typy testování softwaru

  1. Ruční testování
  2. Testování automatizace

1. Ruční testování

Ruční testování je technika testování softwaru, která se provádí pomocí funkcí a vlastností aplikace. Při ručním testování softwaru tester provádí testy softwaru podle sady předdefinovaných testovacích případů. Při tomto testování testeři vytvoří testovací případy pro kódy, otestují software a podají konečnou zprávu o tomto softwaru. Manuální testování je časově náročné, protože je provádí lidé a existuje možnost lidských chyb.



Výhody ručního testování

  • Rychlá a přesná vizuální zpětná vazba: Detekuje téměř každou chybu v softwarové aplikaci a používá se k testování dynamicky se měnících návrhů GUI, jako je rozvržení, text atd.
  • Levnější: Je to levnější, protože nevyžaduje žádné dovednosti na vysoké úrovni nebo specifický typ nástroje.
  • Není vyžadováno žádné kódování: Při použití metody testování černé skříňky nejsou vyžadovány žádné znalosti programování. Pro nové testery je snadné se naučit.
  • Efektivní pro neplánované změny: Manuální testování je vhodné v případě neplánovaných změn v aplikaci, protože jej lze snadno přijmout.

2. Testování automatizace

Automatizované testování je technika, kdy tester píše skripty sám a používá vhodný software nebo automatizační nástroj k testování softwaru. Je to automatizační proces ručního procesu. Umožňuje provádět opakované úkoly bez zásahu ručního testeru.

myflixr

Výhody automatického testování:

  • Zjednodušuje provedení testovacího případu: Automatizované testování lze ponechat prakticky bez dozoru a umožňuje tak sledování výsledků na konci procesu. Tedy zjednodušení celkového provádění testu a zvýšení efektivity aplikace.
  • Zlepšuje spolehlivost testů: Automatizované testování zajišťuje stejné zaměření na všechny oblasti testování a zajišťuje tak nejvyšší kvalitu konečného produktu.
  • Zvyšuje rozsah pokrytí testem: Pomocí automatizačního testování lze pro testovanou aplikaci vytvořit a spustit více testovacích případů. Výsledkem je vyšší pokrytí testů a odhalení více chyb. To umožňuje testování složitějších aplikací a lze testovat více funkcí.
  • Minimalizace lidské interakce: Při testování automatizace je vše automatizováno od vytvoření testovacího případu až po provedení, takže nedochází k žádným změnám kvůli lidské chybě v důsledku zanedbání. To snižuje nutnost opravy závad ve fázi po vydání.

Typy ručního testování

  1. Testování bílé krabičky
  2. Testování černé skříňky
  3. Testování šedé krabice

1. Testování bílé krabičky

Testování v bílé krabici techniky analyzují vnitřní struktury, použité datové struktury, vnitřní design, strukturu kódu a fungování softwaru, spíše než jen funkčnost jako při testování černé skříňky. Nazývá se také testování skleněného boxu testování průhledného boxu nebo strukturální testování. White Box Testing je také známý jako transparentní testování nebo open box testování.

White box testování je technika testování softwaru, která zahrnuje testování vnitřní struktury a fungování softwarové aplikace. Tester má přístup ke zdrojovému kódu a tyto znalosti využívá k návrhu testovacích případů, které mohou ověřit správnost softwaru na úrovni kódu.



Výhody testování bílého boxu:

  • Důkladné testování : Testování bílého pole je důkladné, protože je testován celý kód a struktury.
  • Optimalizace kódu: Výsledkem je optimalizace kódu, odstranění chyb a pomáhá při odstraňování dalších řádků kódu.
  • Včasné odhalení závad: Může začít v dřívější fázi, protože nevyžaduje žádné rozhraní jako v případě testování černé skříňky.
  • Integrace s SDLC: Testování bílé skříňky lze snadno spustit v životním cyklu vývoje softwaru.
  • Detekce komplexních vad: Testeři mohou identifikovat vady, které nelze odhalit jinými testovacími technikami.

2. Testování černé skříňky

Black-box testování je typ testování softwaru, ve kterém se tester nezajímá o interní znalosti nebo detaily implementace softwaru, ale spíše se zaměřuje na ověřování funkčnosti na základě poskytnutých specifikací nebo požadavků.

Výhody testování Black Box:

  • Tester nemusí mít více funkčních znalostí nebo programátorských dovedností k implementaci Black Box Testing.
  • Je efektivní pro implementaci testů ve větším systému.
  • Testy se provádějí z pohledu uživatele nebo klienta.
  • Testovací případy jsou snadno reprodukovatelné.
  • Používá se k nalezení nejednoznačnosti a rozporů ve funkčních specifikacích.

3. Testování šedé krabice

Testování šedé krabice je technika testování softwaru, která je kombinací Testování černé skříňky technika a Testování bílé krabičky technika.

  1. U techniky Black Box Testing si tester není vědom vnitřní struktury testovaného předmětu a u White Box Testing je vnitřní struktura testerovi známá.
  2. Vnitřní struktura je částečně známá při testování Gray Box.
  3. To zahrnuje přístup k interním datovým strukturám a algoritmům pro návrh testovacích případů.

Výhody testování Gray Box:

  1. Jasnost cílů: Uživatelé a vývojáři mají při testování jasné cíle.
  2. Provedeno z pohledu uživatele: Testování šedé krabice se většinou provádí z pohledu uživatele.
  3. Nejsou vyžadovány vysoké programátorské znalosti: Testeři pro toto testování nemusí mít vysoké programátorské dovednosti.
  4. Nerušivé: Testování šedé krabice není rušivé.
  5. Vylepšená kvalita produktu: Celková kvalita produktu se zlepšuje.

Typy testování černé skříňky

  1. Funkční testování
  2. Nefunkční testování

1. Funkční testování

Funkční testování je typ testování softwaru, při kterém je systém testován podle funkčních požadavků a specifikací. Funkční testování zajišťuje, že aplikace řádně splňuje požadavky nebo specifikace. Tento typ testování se týká zejména výsledku zpracování. Zaměřuje se na simulaci skutečného využití systému, ale nerozvíjí žádné předpoklady struktury systému. Článek se zaměřuje na diskusi o testování funkcí.

Výhody funkčního testování

  • Produkt bez chyb: Funkční testování zajišťuje dodání bezchybného a vysoce kvalitního produktu.
  • Spokojenost zákazníků: Zajišťuje splnění všech požadavků a zajišťuje spokojenost zákazníka.
  • Testování zaměřené na specifikace: Funkční testování je zaměřeno na specifikace dle použití zákazníka.
  • Správné fungování aplikace: Tím je zajištěno, že aplikace funguje podle očekávání a zajišťuje správné fungování všech funkcí aplikace.
  • Zlepšuje kvalitu produktu: Funkční testování zajišťuje bezpečnost a bezpečnost produktu a zlepšuje kvalitu produktu.

2. Nefunkční testování

Nefunkční testování je druh Testování softwaru která se provádí za účelem ověření nefunkčních požadavků aplikace. Ověřuje, zda chování systému odpovídá požadavkům či nikoliv. Testuje všechny aspekty, které nejsou testovány ve funkčním testování. Nefunkční testování je technika testování softwaru, která kontroluje nefunkční atributy systému. Nefunkční testování je definováno jako typ testování softwaru ke kontrole nefunkčních aspektů softwarové aplikace. Je navržen tak, aby testoval připravenost systému podle nefunkčních parametrů, které nejsou nikdy řešeny funkčním testováním. Nefunkční testování je stejně důležité jako funkční testování.

Výhody nefunkčního testování

  • Zlepšený výkon: Nefunkční testování kontroluje výkon systému a určuje úzká místa výkonu, která mohou výkon ovlivnit.
  • Méně časově náročné: Nefunkční testování je celkově méně časově náročné než ostatní testovací proces.
  • Zlepšuje uživatelskou zkušenost: Nefunkční testování, jako je testování použitelnosti, kontroluje, jak snadno použitelný a uživatelsky přívětivý je software pro uživatele. Zaměřte se tedy na zlepšení celkové uživatelské zkušenosti s aplikací.
  • Bezpečnější produkt: Jako nefunkční testování konkrétně zahrnuje bezpečnostní testování, které prověřuje bezpečnostní úzká místa aplikace a jak je aplikace zabezpečena proti útokům z interních a externích zdrojů.

Typy funkčního testování

  1. Testování jednotek
  2. Integrační testování
  3. Testování systému

1. Testování jednotek

Testování jednotek je metoda testování jednotlivých jednotek nebo součástí softwarové aplikace. Obvykle ji provádějí vývojáři a používá se k zajištění toho, aby jednotlivé jednotky softwaru fungovaly tak, jak bylo zamýšleno. Unit testy jsou obvykle automatizované a jsou navrženy tak, aby testovaly specifické části kódu, jako je konkrétní funkce nebo metoda. Testování jednotek se provádí na nejnižší úrovni proces vývoje softwaru , kde jsou jednotlivé jednotky kódu testovány izolovaně.

Výhody testování jednotek:

Některé z výhod Unit Testingu jsou uvedeny níže.

  • Pomáhá odhalit chyby v rané fázi vývojového procesu, než bude obtížnější a nákladnější opravit.
  • Pomáhá zajistit, aby změny kódu nepřinášely nové chyby.
  • Díky tomu je kód modulárnější a snáze pochopitelný a udržovatelný.
  • Pomáhá zlepšit celkovou kvalitu a spolehlivost softwaru.

Poznámka: Některé populární rámce a nástroje, které se používají pro testování jednotek, zahrnují JUnit , NUjednotka, a xUnit.

  • Je důležité mít na paměti, že Unit Testing je pouze jedním aspektem testování softwaru a měl by být používán v kombinaci s jinými typy testování, jako je integrační testování, funkční testování a akceptační testování, aby bylo zajištěno, že software splňuje potřeby svých uživatelů. .
  • Zaměřuje se na nejmenší jednotku návrhu softwaru. V tomto testujeme jednotlivou jednotku nebo skupinu vzájemně souvisejících jednotek. Programátor to často provádí pomocí vzorového vstupu a sledováním jeho odpovídajících výstupů.

Příklad:

  1. V programu kontrolujeme, zda smyčka, metoda nebo funkce funguje správně.
  2. Špatně pochopená nebo nesprávná aritmetická priorita.
  3. Nesprávná inicializace.

2. Integrační testování

Integrační testování je metoda testování vzájemné interakce různých jednotek nebo součástí softwarové aplikace. Používá se k identifikaci a řešení jakýchkoli problémů, které mohou nastat při kombinaci různých jednotek softwaru. Integrační testování se obvykle provádí po testování jednotky a před funkčním testováním a používá se k ověření, že různé jednotky softwaru spolupracují tak, jak bylo zamýšleno.

Různé způsoby provádění integračního testování:

Různé způsoby integračního testování jsou diskutovány níže.

  • Testování integrace shora dolů: Začíná s moduly nejvyšší úrovně a odlišuje je od modulů nižší úrovně.
  • Testování integrace zdola nahoru: Začíná s moduly nejnižší úrovně a integruje je s moduly vyšší úrovně.
  • Testování integrace Big-Bang: Kombinuje všechny moduly a integruje je všechny najednou.
  • Testování přírůstkové integrace: Integruje moduly do malých skupin, přičemž každou skupinu testuje při přidávání.

Výhody integračního testování

  • Pomáhá identifikovat a řešit problémy, které mohou nastat při kombinaci různých jednotek softwaru.
  • Pomáhá zajistit, aby různé jednotky softwaru spolupracovaly tak, jak bylo zamýšleno.
  • Pomáhá zlepšit celkovou spolehlivost a stabilitu softwaru.
  • Je důležité mít na paměti, že integrační testování je nezbytné pro komplexní systémy, kde jsou integrovány různé komponenty.
  • Stejně jako u testování jednotek je testování integrace pouze jedním aspektem testování softwaru a mělo by být používáno v kombinaci s jinými typy testování, jako je testování jednotek, funkční testování a akceptační testování, aby bylo zajištěno, že software splňuje potřeby svých uživatelů.

The objektivní je vzít jednotkově testované komponenty a vytvořit strukturu programu, která byla diktována designem. Integrační testování je testování, ve kterém je skupina komponent kombinována za účelem produkce výstupu.

Integrační testování je čtyř typů: (i) shora dolů (ii) zdola nahoru (iii) sendvičové (iv) Big-Bang

Příklad:

  1. Testování černé skříňky: Používá se pro validaci. V tomto ignorujeme vnitřní pracovní mechanismy a soustředíme se na to, co je výstupem?
  2. Testování bílé krabičky: Slouží k ověření. V tomto se zaměřujeme na vnitřní mechanismy, tj. jak je dosaženo výstupu.

3. Testování systému

Systémové testování je typ testování softwaru, který hodnotí celkovou funkčnost a výkon kompletního a plně integrovaného softwarového řešení. Testuje, zda systém splňuje stanovené požadavky a zda je vhodný pro dodání koncovým uživatelům. Tento typ testování se provádí po integračním testování a před akceptačním testováním.

Testování systému je druh testování softwaru která se provádí na zcela integrovaném systému, aby se vyhodnotila shoda systému s odpovídajícími požadavky. Při testování systému se jako vstup berou komponenty, které prošly integračním testováním. Cílem integračního testování je odhalit jakoukoli nesrovnalost mezi jednotkami, které jsou integrovány.

Výhody testování systému:

  • Testeři k provedení tohoto testování nevyžadují větší znalosti programování.
  • Otestuje celý produkt nebo software, takže snadno odhalíme chyby nebo závady, které nelze identifikovat během testování jednotky a testování integrace.
  • Testovací prostředí je podobné produkčnímu nebo obchodnímu prostředí v reálném čase.
  • Kontroluje celou funkčnost systému pomocí různých testovacích skriptů a také pokrývá technické a obchodní požadavky klientů.
  • Po tomto testování produkt téměř pokryje všechny možné chyby nebo chyby, a proto bude vývojový tým s jistotou pokračovat v akceptačním testování.

Typy integračního testování

  1. Přírůstkové testování
  2. Nepřírůstkové testování

1. Přírůstkové testování

Stejně jako vývoj je i testování fází SDLC (životní cyklus vývoje softwaru) . V různých fázích vývojového cyklu se provádějí různé testy. Inkrementální testování je jedním z testovacích přístupů, který se běžně používá v oblasti softwaru během testovací fáze integrační testování která se provádí po testování jednotky . K testování modulů jeden po druhém se používá několik pahýlů a ovladačů, což pomáhá při odhalování chyb a defektů v konkrétních modulech.

Výhody inkrementálního testování

  • Každý modul má svůj specifický význam. Každý z nich má během testování určitou roli, protože jsou individuálně navyšovány.
  • Vady jsou detekovány v menších modulech spíše než označovat chyby a pak upravovat a znovu opravovat velké soubory.
  • Je flexibilnější a nákladově efektivnější podle požadavků a rozsahu.
  • Zákazník dostane šanci reagovat na každou budovu.

Existují 2 typy Přírůstkové testování

  1. Testování integrace shora dolů
  2. Testování integrace zdola nahoru

1. Testování integrace shora dolů

Testování shora dolů je typ přírůstkového integrační testování přístup, ve kterém se testování provádí integrací nebo spojením dvou nebo více modulů pohybem dolů shora dolů řídicím tokem struktury architektury. V nich se nejprve testují moduly vysoké úrovně a poté moduly nízké úrovně. Nakonec se provede integrace, aby se zajistilo, že systém funguje správně. K provedení tohoto projektu se používají pahýly a ovladače. Tato technika se používá ke zvýšení nebo stimulaci chování modulů, které nejsou integrovány do nižší úrovně.

Výhody Integrační testování shora dolů

  1. Není potřeba psát ovladače.
  2. Chyby rozhraní jsou identifikovány v rané fázi a lokalizace chyb je také snazší.
  3. Nízkoúrovňové nástroje, které nejsou důležité, nejsou testovány dobře a testery na vysoké úrovni jsou testovány dobře vhodným způsobem.
  4. Po přidání funkcí Input-Output je reprezentace testovacích případů snazší a jednodušší.

2. Testování integrace zdola nahoru

Testování zdola nahoru je typ přírůstkového integrační testování přístup, ve kterém se testování provádí integrací nebo spojením dvou nebo více modulů pohybem směrem nahoru zdola nahoru prostřednictvím řídicího toku struktury architektury. V nich se nejprve testují moduly nízké úrovně a poté moduly vysoké úrovně. Tento typ testování nebo přístupu je také známý jako induktivní uvažování a v mnoha případech se používá jako synonymum syntézy. Testování zdola nahoru je uživatelsky přívětivé testování a vede ke zvýšení celkového vývoje softwaru. Výsledkem tohoto testování je vysoká úspěšnost s dlouhodobými výsledky.

Výhody integračního testování zdola nahoru

  • Je snadné a jednoduché vytvářet a vyvíjet testovací podmínky.
  • Je také snadné sledovat výsledky testů.
  • Není nutné znát detaily konstrukčního řešení.
  • Nízkoúrovňové nástroje jsou také dobře testovány a jsou také kompatibilní s objektově orientovanou strukturou.

Typy nefunkčního testování

  1. Testování výkonu
  2. Testování použitelnosti
  3. Testování kompatibility

1. Testování výkonu

Testování výkonu je typ testování softwaru, který zajišťuje správné fungování softwarových aplikací při očekávané zátěži. Jedná se o testovací techniku ​​prováděnou za účelem stanovení výkonu systému z hlediska citlivosti, reaktivity a stability při určitém pracovním zatížení.

Testování výkonu je typ testování softwaru, který se zaměřuje na hodnocení výkonu a škálovatelnosti systému nebo aplikace. Cílem testování výkonu je identifikovat úzká hrdla, měřit výkon systému při různých zátěžích a podmínkách a zajistit, aby systém zvládl očekávaný počet uživatelů nebo transakcí.

Výhody testování výkonnosti

  • Testování výkonu zajišťuje rychlost, kapacitu zatížení, přesnost a další výkony systému.
  • Identifikuje, sleduje a řeší problémy, pokud se něco vyskytne.
  • Zajišťuje skvělou optimalizaci softwaru a také umožňuje jeho používání mnoha uživatelům současně.
  • Zajišťuje spokojenost klienta i koncového zákazníka. Testování výkonu má několik výhod, které z něj činí důležitý aspekt testování softwaru:
  • Identifikace úzkých míst : Testování výkonu pomáhá identifikovat úzká místa v systému, jako jsou pomalé databázové dotazy, nedostatek paměti nebo přetížení sítě. To pomáhá vývojářům optimalizovat systém a zajistit, že zvládne očekávaný počet uživatelů nebo transakcí.

2. Testování použitelnosti

Navrhnete produkt (řekněme ledničku) a když bude zcela připraven, potřebujete potenciálního zákazníka, aby jej otestoval a ověřil, že funguje. Potenciální zákazníci testují stroje, aby pochopili, zda je stroj připraven přijít na trh. Stejně tak nejlepším příkladem testování použitelnosti je, když software také prochází různými testovacími procesy, které provádějí potenciální uživatelé před uvedením na trh. Je součástí životního cyklu vývoje softwaru (SDLC).

Výhody a nevýhody testování použitelnosti

Testování použitelnosti je upřednostňováno pro hodnocení produktu nebo služby jejich testováním u správných uživatelů. Při testování použitelnosti budou vývojové a návrhářské týmy používat k identifikaci problémů před kódováním a výsledkem bude vyřešení dřívějších problémů. Během testu použitelnosti můžete

  • Zjistěte, zda účastníci budou schopni dokončit konkrétní úkol úplně.
  • určit, jak dlouho bude trvat dokončení konkrétního úkolu.
  • Poskytuje produktu vynikající vlastnosti a funkce
  • Zvyšuje spokojenost uživatelů a plní požadavky na základě zpětné vazby od uživatelů
  • Produkt se stává účinnějším a účinnějším

3. Testování kompatibility

Testování kompatibility je testování softwaru, které spadá pod nefunkční testování kategorie a provádí se na aplikaci, aby se ověřila její kompatibilita (schopnost běhu) na různých platformách/prostředích. Toto testování se provádí pouze tehdy, když se aplikace stane stabilní. Jednoduše to znamená, že tento test kompatibility se zaměřuje na kontrolu funkčnosti vyvinuté softwarové aplikace na různém softwaru, hardwarových platformách, síťovém prohlížeči atd. Toto testování kompatibility je velmi důležité z hlediska výroby a implementace produktu, protože se provádí, aby se předešlo budoucím problémům s kompatibilitou.

Výhody testování kompatibility

  • Zajišťuje úplnou spokojenost zákazníka.
  • Poskytuje služby na více platformách.
  • Identifikace chyb během procesu vývoje.

Existují 4 typy Testování výkonu

  1. Zátěžové testování
  2. Zátěžové testování
  3. Testování škálovatelnosti
  4. Testování stability

1. Zátěžové testování

Zátěžové testování určuje chování aplikace, když ji používá více uživatelů současně. Je to odezva systému měřená při měnících se podmínkách zatížení.

  1. Zátěžová zkouška se provádí pro normální a extrémní podmínky zatížení.
  2. Testování zátěže je typ testování výkonu, který simuluje reálné zatížení systému nebo aplikace, aby se zjistilo, jak funguje pod zátěží.
  3. Cílem zátěžového testování je identifikovat úzká hrdla a určit maximální počet uživatelů nebo transakcí, které systém dokáže zpracovat.
  4. Je to důležitý aspekt testování softwaru, protože pomáhá zajistit, že systém zvládne očekávané úrovně využití a identifikovat případné problémy před nasazením systému do výroby.

Výhody zátěžového testování:

Zátěžové testování má několik výhod, které z něj činí důležitý aspekt testování softwaru:

  1. Identifikace úzkých míst: Testování zátěže pomáhá identifikovat úzká místa v systému, jako jsou pomalé databázové dotazy, nedostatek paměti nebo přetížení sítě. To pomáhá vývojářům optimalizovat systém a zajistit, že zvládne očekávaný počet uživatelů nebo transakcí.
  2. Vylepšená škálovatelnost: Identifikací maximální kapacity systému pomáhá zátěžové testování zajistit, aby systém v průběhu času zvládl rostoucí počet uživatelů nebo transakcí. To je zvláště důležité pro webové systémy a aplikace, u kterých se očekává, že budou zvládat vysoký objem provozu.
  3. Vylepšená spolehlivost: Testování zátěže pomáhá identifikovat jakékoli potenciální problémy, které se mohou vyskytnout při vysokém zatížení, jako je zvýšená chybovost nebo pomalá doba odezvy. To pomáhá zajistit, že systém je spolehlivý a stabilní, když je nasazen do výroby.

2. Zátěžové testování

v Zátěžové testování , dáváme systému nepříznivé podmínky a kontrolujeme, jak si v těchto podmínkách vede.

Příklad:

  1. Provedou se testovací případy, které vyžadují maximální paměť nebo jiné prostředky.
  2. Testovací případy, které mohou ve virtuálním operačním systému způsobit mlácení.
  3. Testovací případy, které mohou způsobit nadměrné požadavky na disk Testování výkonu.

Je navržen tak, aby testoval výkonnost softwaru za běhu v kontextu integrovaného systému. Slouží k testování rychlosti a efektivity programu. Říká se tomu také zátěžové testování. V něm zkontrolujeme, jaký je výkon systému v dané zátěži.

Příklad:

Kontrola několika cyklů procesoru.

3. Testování škálovatelnosti

Testování škálovatelnosti je typ nefunkčního testování, ve kterém se testuje výkon softwarové aplikace, systému, sítě nebo procesu z hlediska jejich schopnosti škálovat nahoru nebo dolů počet zatížení uživatelských požadavků nebo jiné podobné atributy výkonu. Může být prováděn na hardwarové, softwarové nebo databázové úrovni. Testování škálovatelnosti je definováno jako schopnost sítě, systému, aplikace, produktu nebo procesu správně vykonávat funkci, když jsou provedeny změny ve velikosti nebo objemu systému, aby vyhovovaly rostoucí potřebě. Zajišťuje, že softwarový produkt dokáže řídit plánované zvýšení uživatelského provozu, objem dat, frekvenci počítání transakcí a mnoho dalších věcí. Testuje schopnost systému, procesů nebo databáze uspokojit rostoucí potřeby.

Výhody testování škálovatelnosti

  • Poskytuje lepší přístup k produktu.
  • Detekuje problémy s načítáním webových stránek a další problémy s výkonem.
  • Najde a opraví problémy dříve v produktu, což ušetří spoustu času.
  • Zajišťuje zážitek koncového uživatele při specifické zátěži. Poskytuje spokojenost zákazníka.
  • Pomáhá při efektivním sledování využití nástrojů.

4. Testování stability

Testování stability je typ testování softwaru pro kontrolu kvality a chování softwaru za různých parametrů prostředí. Je definována jako schopnost produktu pokračovat v provozu v průběhu času bez selhání.

Je to technika nefunkčního testování, která se zaměřuje na maximální namáhání softwarové komponenty. Testování stability se provádí za účelem kontroly účinnosti vyvinutého produktu za normální provozní kapacitou, která je známá jako bod zlomu. Má větší význam při zpracování chyb, spolehlivosti softwaru, robustnosti a škálovatelnosti produktu při velkém zatížení než při kontrole chování systému za normálních okolností.

Testování stability hodnotí problémy se stabilitou. Toto testování je určeno především ke kontrole, zda aplikace v nějakém okamžiku spadne nebo ne.

Výhody testování stability

  1. Udává limit dat, se kterými může systém prakticky zpracovat.
  2. Poskytuje důvěru ve výkon systému.
  3. Určuje stabilitu a robustnost systému při zatížení.
  4. Testování stability vede k lepšímu zážitku koncového uživatele.

Jiné typy testování

  1. Testování kouře
  2. Testování příčetnosti
  3. Regresní testování
  4. Přijímací testování
  5. testování přijetí uživatele
  6. Průzkumné testování
  7. Adhoc testování
  8. Bezpečnostní testování
  9. Globalizační testování
  10. Regresní testování
  11. Testování kouře
  12. Alfa testování
  13. Beta testování
  14. Objektově orientované testování

1. Testování kouře

Testování kouře se provádí, aby se zajistilo, že testovaný software je připraven nebo stabilní pro další testování
Nazývá se kouřový test, protože se provádí testování prvního průchodu, aby se zjistilo, zda se při počátečním zapnutí nezapálil nebo nezakouřil.

Příklad:

If the project has 2 modules so before going to the module make sure that module 1 works properly.>

Výhody kouřového testování

  1. Testování kouře je snadné.
  2. Pomáhá při identifikaci defektů v raných fázích.
  3. Zlepšuje kvalitu systému.
  4. Testování kouře snižuje riziko selhání.
  5. Testování kouře usnadňuje přístup k pokroku.

2. Testování zdravého rozumu

Je to a podmnožina z regresní testování . Provádí se testování zdravého rozumu, aby se zajistilo, že provedené změny kódu fungují správně. Testování zdravého rozumu je zastavením pro kontrolu, zda testování sestavení může pokračovat nebo ne. Zaměřením týmu během procesu testování zdravého rozumu je ověření funkčnosti aplikace, nikoli podrobné testování. Testování zdravého rozumu se obecně provádí na sestavení, kde je produkční nasazení vyžadováno okamžitě jako oprava kritické chyby.

Výhody testování příčetnosti

  • Testování zdravého rozumu pomáhá rychle identifikovat defekty v základní funkčnosti.
  • Může být provedeno v kratším čase, protože pro testování zdravého rozumu není vyžadována žádná dokumentace.
  • Pokud jsou defekty nalezeny během testování zdravého rozumu, projekt je zamítnut, což pomáhá šetřit čas na provádění regresních testů.
  • Tato testovací technika není tak drahá ve srovnání s jiným typem testování.
  • Pomáhá identifikovat závislé chybějící objekty.

3. Regresní testování

Proces testování upravených částí kódu a částí, které by mohly být ovlivněny úpravami, zajišťuje, že po provedení úprav nebyly do softwaru zavedeny žádné nové chyby. Regrese znamená návrat něčeho a v oblasti softwaru označuje návrat chyby.

centrování obrázků v css

Výhody regresního testování

  • Zajišťuje, že po přidání nových funkcí do systému nebyly zavedeny žádné nové chyby.
  • Protože většina testovacích případů používaných v regresním testování je vybrána ze stávající sady testů a již známe jejich očekávané výstupy. Lze jej tedy snadno automatizovat pomocí automatizovaných nástrojů.
  • Pomáhá udržovat kvalitu zdrojového kódu.

4. Přejímací testování

Přijímací zkoušky zákazník provádí kontrolu, zda dodané produkty plní požadované úkoly či nikoliv, jak je uvedeno v požadavcích. Objektově orientované testování používáme pro projednávání testovacích plánů a pro realizaci projektů.

Výhody přejímacího testování

  1. Toto testování pomáhá projektovému týmu přímo znát další požadavky uživatelů, protože zapojuje uživatele do testování.
  2. Automatické provádění testu.
  3. Klientům přináší důvěru a spokojenost, protože jsou přímo zapojeni do procesu testování.
  4. Pro uživatele je snazší popsat svůj požadavek.
  5. Zahrnuje pouze testovací proces Black-Box, a proto bude testována celá funkčnost produktu.

5. Uživatelské akceptační testování

testování přijetí uživatele je metodika testování, kdy se klienti/koncoví uživatelé účastní testování produktu, aby ověřili produkt podle jejich požadavků. Provádí se na webu klienta na webu vývojáře. Pro průmyslová odvětví, jako je medicína nebo letecký průmysl, se jako součást uživatelských akceptačních testů provádějí také smluvní a regulační testy shody a provozní akceptační testy. UAT je závislý na kontextu a plány UAT se připravují na základě požadavků a nevyžaduje se od nich provádění všech druhů uživatelských akceptačních testů a jsou dokonce koordinovány a přispívá k nim testovací tým.

6. Průzkumné testování

Průzkumné testování je druh testování softwaru ve kterém si tester může zvolit jakoukoli možnou metodologii testování softwaru. Je to neskriptovaný přístup k testování softwaru. Při průzkumném testování používají vývojáři softwaru své učení, znalosti, dovednosti a schopnosti k testování softwaru, který sami vyvinuli. Průzkumné testování kontroluje funkčnost a provoz softwaru a identifikuje v něm funkční a technické závady. Průzkumné testování má za cíl optimalizovat a zlepšovat software všemi možnými způsoby.

Výhody průzkumného testování

  • Menší příprava: Nevyžaduje žádnou přípravu, protože se jedná o neskriptovanou testovací techniku.
  • Najde kritické závady: Průzkumné testování zahrnuje proces vyšetřování, který pomáhá velmi rychle najít kritické defekty.
  • Zlepšuje produktivitu: Při průzkumném testování používají testeři své znalosti, dovednosti a zkušenosti k testování softwaru. Pomáhá rozšířit představivost testerů prováděním více testovacích případů, čímž se zvyšuje celková kvalita softwaru.

7. Adhoc testování

Adhoc testování je typ testování softwaru, který se provádí neformálně a náhodně po dokončení formálního testování, aby se nalezla jakákoli mezera v systému. Z tohoto důvodu je také známé jako náhodné nebo opičí testování. Adhoc testování není prováděno strukturovaným způsobem, není tedy založeno na žádném metodickém přístupu. To je důvod, proč je Adhoc testování typem nestrukturovaného testování softwaru.

Výhody Adhoc testování

  • Chyby, které nelze identifikovat pomocí písemných testovacích případů, lze identifikovat testováním Adhoc.
  • Lze jej provést ve velmi omezeném čase.
  • Pomáhá vytvářet jedinečné testovací případy.
  • Tento test pomáhá vytvořit silný produkt, který je méně náchylný k budoucím problémům.
  • Toto testování lze provést kdykoli během Proces životního cyklu vývoje softwaru (SDLC)

8. Bezpečnostní testování

Bezpečnostní testování je druh Testování softwaru který odhaluje zranitelná místa v systému a určuje, že data a zdroje systému jsou chráněny před možnými vetřelci. Zajišťuje, že softwarový systém a aplikace jsou bez jakýchkoli hrozeb nebo rizik, které mohou způsobit ztrátu. Testování bezpečnosti jakéhokoli systému je zaměřeno na nalezení všech možných mezer a slabin systému, které by mohly vést ke ztrátě informací nebo pověsti organizace.

Výhody testování bezpečnosti

  1. Identifikace zranitelných míst: Testování zabezpečení pomáhá identifikovat zranitelná místa v systému, která by mohla být zneužita útočníky, jako jsou slabá hesla, neopravený software a špatně nakonfigurované systémy.
  2. Zlepšení zabezpečení systému: Testování zabezpečení pomáhá zlepšit celkovou bezpečnost systému identifikací a opravou zranitelností a potenciálních hrozeb.
  3. Zajištění shody: Testování zabezpečení pomáhá zajistit, že systém splňuje příslušné bezpečnostní standardy a předpisy, jako jsou HIPAA, PCI DSS a SOC2.

9. Globalizační testování

Globalizační testování je typ testování softwaru, který se provádí, aby se zajistilo, že systém nebo softwarová aplikace může fungovat nezávisle na geografickém a kulturním prostředí. Zajišťuje, že aplikaci lze používat po celém světě a přijímá všechny jazykové texty. V dnešní době s nárůstem různých technologií je každý softwarový produkt navržen tak, že jde o globalizovaný softwarový produkt.

Výhody globalizačního testování

  • Pomáhá vytvářet škálovatelné produkty: Díky tomu je softwarový produkt flexibilnější a škálovatelnější.
  • Ušetřit čas: Šetří celkový čas a úsilí při testování softwaru.
  • Zkraťte čas testování lokalizace: Globalizační testování pomáhá zkrátit čas a náklady na testování lokalizace.

10. Regresní testování

Regresní testování je metoda testování, která se používá k zajištění toho, aby změny provedené v softwaru nepřinesly nové chyby nebo nezpůsobily přerušení stávajících funkcí. Obvykle se provádí po provedení změn v kódu, jako jsou opravy chyb nebo nové funkce, a používá se k ověření, že software stále funguje, jak bylo zamýšleno.

Regresní testování lze provádět různými způsoby, například:

  • Opakované testování : To zahrnuje testování celé aplikace nebo konkrétní funkce, která byla ovlivněna změnami.
  • Re provedení : To zahrnuje spuštění dříve provedené testovací sady, aby bylo zajištěno, že změny nenaruší žádnou existující funkci.
  • Srovnání : To zahrnuje porovnání aktuální verze softwaru s předchozí verzí, aby bylo zajištěno, že změny nenaruší žádnou existující funkčnost.

Výhody regresního testování

  • Pomáhá zajistit, aby změny provedené v softwaru nepřinesly nové chyby nebo nezpůsobily selhání stávajících funkcí.
  • Pomáhá zajistit, aby software po provedení změn nadále fungoval tak, jak bylo zamýšleno.
  • Pomáhá zlepšit celkovou spolehlivost a stabilitu softwaru.
  • Je důležité mít na paměti, že regresní testování je nepřetržitý proces, který by měl být prováděn po celou dobu vývoj softwaru
  • životního cyklu, abyste zajistili, že software bude nadále fungovat tak, jak má. Mělo by být co nejvíce automatizováno, aby se ušetřil čas a zdroje. Kromě toho je důležité mít dobře definovanou sadu regresních testů, která pokrývá

Každé přidání nového modulu vede ke změnám v programu. Tento typ testování zajišťuje, že celá komponenta funguje správně i po přidání komponent do kompletního programu.

Příklad:

Předpokládejme, že ve školních záznamech máme zaměstnance modulu, studenty a finance, které tyto moduly kombinují a kontrolují, zda integrace těchto modulů funguje dobře v regresním testování.

11. Testování kouře

Testování kouře se provádí, aby se zajistilo, že testovaný software je připraven nebo stabilní pro další testování
Nazývá se kouřový test, protože se provádí testování prvního průchodu, aby se zjistilo, zda se při počátečním zapnutí nezapálil nebo nezakouřil.

Příklad:

Pokud má projekt 2 moduly, před přechodem na modul se ujistěte, že modul 1 funguje správně.

12. Alfa testování

Alfa testování je typ ověřovacího testování. Je to typ akceptačního testování to se provádí před uvedením produktu na trh zákazníkům. Obvykle to dělají lidé z QA.

Příklad:

Když se testování softwaru provádí interně v rámci organizace.

13. Beta testování

The beta test je prováděna na jednom nebo více zákaznických místech koncovým uživatelem softwaru. Tato verze je vydána pro omezený počet uživatelů pro testování v prostředí reálného času.

přenosová rychlost v arduinu

Příklad:

Když se testování softwaru provádí pro omezený počet lidí.

14. Objektově orientované testování

Objektově orientované testování testování je kombinací různých testovacích technik, které pomáhají ověřovat a validovat objektově orientovaný software. Toto testování se provádí následujícím způsobem:

  • Testování požadavků,
  • Návrh a analýza testování,
  • Testování kódu,
  • integrační testování,
  • testování systému,
  • Uživatelské testování.

Výhody testování softwaru

  1. Vylepšená kvalita a spolehlivost softwaru.
  2. Včasná identifikace a oprava závad.
  3. Zlepšená spokojenost zákazníků.
  4. Zvýšená důvěra zúčastněných stran.
  5. Snížené náklady na údržbu.
  6. Spokojenost zákazníků
  7. Nákladově efektivní
  8. Kvalitní výrobek
  9. Nízká porucha
  10. Aplikace bez chyb
  11. Bezpečnostní
  12. Urychlete proces vývoje
  13. Včasná detekce defektu
  14. Spolehlivý produkt

Nevýhody testování softwaru

  • Časově náročné a zvyšuje náklady na projekt.
  • To může zpomalit proces vývoje.
  • Ne všechny závady lze najít.
  • Může být obtížné plně otestovat složité systémy.
  • Možnost lidské chyby během procesu testování.

Otázky pro praxi

1. S ohledem na Testování softwaru zvažte vývojový graf G s jednou připojenou komponentou. Nechť E je počet hran, N je počet uzlů a P je počet predikátových uzlů G. Uvažujme následující čtyři výrazy: [GATE IT -2006]

  • I. E-N+P
  • II. E-N+2
  • III. P+2
  • IV. P+1

Cyklomatická složitost G je dána

  • (A) I nebo III
  • (B) II nebo III
  • (C) II nebo IV
  • (D) I nebo IV

Řešení: Správná odpověď je (C).

Často kladené otázky o typech testování softwaru

1. Co je testovací případ?

roky: Testovací případy lze jednoduše určit jako podmínky, kdy tester zkontroluje, zda kód běží perfektně nebo ne.

2. Jaké je využití automatizačního testování?

roky: Automatizační testování se používá ke snížení testovacího úsilí a také k rychlejšímu testování schopnosti.

3. Jaký je rozdíl mezi manuálním a automatickým testováním?

roky: Manuální testování zahrnuje lidský tester, který interaguje se softwarem, aby našel chyby. Automatizované testování používá skripty nebo nástroje k automatizaci opakujících se testovacích případů.