Metodologie testování softwaru: Modely QA

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í klienta. Testovací metodiky zahrnují funkční a nefunkční testování pro ověření AUT. Příklady metodologií 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, testovací strategii a výstupy.

Pozor: Vzhledem k tomu, že testování softwaru je nedílnou součástí jakékoli vývojové metodologie, mnoho společností používá termín Development Methodologies & Testing Methodologies hovorově. Proto by Metodiky testování mohly také odkazovat na modely Waterfall, Agile a další modely QA oproti výše uvedené definici metodologií testování. Diskuse o různých typech testování nepřináší čtenářům přidanou hodnotu. Proto budeme diskutovat o různých modelech vývoje.

Model vodopádu

Model vodopádu

Co je to?

v vodopád model, pokrok ve vývoji 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í vodopádového modelu je fáze požadavků, ve které jsou všechny požadavky projektu kompletně definovány před zahájením testování. Během této fáze testovací tým probere rozsah testování, testovací strategii a navrhne podrobný plán testování.

Teprve po dokončení návrhu softwaru tým přejde k provádění testovacích případů, aby se zajistilo, že se vyvinutý 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 Nevýhody
Tento softwarový inženýrský model je velmi jednoduchý na plánování a správu. Projekty, kde jsou požadavky jasně definovány a předem stanoveny, lze tedy snadno testovat pomocí vodopádového modelu. V modelu vodopádu můžete začít s další fází až po dokončení předchozí fáze. Proto tento model 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

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 vodopádového modelu. Na konci iterace je vyvinut nový modul nebo je 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 testovací přístup?

Jakmile je iterace dokončena, celý systém je podroben testování. Zpětná vazba z testování je okamžitě k dispozici a je začleněna do dalšího cyklu. Čas potřebný pro testování v následné iteraci lze zkrátit na základě zkušeností získaných z minulých iterací.

Výhody Nevýhody
Hlavní výhodou iterativního vývoje je, že na konci každého cyklu je okamžitě k dispozici testovací zpětná vazba. Tento model výrazně zvyšuje komunikační režii, protože na konci každého cyklu musí být poskytnuta zpětná vazba o výsledcích, úsilí atd.

Agilní metodologie

Agilní metodika

Co je to?

Tradiční metodiky vývoje softwaru fungují na předpokladu, že požadavky na software zůstávají v průběhu projektu konstantní. S rostoucí složitostí však požadavky procházejí četnými změnami a neustále se vyvíjejí. Sám zákazník si občas není jistý, co chce. I když iterativní model řeší tento problém, je stále založen na modelu vodopádu.

V agilní metodice je software vyvíjen v přírůstkových, rychlých cyklech. Důraz je kladen spíše na interakce mezi zákazníky, vývojáři a klienty než na 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 metodách agilního vývoje se používá přírůstkové testování, a proto je každé vydání projektu důkladně testováno. To zajišťuje, že všechny chyby v systému budou opraveny před dalším vydáním.

Výhody Nevýhody
V projektu je možné kdykoli provést změny, aby byly splněny požadavky. Neustálá interakce s klientem znamená zvýšený časový tlak na všechny zúčastněné strany včetně samotného klienta, vývojových a testovacích týmů softwaru.
Toto přírůstkové testování minimalizuje rizika.

Extrémní programování

Extrémní programování

Co je to?

Extrémní programování je typ agilní metodologie, která věří v krátké vývojové cykly. Projekt je rozdělen na jednoduché inženýrské úkoly. Programátoři nakódují jednoduchý software a dostanou se zpět k zákazníkovi pro zpětnou vazbu. RevZobrazovací body od zákazníka jsou začleněny a vývojáři pokračují v dalším úkolu.

V extrémním programování vývojáři obvykle pracují ve dvojicích.

Extrémní programování se používá v místech, kde se neustále mění požadavky zákazníků.

Jaký je přístup k testování?

Extrémní programování následuje vývoj řízený testem, který je popsán následovně –

  1. Přidat Testovací případ do testovací sady, aby ověřila novou funkcionalitu, která má být ještě vyvinuta
  2. Spusťte všechny testy a je zřejmé, že nový přidaný testovací případ musí selhat, protože funkce ještě není nakódována
  3. Napište nějaký kód pro implementaci funkce/funkce
  4. Spusťte znovu testovací sadu. Tentokrát by měl nový testovací případ projít, protože byl funkčně zakódován
Výhody Nevýhody
Zákazníci, kteří mají na mysli vágní návrh softwaru, by mohli použít extrémní programování Setkání mezi týmem vývoje softwaru a klienty zvyšují časové nároky.
Nepřetržité testování a nepřetržitá integrace malých verzí zajišťují, že softwarový kód je dodáván ve vysoké kvalitě

Jakou softwarovou metodologii zvolit?

Existují tuny dostupných metodologií 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žadavky klienta, harmonogram projektu atd.

Z hlediska testování některé metodiky tlačí na testovací vstupy na začátku životního cyklu vývoje, zatímco jiné čekají, až bude připraven funkční model systému.

Jak nastavit metodiku testování softwaru?

Metodiky testování softwaru by neměly být nastaveny jen kvůli testování softwarového kódu. Měl by být zvážen celkový obraz a hlavní cíl projektu by měl být spokojen s metodikou testování. Podívejte se na tento seznam renomovaných poskytovatelé služeb testování softwaru kteří vám mohou pomoci vytvořit efektivní testovací strategie přizpůsobené cílům vašeho projektu.

Plánování

Realistické plánování je klíčem k implementaci úspěšné metodiky testování a harmonogram by měl odpovídat potřebám každého člena týmu.

Definované výstupy

Aby byli všichni členové týmu na stejné stránce, měly by být poskytnuty dobře definované výstupy. Výstupy by měly obsahovat přímý obsah bez jakýchkoli dvojznačností.

Testovací přístup

Jakmile je plánování dokončeno a definované výstupy jsou k dispozici, testovací tým by měl být schopen formulovat správný testovací přístup. Definiční dokumenty a schůzky vývojářů by měly týmu naznačit nejlepší testovací přístup, který lze pro projekt použít.

Hlášení

Transparentní reporting je velmi obtížné dosáhnout, ale tento krok určuje efektivitu testovacího přístupu použitého v projektu.