Articles

Jaký je životní cyklus testování softwaru? Kompletní průvodce

prezentace dokonalého produktu zákazníkovi je konečným cílem každé organizace. Věděli jste však, že byly doby, kdy testování nebylo ani součástí životního cyklu vývoje softwaru (SDLC)?

nic neodradí zákazníky více než uživatelské prostředí plné chyb. Takže když si to podniky uvědomily, začaly zahrnovat testování jako povinnou součást SDLC. Od té doby se testování stalo nedílnou součástí každé organizace.

kompetence testování se v posledních několika desetiletích vyvíjely. V současné době se testování netýká hlášení chyb vývojáři. Má široký rozsah a je povinnou fází, kterou je třeba provést od počátečních fází projektu.

s agile se životní cyklus testování aplikace stal více procesně orientovaným a všestranným. Obvykle je celé zaměření podniku pouze na SDLC. A považují testování za součást tohoto procesu. Je ale nejvyšší čas, aby si firmy uvědomily, že testování softwaru má svůj vlastní životní cyklus.

v tomto příspěvku se podrobně podíváme na roli životního stylu testování softwaru (STLC) a jeho fází. Takže pojďme se ponořit přímo do!

jaký je životní cyklus testování softwaru?

nejprve pochopíme termín životní cyklus, než se dostaneme do všech detailů. Životní cyklus je posloupnost změn, kterými entita prochází z jedné formy do druhé. Mnoho konkrétních a nejasných entit prochází řadou změn od začátku do konce.

Když mluvíme o životním cyklu testování softwaru, software je entita. Životní cyklus testování softwaru je proces provádění různých činností během testování.

tyto činnosti zahrnují kontrolu vyvinutého softwaru, zda splňuje specifické požadavky. Pokud jsou v produktu nějaké vady, testeři pracují s vývojovým týmem. V některých případech musí kontaktovat zúčastněné strany, aby získali přehled o různých specifikacích produktu. Validace a verifikace produktu jsou také důležitými procesy STLC.

SDLC vs. STLC

o kompletní cestu produktu od jeho začátku až po konečný produkt se stará společnost SDLC. Mezi různými fázemi SDLC je testování jednou z nejdůležitějších. Testování softwaru je součástí SDLC. A tato část má svůj vlastní životní cyklus-STLC.

jak se tedy SDLC liší od STLC?

SDLC

  • Zaměření na budování produktu
  • nadřazeného procesu
  • Porozumění požadavkem uživatele a stavební produkt, který je užitečné pro uživatele
  • SDLC fáze jsou dokončeny dříve, než testování
  • cílem je zavést vysoce kvalitní produkt, který mohou uživatelé používat

STLC

  • Zaměřte se na testování produktu
  • dítě SDLC procesu
  • Porozumění vývoj požadavků a zajištění výrobek funguje, jak se očekávalo
  • STLC fáze začne po fázích SDLC jsou dokončeny
  • cílem je najít chyby v produktu a hlásit vývojovému týmu pro opravu chyb

toto jsou základní rozdíly mezi SDLC a STLC. Nyní pojďme pochopit stlc do hloubky.

jaká je Role STLC?

Nyní, když máme podstatu toho, co je životní cyklus testování softwaru, pojďme se podívat na to, proč je to nezbytné. I když má firma nejlepší programátory a vývojáře, jsou povinni dělat chyby. Hlavní úlohou STLC je najít tyto chyby a opravit je. Hlavním cílem provádění STLC je udržení kvality produktu.

Pryč jsou dny, kdy průměrný testování byl trend. V dnešním světě musí podniky provádět podrobné testování.

od plánování a výzkumu až po provádění a údržbu hraje každá fáze klíčovou roli při testování produktu.

SDLC je především o zajištění kvality produktu. Každá aplikace má různé atributy, jako je spolehlivost, funkčnost a výkon. A STLC pomáhá při zvyšování těchto atributů a usnadňuje dodávku ideálního konečného produktu.

vysoce kvalitní výrobek má za následek nižší náklady na údržbu v dlouhodobém horizontu. Stabilita aplikace nebo softwaru je nutností přilákat nové uživatele. Kromě toho trvale spolehlivé produkty také pomáhají udržet stávající klientelu. Aby produkt zůstal v oblasti podnikání, je důležité zaměřit se na každou fázi STLC.

fáze životního cyklu testování softwaru

ověření každého modulu softwaru nebo aplikace je nutností k zajištění přesnosti a přesnosti produktu. Protože samotné testování softwaru je komplikovaný proces, testeři jej provádějí ve fázích. Pokud testování postrádá organizaci, mohou se objevit složitosti. Složitost může zahrnovat nevyřešené chyby, nezjištěné regresní chyby nebo v nejhorším případě modul, který vynechal testování, protože se termín přiblížil.

