what is software quality assurance
Co je zajištění kvality softwaru?
Zajištění kvality softwaru (SQA) je proces, který zajišťuje, že všechny procesy, metody, činnosti a pracovní položky softwarového inženýrství jsou sledovány a splňují definované standardy. Tyto definované standardy mohou být jedno nebo kombinace jakýchkoli, jako je ISO 9000, model CMMI, ISO15504 atd.
SQA zahrnuje všechny procesy vývoje softwaru od definování požadavků až po kódování až do vydání. Jeho hlavním cílem je zajistit kvalitu.
Co se naučíte:
- Plán zajištění kvality softwaru
- Činnosti SQA
- Standardy zajištění kvality softwaru
- Prvky zajištění kvality softwaru
- Techniky SQA
- Závěr
- Doporučené čtení
Plán zajištění kvality softwaru
Zkráceně SQAP zahrnuje plán zajištění kvality softwaru postupy, techniky a nástroje, které se používají k zajištění souladu produktu nebo služby s požadavky definovanými v SRS (specifikace softwarového požadavku).
Plán identifikuje odpovědnosti týmu za SQA, uvádí oblasti, které je třeba přezkoumat a zkontrolovat. Rovněž identifikuje pracovní produkty SQA.
Dokument plánu SQA se skládá z následujících částí:
- Účel sekce
- Referenční část
- Sekce správy konfigurace softwaru
- Sekce hlášení problémů a nápravná opatření
- Sekce nástrojů, technologií a metodik
- Sekce ovládání kódu
- Záznamy: Sběr, údržba a uchovávání
- Metodika testování
Činnosti SQA
Níže je uveden seznam aktivit SQA:
# 1) Vytvoření plánu řízení SQA:
Nejdůležitější aktivita zahrnuje stanovení správného plánu ohledně toho, jak bude SQA prováděno ve vašem projektu.
Spolu s tím, jakým přístupem SQA se budete řídit, jaké inženýrské činnosti budou prováděny, a zahrnuje také zajištění toho, abyste ve svém týmu měli správnou kombinaci talentů.
# 2) Nastavení kontrolních bodů:
Tým SQA nastavuje různé kontrolní body, podle nichž hodnotí kvalitu projektových aktivit v každém kontrolním bodě / fázi projektu. Tím je zajištěna pravidelná kontrola kvality a práce podle harmonogramu.
# 3) Použijte softwarové inženýrské techniky:
Uplatnění některých technik softwarového inženýrství pomáhá softwarovému návrháři dosáhnout vysoce kvalitních specifikací. Pro shromažďování informací může návrhář použít techniky, jako jsou rozhovory a FAST (Technika funkční analýzy systému).
Později, na základě shromážděných informací, může návrhář softwaru připravit odhad projektu pomocí technik, jako je WBS (struktura rozdělení práce), SLOC (zdrojová řada kódů) a FP (funkční bod) odhad.
# 4) Provádění formálních technických recenzí:
FTR se provádí za účelem vyhodnocení kvality a designu prototypu.
V tomto procesu se uskutečňuje schůzka s technickým personálem, kde se diskutuje o skutečných požadavcích na kvalitu softwaru a kvalitě designu prototypu. Tato aktivita pomáhá při zjišťování chyb v počáteční fázi SDLC a snižuje úsilí o přepracování v pozdějších fázích.
# 5) Mít strategii více testů:
Strategií multi-testování máme na mysli, že bychom se neměli spoléhat na žádný jednotlivý testovací přístup, místo toho by mělo být prováděno více typů testování, aby bylo možné softwarový produkt testovat dobře ze všech úhlů, aby byla zajištěna lepší kvalita.
# 6) Prosazování dodržování procesu:
Tato aktivita trvá na potřebě dodržování procesu během procesu vývoje softwaru. Proces vývoje by se měl také držet stanovených postupů.
Tato aktivita je směsicí dvou dílčích činností, které jsou podrobně vysvětleny níže:
i) Hodnocení produktu:
Tato aktivita potvrzuje, že softwarový produkt splňuje požadavky, které byly objeveny v plánu řízení projektu. Zajišťuje správné dodržování stanovených standardů projektu.
ii) Monitorování procesu:
implicitní čekání a explicitní čekání v selenu
Tato aktivita ověří, zda byly během vývoje softwaru podniknuty správné kroky. To se provádí porovnáním skutečně přijatých kroků s dokumentovanými kroky.
# 7) Řízení změn:
V této aktivitě používáme kombinaci manuálních postupů a automatizovaných nástrojů, abychom měli mechanismus pro kontrolu změn.
Potvrzením požadavků na změnu, vyhodnocením povahy změny a řízením efektu změny je zajištěno udržení kvality softwaru během fází vývoje a údržby.
# 8) Dopad změny opatření:
Pokud tým QA nahlásí jakoukoli závadu, opraví ji dotyčný tým.
Poté by měl tým QA určit dopad změny, kterou tato oprava vady přináší. Musí otestovat nejen to, zda změna opravila vadu, ale také to, zda je změna kompatibilní s celým projektem.
Za tímto účelem používáme metriky kvality softwaru, které umožňují manažerům a vývojářům sledovat aktivity a navrhované změny od začátku do konce SDLC a iniciovat nápravná opatření, kdykoli je to nutné.
# 9) Provádění auditů SQA:
Audit SQA zkontroluje celý skutečný proces SDLC a poté jej porovná s ustanoveným procesem.
Kontroluje také vše, co tým nahlásil ve zprávách o stavu, které byly skutečně provedeny nebo ne. Tato aktivita také odhaluje jakékoli problémy s nedodržováním předpisů.
# 10) Vedení záznamů a zpráv:
Je zásadní vést potřebnou dokumentaci týkající se SQA a sdílet požadované informace SQA se zúčastněnými stranami. Výsledky testů, výsledky auditu, zprávy o kontrole, dokumentace žádostí o změnu atd. By měly být uchovány pro budoucí použití.
# 11) Spravujte dobré vztahy:
Ve skutečnosti je velmi důležité udržovat harmonii mezi QA a vývojovým týmem.
Často slyšíme, že testeři a vývojáři se často cítí nad sebou. Tomu by se mělo zabránit, protože to může ovlivnit celkovou kvalitu projektu.
Standardy zajištění kvality softwaru
Obecně může SQA vyžadovat shodu s jedním nebo více standardy.
Níže jsou popsány některé z nejpopulárnějších standardů:
ISO 9000: Tento standard je založen na sedmi principech řízení kvality, které pomáhají organizacím zajistit, aby jejich produkty nebo služby byly v souladu s potřebami zákazníků. “
Na následujícím obrázku je znázorněno 7 principů ISO 9000:
Úroveň CMMI: CMMI znamená Integrace modelu zralosti schopností . Tento model vznikl v softwarovém inženýrství. Může být použit k nasměrování zlepšení procesu v rámci projektu, oddělení nebo celé organizace.
5 úrovní CMMI a jejich charakteristiky jsou popsány na následujícím obrázku:
Organizace je hodnocena a je jí uděleno hodnocení úrovně zralosti (1–5) podle typu hodnocení.
Integrace testovacího modelu zralosti (TMMi): Na základě CMMi se tento model zaměřuje na úrovně vyspělosti v řízení a testování kvality softwaru.
Na následujícím obrázku je znázorněno 5 úrovní TMMi:
Jak se organizace pohybuje na vyšší úrovni vyspělosti, dosahuje vyšší schopnosti pro výrobu vysoce kvalitních produktů s menším počtem závad a přesně odpovídá obchodním požadavkům.
Prvky zajištění kvality softwaru
Existuje 10 základních prvků SQA, které jsou uvedeny níže pro vaši referenci:
aplikace, kde si můžete stáhnout youtube videa
- Standardy softwarového inženýrství
- Technické kontroly a audity
- Testování softwaru pro kontrolu kvality
- Shromažďování a analýza chyb
- Řízení změn
- Vzdělávací programy
- Správa prodejců
- Správa zabezpečení
- Bezpečnost
- Řízení rizik
Techniky SQA
Existuje několik technik pro SQA. Audit je hlavní technika, která je široce přijímána. Máme však také několik dalších významných technik.
Mezi různé techniky SQA patří:
- Auditování: Audit zahrnuje kontrolu pracovních produktů a souvisejících informací, aby se zjistilo, zda byl dodržen soubor standardních procesů.
- Přezkoumání : Setkání, na kterém je softwarový produkt zkoumán interními i externími zúčastněnými stranami za účelem získání jejich komentářů a schválení.
- Kontrola kódu: Jedná se o nejformálnější druh kontroly, která provádí statické testování, aby našla chyby a zabránila růstu defektů v pozdějších fázích. Provádí to proškolený mediátor / kolega a je založen na pravidlech, kontrolním seznamu, vstupních a výstupních kritériích. Recenzent by neměl být autorem kódu.
- Inspekce designu: Inspekce designu se provádí pomocí kontrolního seznamu, který kontroluje níže uvedené oblasti designu softwaru:
- Obecné požadavky a design
- Funkční specifikace a specifikace rozhraní
- Konvence
- Sledovatelnost požadavku
- Struktury a rozhraní
- Logika
- Výkon
- Zpracování a obnovení chyb
- Testovatelnost, rozšiřitelnost
- Spojení a soudržnost
- Simulace: Simulace je nástroj, který modeluje situaci v reálném životě, aby bylo možné virtuálně zkoumat chování studovaného systému.
- Funkční testování: Jedná se o techniku QA, která ověřuje, co systém dělá, aniž by zvažovala, jak to dělá. Tento typ testování černé skříňky zaměřuje se hlavně na testování specifikací nebo funkcí systému.
- Standardizace: Standardizace hraje při zajišťování kvality klíčovou roli. Snižuje nejednoznačnost a dohady, čímž zajišťuje kvalitu.
- Statická analýza: Jedná se o softwarovou analýzu, kterou provádí automatizovaný nástroj, aniž by program skutečně provedl. Tato technika se velmi často používá pro zajištění kvality lékařského, jaderného a leteckého softwaru. Softwarové metriky a reverzní inženýrství jsou některé populární formy statické analýzy.
- Návody: Návod na software nebo návod na kód je druh peer review, kde vývojář vede členy vývojového týmu k procházení produktu a zvyšování dotazů, navrhování alternativ, komentování možných chyb, porušení standardů nebo jiných problémů.
- Testování cesty: Je to technika testování bílé krabice kde je úplné pokrytí větve zajištěno provedením každé nezávislé cesty alespoň jednou.
- Stresové testování: Tento typ testování se provádí, aby se zkontrolovalo, jak robustní je systém, a to testováním při velkém zatížení, tj. Za normálních podmínek.
- Six Sigma: Six Sigma je přístup zajišťování kvality, jehož cílem je téměř dokonalé produkty nebo služby. Je široce používán v mnoha oblastech, včetně softwaru. Hlavním cílem Six Sigma je vylepšení procesu tak, aby vyrobený software neobsahoval 99,76% defektů.
Závěr
SQA je zastřešující aktivita, která se používá během celého životního cyklu softwaru.
Zajištění kvality softwaru je pro váš softwarový produkt nebo službu velmi důležité, aby uspěli na trhu a přežili podle očekávání zákazníka.
Existují různé činnosti, standardy a techniky, které musíte dodržet, abyste zajistili vysokou kvalitu dodávaného softwaru a úzce se shodovaly s obchodními potřebami.
Doufám, že byste měli jasnou představu o konceptu Software Quality Assurance prostřednictvím tohoto informativního článku !!
Doporučené čtení
- Testování softwaru a certifikace zajištění kvality - část 2
- Jaké jsou atributy kvality?
- Falešný bůh kvality versus skuteční lidé - kdo odpovídá za kvalitu softwaru?
- Rozdíl mezi zabezpečením kvality a kontrolou kvality (QA vs. QC)
- Průvodce obnovením dokonalého testování softwaru (s ukázkou obnovení softwaru Tester softwaru)
- Jak používat techniku Poka-Yoke (kontrola chyb) ke zlepšení kvality softwaru
- Vzájemné porozumění při testování: klíč k dodání kvalitního softwaru
- Úloha pomocníka QA při testování softwaru