software development
Jaké jsou metodiky vývoje a testování softwaru?
Testování je nezbytnou součástí procesu vývoje softwaru. Robustní a stabilní softwarový produkt lze dodat pomocí standardních metod testování, které pomohou předpovědět časovou osu softwarového systému.
Softwarová aplikace se s velkým počtem platforem a zařízení může stát ještě složitější. Ještě důležitější je, aby bylo zajištěno, zda splňují stanovené požadavky a lze je efektivně instalovat a provozovat na stroji uživatele, či nikoli.
Prostředky bezpečnostní , kompatibilita a použitelnost by měl být softwarový produkt testován pomocí správné metodiky testování.
V tomto článku , podrobně probereme, co se rozumí pod pojmem Testing Methodologies, v čem se liší od strategií testování a typů metod testování softwaru.
Co se naučíte:
- Význam metodik testování
- Techniky testování
- Modely v SDLC
- Rozdíl mezi metodikami testování a strategiemi testování
- Závěr:
- Doporučené čtení
Význam metodik testování
Metodiky lze považovat za sadu testovacích mechanismů používaných v životním cyklu vývoje softwaru od testování jednotek po testování systému. Volba vhodné metodiky testování je považována za jádro procesu testování.
Techniky testování
Pro testování se v zásadě používají 3 testovací metodiky. Jedná se o testování bílé skříňky, testování černé skříňky a Testování šedé skříňky . Tito jsou také nazýváni jako Techniky testování . Každá z testovacích technik je níže uvedena pro lepší pochopení.
# 1) Testování bílé krabice:
Technika testování bílé krabice se používá ke zkoumání struktury programu a obchodní logiky, ověřuje kód nebo program aplikace. Nazývá se také jako Vymazat testování boxů, testování skleněných boxů nebo testování otevřených boxů .
Techniky testování bílé skříňky zahrnují:
- Pokrytí prohlášení: Prozkoumá všechny programovací příkazy.
- Pokrytí pobočky: Série probíhajících testů, které zajistí, že jsou testovány všechny větve.
- Pokrytí trasy: Testuje všechny možné cesty k pokrytí každého příkazu a větve.
# 2) Testování černé skříňky:
Metoda testování Black Box se používá k testování funkčnosti aplikace na základě specifikace požadavku. Na rozdíl od White Box Testing se nezaměřuje na vnitřní strukturu / kód aplikace.
Techniky Black Box zahrnují:
- Analýza hraničních hodnot
- Rozdělení ekvivalence (rozdělení třídy ekvivalence)
- Rozhodovací tabulky
- Testy domén
- Státní modely
- Průzkumné testování (Vyžaduje méně přípravy a také pomáhá rychle najít vady).
# 3) Testování šedé skříňky:
Tato metoda testování se provádí s méně informacemi o vnitřní struktuře aplikace. Obecně se to provádí pouze jako Black Box Testing, ale pro některé kritické oblasti použití se používá White Box Testing.
Modely v SDLC
Výběr správných metodik testování zahrnuje také výběr správného modelu v SDLC.
Mezi modely patří:
- Model vodopádu
- V modelu
- Agilní model
- Spirálový model
- RAD
Podívejme se blíže na každou metodiku vývoje softwaru se stručným vysvětlením.
# 1) Model vodopádu
Model vodopádu je základní model životního cyklu, který vyvinul Winston Royce v roce 1970. Tento model představuje několik fází nebo procesů sekvenčním způsobem, který teče postupně dolů.
Tento přístup je užitečný, když jsou dobře známy požadavky, je pochopena technologie a jsou k dispozici zdroje s požadovanou odborností.
Model vodopádu je definován v následujících fázích:
- Shromažďování a analýza požadavků: Zachyťte a analyzujte všechny požadavky a ujistěte se, zda jsou testovatelné nebo ne.
- Návrh systému: Vytvářejte a dokumentujte návrh na základě analýzy požadavků. Definujte hardwarové a softwarové požadavky.
- Implementace: Vytvořte robustní kód pro komponenty podle návrhu a integrujte je.
- Testování systému: Integrované komponenty tvoří celý systém, tato fáze se provádí, aby se zajistilo, zda systém pracuje podle požadavků, sledování a hlášení průběhu testování.
- Nasazení systému: Ujistěte se, že pokud je systém stabilní s nulovými chybami, byla splněna všechna testovací kritéria
splněny, zajistit nastavení prostředí atd. - Údržba systému: Zajistí, aby aplikace fungovala efektivně podle požadavků s vhodným prostředím. V případě zjištění závady by měla být opravena a nasazena (aktualizována) v prostředí.
Výhody modelu Waterfall:
- Jednoduché a snadno pochopitelné.
- Snadná správa, protože každá fáze má své vlastní specifické výstupy.
- Je zamezeno překrývání fází.
- Dobré pro malé projekty.
Nevýhody modelu vodopádu:
- Zvýšení míry rizika a nejistoty.
- Jakmile vstoupíte do testovací fáze, nemůžete v předchozích fázích nic změnit např Design a kódování atd.
- Není to dobré pro složité a velké projekty.
- Nevhodné tam, kde se požadavky neustále mění.
# 2) V modelu
V Model je rozšíření modelu Waterfall kde provádění procesu probíhá v sekvenčním stylu ve tvaru V a je také známé jako model ověření a ověření. V tomto přístupu existuje přímo spojená fáze testování v každé jednotlivé fázi vývojového cyklu.
Ukázalo se, že je to výhodné a nákladově efektivní než model vodopádu, protože testování se provádí spíše v každé vývojové fázi než na konci vývojového cyklu.
Model V je rozdělen do 3 fází.
- Fáze ověření
- Fáze kódování
- Fáze ověřování
a) Fáze ověření :
- Analýza obchodních požadavků: Komunikujte se zákazníkem, abyste pochopili jeho očekávání a požadavky.
- Návrh systému: Designkompletnísystému a jeho komponent spolu s hardwarovými a softwarovými požadavky.
- Architektonický design: V této fázi jsou zachyceny architektonické specifikace. Toto se také označuje jako design na vysoké úrovni.
- Návrh modulu: Toto je také známé jako Nízkoúrovňový design, Podrobný interní design pro všechny uvedené systémové moduly.
b) Fáze kódování:
Tato fáze obsahuje skutečnou fázi kódování v životním cyklu vývoje. Programovací jazyky by měly být vybrány na základě systému a architektonického návrhu specifikovaného v technologické platformě předchozí fáze. Kódování se provádí podle standardů a pokynů, které jsou předem definovány.
c) Fáze ověření :
- Testování jednotky: Provádí se na samostatném modulu, aby se odstranily chyby v rané fázi.
- Testování integrace: Provedeno k otestování komunikace mezi různými moduly v systému.
- Testování systému: Testování systému se provádí v systému jako celku.
- Přijímací zkoušky: To je spojeno s obchodními požadavky. Provádí se v uživatelském prostředí z pohledu uživatele.
Výhody modelu V.
- Jednoduché, snadno použitelné a srozumitelné.
- Překrývání je zamezeno, protože fáze jsou prováděny po jedné.
- Snadná správa a vhodná pro malé projekty.
Nevýhody modelu V jsou víceméně podobné nevýhodám modelu Waterfall.
# 3) Agilní model
Agilní model ukazuje iterativní a inkrementální přístup. Tento přístup rozděluje produkt na malé přírůstkové jednotky, aby poskytoval iterace. Každá iterace pak zahrnuje kroky jako plánování, analýza požadavků, návrh, kódování, testování jednotek, přejímací testování atd.
Tento přístup také umožňuje nepřetržitou interakci se zákazníkem za účelem jeho zpětné vazby a oprav v požadavcích v pravidelných intervalech.
Následující diagram vám pomůže přesněji porozumět přístupu Agile Model:
Následující obrázek zobrazí iterační cyklus v agilním modelu:
Výhody agilního modelu:
- Realistický přístup k vývoji softwaru.
- Podporuje týmovou práci.
- Eliminuje nesoulad mezi požadavky a testovacími případy.
- Rychlý a vyžaduje minimální množství zdrojů.
- Vhodné pro velké a dlouhodobé projekty.
- Dobré pro měnící se požadavky.
- Snadná správa.
Nevýhody agilního modelu:
- Nevhodné pro složité projekty.
- Vyžaduje velké množství interakce se zákazníkem, což může způsobit zpoždění.
- Nesprávné pochopení požadavků může způsobit nesprávný vývoj softwarového produktu.
- Zvýšené riziko udržovatelnosti.
- Předání jinému týmu může být docela náročné.
# 4) Spirálový model
Spirálový model zahrnuje iterativní vývojový přístup spolu se systematickým přístupem modelu vodopádu. Je to podobné jako inkrementální model a důraz na analýzu rizik.
Spirálový model má čtyři fáze:
- Fáze plánování
- Analýza rizik
- Inženýrská fáze
- Fáze hodnocení
1) Fáze plánování: V této fázi jsou shromážděny a zkontrolovány požadavky k dokončení testovacího případu.
2) Analýza rizik: Tato fáze zahrnuje identifikaci, monitorování a odhad rizik řízení. Analyzují se požadavky na identifikaci rizik pomocí technik, jako je brainstorming, návod atd.
3) Inženýrská fáze: V této fázi je software vyvíjen a na konci testován.
4) Fáze hodnocení: Toto je poslední fáze, kdy zákazník vyhodnotí výstup projektu a poskytne zpětnou vazbu pro další spirálu nebo schválení.
Obrázkové znázornění spirálového modelu:
Kdy použít model Spirála:
- Pro vysoce rizikové projekty.
- Když jsou požadavky složité.
- Pokud je projekt velký.
- Mějte dostatek času na získání zpětné vazby od uživatele pro další spirálu.
- Vyžaduje významné změny v důsledku výzkumu a průzkumu.
- Uživatelé si nejsou jisti svými potřebami.
Výhody spirálového modelu:
- Vyhýbání se riziku, protože zahrnuje velké množství rizikových analýz.
- Rychlý vývoj.
- Změny v požadavcích jsou snadno přizpůsobeny.
- Požadavky lze získat přesněji.
Nevýhody spirálového modelu:
- Komplexní správa.
- Nevhodné pro malé projekty.
- Může zahrnovat ne. spirál (neurčitý).
- Nákladné.
- Vyžaduje velké množství analýzy rizik a odborných znalostí pro úspěch jejich projektu.
# 5) Model RAD
Rapid Application Development (RAD) je typ inkrementálního modelu. V tomto přístupu jsou komponenty vyvíjeny paralelně.
Jedná se o rychlý přístup a může zákazníkovi poskytnout rychlý produkt, který mu poskytne zpětnou vazbu.
Fáze v RAD jsou následující:
- Obchodní modelování: Identifikuje důležité informace a jejich tok mezi různými obchodními kanály.
- Modelování dat: Informace shromážděné v předchozí fázi se používají k definování datových objektů potřebných pro podnikání.
- Procesní modelování: Datové objekty se převádějí, aby získaly obchodní cíl a tok informací.
- Generování aplikace: V této fázi se k převodu modelu procesu na skutečný kód používají automatizační nástroje.
- Testování a obrat: Testuje všechny součásti systému, a tím se zkracuje celková doba testování.
Výhody modelu RAD:
- Pokrok lze měřit.
- Zkracuje dobu vývoje.
- Zvýšená opakovaná použitelnost.
- Rychlé počáteční kontroly.
- Zvyšuje zpětnou vazbu zákazníků.
Nevýhody modelu RAD:
- Vyžaduje vysoce kvalifikované zdroje.
- Vysoký odhad nákladů.
- Nelze použít pro levnější projekty.
- Vysoká závislost na dovednostech modelování.
- Pomocí RAD lze vytvořit pouze modularizovaný systém.
Rozdíl mezi metodikami testování a strategiemi testování
Odpověď na tuto otázku není příliš složitá, protože mezi nimi je jednoduchý rozdíl.
Metodiky testování jsou metody nebo přístupy k testování, které zahrnují od testování jednotky přes testování systému.
Strategie testování je přehled klíčových problémů, které se vyskytují v procesu testování, a má být zohledněn vedoucím projektu, týmem vývojářů a testerů.
K implementaci se používají výše diskutované metody testování softwaru n počet testovacích strategií.
Některé z nich jsou uvedeny níže:
1) Testování jednotky:
- Zaměřuje se na velmi malé funkční jednotky.
- Nejjednodušší způsob, jak zkontrolovat izolaci nejmenších jednotek.
- Obecně prováděné vývojáři.
2) Testování integrace:
zdarma anime show ke sledování online
- Toto je další krok, který je třeba provést na straně vývojáře.
- Poskytněte mechanismus pro testování interakce, interakce a komunikace mezi různými moduly softwaru
3) Funkční testování:
Slouží ke kontrole funkčnosti softwarového systému, tj. Výstupu na daný vstup.
4) Regresní testování:
Zkontroluje, zda k opravě chyby došlo na jednom místě, aby složité funkce neměly způsobit změnu v jiné oblasti jádra.
5) Testování systému:
- Testování všech integrovaných modulů jako kolektivního systému.
- Kombinuje více funkcí do komplexních scénářů.
6) Testování výkonu:
Testuje výkon aplikace v kritických situacích, jako je přenos velkého souboru, souběžný přístup uživatelů do systému, selhání konfigurace atd.
7) Přijímací zkoušky :
- Obecně Konečná úroveň testování, kde je softwarový produkt zkoumán z pohledu uživatelů testery
- Výsledek tohoto kroku je subjektivní a trvá trochu, než se najde přesný problém
Závěr:
Výběr správné metodiky testování je akce nebo sada akcí, která leží v jádru testovacího procesu. Může to být dokonce všestranná aktivita, která se mění podle obchodních požadavků a časové osy softwarového produktu.
Lze si však vybrat jednu nebo dokonce více metod vývoje a testování softwaru, abyste měli flexibilnější a efektivnější konečný produkt, který uspokojí potřeby a očekávání zákazníka v požadovaném nebo kratším časovém limitu.
Sdělte nám své myšlenky / návrhy v sekci komentáře níže.
Doporučené čtení
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Ú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
- Některé zajímavé otázky týkající se testování softwaru
- Zpětná vazba a recenze kurzu testování softwaru
- Testování softwaru Pomoc Partnerský program!