každá fáze STLC má specifický cíl a výstupy. Zahrnuje zahájení, provedení a ukončení procesu testování.

podívejme se podrobně na různé fáze životního cyklu testování softwaru.

Analýza požadavků

vaše cenné softwarové testery musí prohlížet, studovat a analyzovat dostupné SPECIFIKACE a požadavky. Některé požadavky přinášejí výsledky tím, že je krmí vstupními daty. Tyto požadavky jsou testovatelné požadavky. Testeři studují funkční i nefunkční požadavky. Poté musí vybrat testovatelné požadavky.

aktivity v této fázi zahrnují brainstorming pro analýzu požadavků a identifikaci a stanovení priorit požadavků na testy. Zahrnují také výběr požadavků na automatizované i ruční testování.

existuje několik věcí, které jste testovali, i když nejsou výslovně uvedeny. Kliknutí na aktivní Tlačítko by mělo něco udělat, textové pole pro telefonní číslo by nemělo přijímat předložené abecedy. Tyto věci jsou univerzální a měly by být vždy testovány. Ale ve fázi analýzy požadavků je to o poznání konkrétnějších podrobností o produktu. Musíte se naučit, jak by měl být produkt v ideálním stavu.

abychom to shrnuli:

  • pochopte očekávaný výstup z produktu.
  • Identifikujte mezery ve specifikacích.
  • Sbírejte priority.
  • proveďte kontroly proveditelnosti automatizace.

plánování testů

druhým krokem je plánování testů a tým QA vytvoří tento plán po analýze všech nezbytných požadavků na testování. Nastíní rozsah a cíle po pochopení domény produktu. Tým poté analyzuje související rizika a definuje časové plány a testovací prostředí pro vytvoření strategie.

poté management dokončí nástroje a přiřadí role a odpovědnosti jednotlivcům. Přibližná časová osa je také definována, podle které by mělo být testování každého modulu dokončeno.

abychom to shrnuli:

  • připravte dokumentaci zkušebního plánu.
  • odhadněte čas a úsilí.
  • dokončete nástroje a platformu.
  • přiřaďte úkoly týmům a jednotlivcům.
  • Identifikovat požadavky na školení

Test Případ, Navrhování a Vývoj

Po rozvoj a plánování, je čas nechat tvůrčí šťávy tok! Na základě zkušebního plánu testeři navrhují a vyvíjejí testovací případy. Testovací případy by měly být rozsáhlé a měly by pokrývat téměř všechny možné případy. Měly by být shromážděny všechny příslušné permutace a kombinace. Tyto testovací případy můžete upřednostnit zkoumáním, které z nich jsou nejčastější nebo které z nich by nejvíce ovlivnily produkt.

následuje ověření a validace zadaných požadavků ve fázi dokumentace. Revize, aktualizace a schvalování automatizačních skriptů a testovacích případů jsou také základními procesy této fáze. Tato fáze také zahrnuje definování různých testovacích podmínek se vstupními daty a očekávanými výsledky.

shrnout:

  • výzkum a shromažďování možných akcí na produktu.
  • Vytvořte testovací případy.
  • upřednostněte testovací případy.
  • připravte automatizované skripty pro testovací případy.

Test Nastavení Prostředí

Testování činnosti potřebují určité faktory životního prostředí—jako jsou servery, rámců, hardware a software—pro provádění vyvinuté testovací případy. Konfigurace softwaru a hardwaru spolu s nastavením testovacích dat jsou hlavními součástmi této fáze. A je povinné kouřit test a vybavit své testery nástroji pro hlášení chyb.

v komunitě vývojářů je běžné slyšet „běžel na mém systému, ale neběží na vašem“. Proto je důležité, aby vaše testovací prostředí pokrývalo všechna prostředí, která by uživatel použil.

například některé funkce, které fungují v prohlížeči Google Chrome, nefungují v aplikaci Internet Explorer. Práce funkcí se také liší v závislosti na požadavcích na software a hardware. Funkce může fungovat hladce na 4 GB RAM, ale může způsobit problémy s 1 GB RAM. Výzkum prostředí používaných koncovými uživateli vám pomůže upřednostnit testovací prostředí.

je úkolem manažera QA, který dohlíží na tým, aby se postaral o nastavení testovacího prostředí.

abychom to shrnuli:

  • pochopte minimální požadavky
  • seznam softwaru a hardwaru potřebného pro různé úrovně výkonu.
  • Priority testovací prostředí
  • Nastavení testovací prostředí
  • Kouř test zastavěného prostředí

Provedení Testu

