Co je metodika testování softwaru?
Metodika testování softwaru je definována jako strategie a typy testování používané k potvrzení, že testovaná aplikace splňuje očekávání klientů. Metodiky zkoušek zahrnují funkční a nefunkční testování k ověření AUT. Příklady metodik testování jsou testování jednotek, testování integrace, testování systému, testování výkonu atd. Každá metodika testování má definovaný cíl testu, strategii testování a výsledky.
Poznámka : Vzhledem k tomu, že testování softwaru je nedílnou součástí jakékoli vývojové metodiky, mnoho společností používá termín Development Methodologies & Testing Methodologies hovorově. Z tohoto důvodu by testovací metodiky mohly také odkazovat na Waterfall, Agile a další QA modely oproti výše uvedené definici Testovacích metodik. Diskuse o různých typech testování nepřináší čtenářům hodnotu. Proto budeme diskutovat o různých modelech vývoje.
V tomto výukovém programu se naučíte
- Model vodopádu
- Iterativní vývoj
- Agilní metodologie
- Extrémní programování
- Kterou softwarovou metodiku zvolit?
- Jak nastavit metodiky testování softwaru?
Model vodopádu
Co je to?
V modelu vodopádu postupuje vývoj softwaru v různých fázích, jako je Analýza požadavků, Návrh atd. - postupně .
V tomto modelu začíná další fáze až po dokončení dřívější fáze.
Jaký je přístup k testování?
První fází modelu vodopádu je fáze požadavků, ve které jsou před zahájením testování zcela definovány všechny požadavky projektu. Během této fáze testovací tým provede brainstorming o rozsahu testování, testovací strategii a navrhne podrobný plán testu.
Teprve po dokončení návrhu softwaru tým přejde k provedení testovacích případů, aby zajistil, že se vyvíjený software bude chovat podle očekávání.
V této metodice postupuje testovací tým do další fáze až po dokončení předchozí fáze.
Výhody
Tento softwarový inženýrský model je velmi jednoduchý na plánování a správu. Projekty, kde jsou jasně definovány a stanoveny požadavky předem, lze tedy snadno otestovat pomocí modelu vodopádu.
Nevýhody
V modelu vodopádu můžete začít s další fází až po dokončení předchozí fáze. Tento model proto nemůže pojmout neplánované události a nejistotu.
Tato metodika není vhodná pro projekty, kde se požadavky často mění.
Iterativní vývoj
Co je to?
V tomto modelu je velký projekt rozdělen na malé části a každá část je podrobena několika iteracím modelu vodopádu. Na konci iterace je vyvinut nový modul nebo vylepšen stávající modul. Tento modul je integrován do softwarové architektury a celý systém je testován společně
Jaký je přístup k testování?
Jakmile je iterace dokončena, je celý systém podroben testování. Zpětná vazba z testování je okamžitě k dispozici a je začleněna do dalšího cyklu. Čas testování vyžadovaný v postupné iteraci lze zkrátit na základě zkušeností získaných z minulých iterací.
Výhody
Hlavní výhodou iterativního vývoje je zpětná vazba testu, která je okamžitě k dispozici na konci každého cyklu.
Nevýhody
Tento model výrazně zvyšuje režii komunikace, protože na konci každého cyklu musí být poskytnuta zpětná vazba o výsledcích, úsilí atd.
Agilní metodologie
Co je to?
Tradiční metodiky vývoje softwaru fungují na předpokladu, že softwarové požadavky zůstanou během celého projektu konstantní. Se zvyšující se složitostí však požadavky procházejí řadou změn a neustále se vyvíjejí. Samotný zákazník si občas není jistý, co chce. I když iterativní model řeší tento problém, stále je založen na modelu vodopádu.
V metodice Agile je software vyvíjen v přírůstkových, rychlých cyklech. Interakce mezi zákazníky, vývojáři a klienty jsou zdůrazňovány spíše než procesy a nástroje. Agilní metodika se zaměřuje spíše na reakci na změny než na rozsáhlé plánování.
Jaký je přístup k testování?
V agilních metodách vývoje se používá přírůstkové testování, a proto je každé vydání projektu důkladně testováno. Tím je zajištěno, že všechny chyby v systému budou opraveny před dalším vydáním.
Výhody
V souladu s požadavky je možné v projektu kdykoli provést změny.
Toto přírůstkové testování minimalizuje rizika.
Nevýhody
Neustálá interakce s klientem znamená větší časový tlak na všechny zúčastněné strany, včetně samotného klienta, vývoj softwaru a testovacích týmů.
Extrémní programování
Co je to?
Extrémní programování je typ agilní metodiky, která věří v krátké vývojové cykly. Projekt je rozdělen do jednoduchých inženýrských úkolů. Programátoři kódují jednoduchý software a zpětně získávají zpětnou vazbu k zákazníkovi. Kontrolní body od zákazníka jsou začleněny a vývojáři pokračují v dalším úkolu.
V extrémních programátorských vývojářích obvykle pracujte ve dvojicích.
Extrémní programování se používá v místech, kde se požadavky zákazníků neustále mění.
Jaký je přístup k testování?
Extrémní programování sleduje vývoj řízený testem, který je popsán následovně -
- Přidejte testovací případ do testovací sady a ověřte novou funkčnost, která se teprve bude vyvíjet
- Spusťte všechny testy a samozřejmě přidaný nový testovací případ musí selhat, protože funkčnost ještě není kódována
- Napište nějaký kód k implementaci funkce / funkce
- Znovu spusťte testovací sadu. Tentokrát by měl nový testovací případ projít, protože funkčně byl kódován
Výhody
Zákazníci, kteří mají na mysli neurčitý design softwaru, mohou použít extrémní programování
Kontinuální testování a nepřetržitá integrace malých verzí zajišťují vysokou kvalitu softwarového kódu
Nevýhody
Setkání mezi vývojovým týmem softwaru a klienty zvyšují časovou náročnost.
Kterou softwarovou metodiku zvolit?
Existuje spousta metodik pro vývoj softwaru a jeho odpovídající testování. Každá testovací technika a metodika je navržena pro konkrétní účel a má své relativní výhody a nevýhody.
Výběr konkrétní metodiky závisí na mnoha faktorech, jako je povaha projektu, požadavek klienta, harmonogram projektu atd.
Z hlediska testování některé metodologie tlačí na testování vstupů na začátku životního cyklu vývoje, zatímco jiné čekají, až bude připraven funkční model systému.
Jak nastavit metodiky testování softwaru?
Metodiky testování softwaru by neměly být nastaveny pouze kvůli testování softwarového kódu. Je třeba vzít v úvahu celkový obraz a hlavní cíl projektu by měl být spokojen s metodikou testování.
Plánování
Realistické plánování je klíčem k implementaci metodiky úspěšného testování a plán by měl vyhovovat potřebám každého člena týmu.
Definované výstupy
Aby byli všichni členové týmu na stejné stránce, měli by být poskytnuty dobře definované výstupy. Výstupy by měly obsahovat přímý obsah bez nejasností.
Zkušební přístup
Po dokončení plánování a zpřístupnění definovaných výstupů by měl být testovací tým schopen formulovat správný testovací přístup. Definiční dokumenty a schůzky vývojářů by měly týmu naznačovat nejlepší přístup k testování, který lze pro projekt použít.
Hlášení
Je velmi obtížné dosáhnout transparentního výkaznictví, ale tento krok určuje účinnost testovacího přístupu použitého v projektu.