aplikace je připravena pro testování, jakmile tým je provedeno se všemi předchozími fázemi. Podle zkušebního plánu testeři provádějí testovací případy. Také identifikují, detekují a zaznamenávají závady, čímž hlásí chyby. Tým je také zodpovědný za porovnání očekávaných výsledků se skutečným výsledkem. Pokud jsou nalezeny nějaké chyby, musí být zdokumentovány, aby byly předány vývojovému týmu k opravě.

jakmile vývojový tým odstraní chybu, začne regresní testování. Regresní testování má zajistit, aby software nebo aplikace fungovaly i po nasazení změny. Při testování po opravě chyby znovu otestujte celý produkt. Protože oprava chyby by mohla vytvořit chybu v jiné části produktu. A protože stejné testy je třeba spustit znovu a znovu po každé opravě a nasazení, doporučuje se používat skripty nebo automatizované testovací nástroje.

abychom to shrnuli:

  • spusťte testovací případy.
  • Identifikujte odchylku od očekávaného chování produktu.
  • Protokolujte neúspěšné případy s podrobnostmi
  • po opravách chyb znovu otestujte.

uzavření testu

a to nás přivádí do poslední fáze STLC: uzavření testu.

konec provedení zkoušky a dodání konečného produktu znamená nástup fáze uzavření zkoušky. Tým QA kontroluje výsledky testů a diskutuje je s ostatními členy týmu. Některé další faktory, které považují, jsou kvalita produktu, pokrytí testem a náklady na projekt. Pokud existuje odchylka od odhadovaných hodnot, lze provést další analýzy, aby se zjistilo, co nešlo podle očekávání.

je to základní praxe pro testery, aby se po testování sešli a diskutovali o závěru. Jakékoli problémy, kterým čelí během testování, nedostatky ve strategiích lze diskutovat zde. Můžete také pracovat na vymýšlení lepšího přístupu k testování na základě poznatků během testování. Pokud se budete řídit praxí DevOps nebo canary release, testování je časté. Můžete se rozhodnout, jak často posílat zprávy a jaké podrobnosti je třeba zmínit při odesílání zpráv různým zúčastněným stranám.

kromě toho tým také zvažuje testovací metriky, plnění cílů a jejich dodržování termínů. Jakmile budou mít celkový přehled o tom, co se stalo, mohou vyhodnotit celou testovací strategii a proces.

abychom to shrnuli:

  • ověřte, zda jsou všechny testy dokončeny.
  • vyhodnoťte faktory, jako je kvalita, pokrytí testů, časová osa a náklady.
  • dokumentujte závěr.
  • diskutujte o učení a zjistěte, zda lze proces testování zlepšit.
  • připravte zprávu o uzavření zkoušky.

jaká jsou vstupní a výstupní kritéria pro testování?

všech šest fází životního cyklu testování softwaru má vstupní nebo výstupní kritéria s nimi spojená. Testeři musí dokončit provádění testovacích případů ve stanoveném čase. Musí také udržovat kvalitu, funkčnost a účinnost konečného produktu. Proto je nutné definovat vstupní a výstupní kritéria. To teď uděláme.

Vstupní Kritéria

Vstupní kritéria stát, který požadavky, tým se musí postarat o před zahájením zkušebního postupu. Před zahájením testování je povinné odškrtnout všechny požadavky.

před zahájením testování musí být přítomny některé probíhající činnosti a podmínky. Nejprve potřebujete informace od vývojového týmu. Budete také chtít prozkoumat testovací plán, testovací případy a data, testovací prostředí a váš kód.

výstupní kritéria

výstupní kritéria uvádějí požadavky a akce, které je třeba dokončit před ukončením testování. Jinými slovy, obsahují položky, které mají vyškrtnout seznam úkolů, a procesy, které je třeba dokončit před zastavením testování.

výstupní kritéria budou zahrnovat identifikaci závad s vysokou prioritou. Budete je muset hned opravit. Testeři musí projít různými testovacími případy a zajistit plné funkční pokrytí.

závěr

pouhá identifikace chyb v poslední fázi SDLC již není efektivní praxí. Existují různé další každodenní činnosti, na které se firma musí zaměřit. Věnovat příliš mnoho svého drahocenného času testování a opravy chyb může bránit efektivitě. Koneckonců, budete mít více času na generování méně výstupu.

pro usnadnění procesu testování je důležité efektivně využívat čas a zdroje. Po systematickém STLC vede nejen k rychlé opravě chyb, ale také zvyšuje kvalitu produktu. Zvýšením spokojenosti zákazníků si užijete zvýšenou návratnost investic a lepší přítomnost značky.

tento příspěvek napsal Arnab Roy Chowdhury. Arnab je vývojář UI z povolání a nadšenec blogů. Má silné odborné znalosti v oblasti nejnovějších trendů UI / UX, metodik projektů, testování a skriptování.

co číst dál

Co je testování Shift Left? Průvodce pro zlepšení QA