Co je to Software Quality Assurance?

  • Software Quality Assurance (SQA) je soubor činností, které zajišťují kvalitu vyvíjeného softwaru. Studie ukázaly, že 98% projektů nakonec na trhu selhalo buď z následujících důvodů, jako je odhadovaný čas, změna požadavků, vyšší náklady, než se očekávalo, nebo vysoké náklady na údržbu. Proto je velmi důležité mít na paměti různé parametry před vývojem softwaru, aby se minimalizovalo riziko selhání.
  • Aby se minimalizovalo riziko selhání softwaru na trhu, do obrazu přišlo zajištění kvality softwaru.
  • Zahrnuje soubor činností, procesů, postupů a standardů vhodných pro daný projekt. Pokrývá všechny standardy kvality softwaru od sběru požadavků až po jeho vývoj, uvolnění a údržbu.
  • SQA běží souběžně s vývojovým životním cyklem softwaru, který pravidelně kontroluje, zda vyvíjený software musí splňovat své standardy v každé fázi, takže problémům lze předcházet v raných stádiích, než aby se s nimi po dokončení projektu řešilo.
  • SQA zahrnuje jako hlavní činnosti audit, školení, definici procesů a implementaci. Jakmile je proces definován, SQA začne v něm hledat slabiny a způsoby, jak tyto slabiny napravit pro lepší software.

Činnosti v oblasti zajištění kvality softwaru

Níže jsou uvedeny některé z činností Software Quality Assurance.

1. Nastavení kontrolního bodu

Tým SQA nastavuje kontrolní body po konkrétních časových intervalech, aby zkontroloval průběh, kvalitu, výkonnost softwaru a to, zda se práce na kvalitě softwaru provádí včas podle harmonogramu a dokumentů.

2. Změřte dopad změny

U vady nahlášené QA a opravené vývojářem je velmi důležité znovu testovat opravu vady a ověřit, zda pevná vada nezavádí v pracovním softwaru nové vady. Za tímto účelem manažeři a vývojáři udržují a dodržují testovací metriky, aby zkontrolovali nově generované vady zavedením nové funkce nebo opravou jakékoli vady.

3. Mít strategii vícenásobného testování

Člověk by se neměl spoléhat na jediný testovací přístup a strategii pro testování softwaru. V softwaru by měla být implementována strategie vícenásobného testování tak, aby byla testována z různých úhlů a pokrývala všechny oblasti. Pro testování zabezpečení webových stránek elektronického obchodu, testování výkonu, testování zatížení, testování databáze by mělo být provedeno vše pro zajištění lepší kvality softwaru.

4. Správa záznamů a zpráv

Je důležité uchovávat všechny záznamy a dokumenty QA a včas je sdílet se zúčastněnými stranami. Provedené zkušební případy, zkušební cykly, zaznamenané závady, opravené závady, vytvořené zkušební případy, změna požadavků klienta na konkrétní zkušební případ, všechny by měly být řádně zdokumentovány pro budoucí použití.

5. Řízení dobrých vztahů

V projektu hraje důležitou roli řízení dobrých vztahů mezi testery a vývojáři. Protože role vývojáře a testera si vzájemně odporují, nemělo by se to však brát na osobní úrovni. Hlavním cílem obou týmů by mělo být dodání kvalitních projektů s minimálním rizikem selhání.

6. Plán řízení SQA

To zahrnuje nalezení způsobů, jak bude SQA pracovat v novém projektu nejefektivnějším způsobem. Přemýšlejte o strategiích SQA, procesech softwarového inženýrství, které by mohly být implementovány podle požadavků projektu a individuálních dovedností členů týmu.

Součásti systému SQA

SQA komponenty lze rozdělit do 6 tříd:

1. Předprojektové komponenty

Tím je zajištěno, že závazek projektu byl jasně definován, pokud jde o odhad času, vyjasnění požadavků zákazníka, celkový rozpočet projektu, hodnocení rozvojových rizik, celkový počet zaměstnanců potřebných pro tento konkrétní projekt. Rovněž zajišťuje, aby byly jasně definovány plány rozvoje a kvality.

2. Součásti životního cyklu softwarového projektu

Tato součást zahrnuje revizi, znalecké posudky, testování softwaru, součásti údržby softwaru. V životním cyklu vývoje projektu zahrnuje komponenty, jako jsou recenze, odborné posudky a zjištění závad v návrhu a programování softwaru, zatímco v životním cyklu údržby softwaru zahrnuje specializaci na komponenty údržby a komponenty životního cyklu vývoje pro zlepšení úkolů údržby.

3. Součásti infrastruktury pro předcházení chybám a vylepšení

Tato součást zahrnuje školení personálu, certifikaci, správu konfigurace, preventivní a nápravná opatření s cílem snížit míru chyb v softwaru na základě nashromážděných zkušeností organizace SQA.

4. Komponenty řízení SQA

Tato třída zahrnuje metriky kvality softwaru, náklady na kvalitu softwaru, které zahrnují kontrolu údržbářských a vývojových činností a zavedení manažerského zapojení za účelem snížení rizika kvality, harmonogramu a rozpočtu v projektu.

5. Složky normalizace, certifikace a hodnocení systému SQA

Hlavním cílem této třídy je využití odborných mezinárodních znalostí, které pomáhají při koordinaci mezi různými systémy kvality organizace na profesionální úrovni.

6. Organizace pro lidské komponenty SQA

Tato základna zahrnuje manažery, testery a další praktikující SQA, kteří mají zájem o SQA. Hlavním cílem je podporovat a iniciovat činnosti SQA, odhalovat mezery / odchylky v nich a navrhovat pro to zlepšení.

Standardy zajištění kvality softwaru

Na vývoji standardů SQA se podílí několik organizací, národních a mezinárodních institutů. Níže jsou uvedeny hlavní organizace a instituty, které se na něm podílejí:

  1. IEEE
  2. TEČKA
  3. ISO
  4. ANSI
  5. EIA
  6. IEC

Standardy SQA jsou v zásadě rozděleny do dvou kategorií:

1. Standard pro zajištění kvality softwaru, který je známý jako standardy pro řízení kvality.

Příklad: ISO 9000-3, CMM (Capability Maturity Model).

Zaměřují se na infrastrukturu organizace, systém SQA, požadavky ponechávající výběr nástrojů a metod testování na organizaci. Jejich standardním cílem je „co“ dosáhnout. Zajišťuje, aby organizace dosáhly přijatelné kvality softwaru.

2. Softwarové projektové vývojové standardy, které jsou známé jako standardy projektového procesu.

Příklad: ISO / IEC 12207 IEEEStd 1012-1998.

Zaměřují se na metodiky, které musí být implementovány do vývoje a údržby softwaru. Zaměřuje se na „jak“ hrát. Zahrnuje požadavky na projektovou dokumentaci, kroky, které je třeba podniknout, testování softwaru, které se má provést, a otázky týkající se kontroly a kontroly návrhu.

Techniky SQA

Existuje několik technik SQA. Některé z nich jsou uvedeny níže:

1. Přezkum

Při přezkumu se konají schůzky interních i externích zúčastněných stran za účelem přezkoumání celého projektu, který analyzuje celý software a pokud zjistí problém, rozlišuje, zda se jedná o testování, vývoj, požadavek nebo design. Hlavním cílem je měřit kvalitu software a zajistit, zda splňuje očekávání zákazníka nebo ne.

2. Auditování

Při auditu jsou zúčastněnými stranami zkontrolovány celé pracovní produkty a všechna data, aby se ověřilo, zda dodržují standardní procesy nebo ne.

3. Funkční testování

Při testování funkčnosti se testuje funkčnost celého softwaru, zda funguje podle očekávání nebo ne. Kontroluje „co systém funguje“, aniž by věděl „jak systém funguje“. Je to jako testování černé skříňky aplikace, ve které uživatel zná očekávaný výstup, aniž by věděl, jak je vytvořen.

4. Standardizace

Zajišťuje, že vše v softwaru by mělo být standardizováno, tj. Dodržuje všechny standardy, buď normy v dokumentaci, vývoji, kontrole kvality. Snižuje nejednoznačnost, a tím zlepšuje kvalitu softwaru.

5. Inspekce kódu

Inspekce kódu je jedním z nejformálnějších druhů revizí, jejichž hlavním cílem je nalezení vad kódu a zdůraznění jakýchkoli problémů v inspekci kódu vede spíše vyškolený moderátor než autor kódu. Setkání má správné vstupní a výstupní kritéria. Uživatelé musí před zahájením schůzky potřebovat úplnou přípravu, aby měli úplnou znalost dokumentů a to vše před tím, než uvedou své body.

6. Návod

Softwarový průchod je druh neformálního procesu a obvykle je iniciován autorem, aby přečetl dokument nebo kód a kolegové členové si do něj zapíší své návrhy nebo chyby a předloží je. Není formálně zdokumentováno, protože inspekce není na schůzce nutná. Jeho hlavním cílem je znát stav kódu dokončeného do data a shromažďovat návrhy od vrstevníků pro lepší kvalitu softwaru.

7. Zátěžové testování

Stresové testování se provádí za účelem ověření, jak systém pracuje při velkém zatížení. Toto testování hraje důležitou roli v kvalitě softwaru, jako je tomu v aplikacích elektronického obchodování, zátěžové a zátěžové testy se provádějí správně, aby se otestovala kapacita softwaru (kolik maximálního počtu uživatelů má přístup k aplikaci najednou).

8. Prohlídka návrhu

Inspekce designu se provádí za účelem kontroly různých oblastí softwaru pomocí kontrolního seznamu, jako je funkční a návrh rozhraní, konvence, obecné požadavky a design, sledovatelnost požadavků, logika, vazba a soudržnost.

Výhody SQA

Pojďme diskutovat o výhodách SQA.

1. Zvyšuje důvěru klientů

Správná kontrola kvality na různých úrovních softwaru, jako je kontrola, inspekce, audit atd., A se zapojením interních i externích zúčastněných stran zvyšuje důvěru klientů v předkládání týdenních zpráv o metrikách vad a požadavků také hodně pomáhá při zajišťování klientovi, že se práce provádí včas.

2. SQA šetří peníze

Vady zjištěné v rané fázi buď v shromažďování požadavků, kódování, testování jsou snadné a nákladově efektivní pro správné SQA prováděné na několika úrovních, pomáhá snížit toto riziko, protože maximální vady byly odhaleny a vyřešeny v raných fázích, a tudíž šetří peníze na opravu chybný software poté, co byl představen klientovi, což může stát pověst společnosti, uživatelů i klientů.

3. Zvýšení spokojenosti zákazníků

Včasné zapojení klienta do vývoje a testování softwaru zvyšuje spokojenost zákazníka s tím, že se vyvíjí kvalitní software, a podle požadavků a přijímání návrhů mezi úvahami zvyšuje spokojenost zákazníka.

4. Podporuje produktivitu a účinnost

Pokud jsou vývoj a testování prováděny paralelně, vady zjištěné brzy po vytvoření jediného modulu jsou opraveny vývojáři a včas je umožní všem pracovat v míru a produktivnějším způsobem, než aby byli zatíženi více chybami najednou po dokončení celého softwaru.

5. Zabraňuje nepředvídaným událostem

Při vývoji podnikového softwaru jsou sázky také velmi vysoké. Protože se software zabývá mnoha citlivými daty zákazníků, musí fungovat podle očekávání bez výpadků, poškození nebo poruch komunikace. Software by měl být velmi pečlivě testován, aby fungoval podle očekávání.

6. Snižuje konflikty klientů v době ukončení

Existuje mnoho případů neshod mezi klientem a organizacemi později ohledně změny požadavků, času a rozpočtu stanoveného na začátku, což má za následek zrušení projektu, ztrátu peněz a špatný dojem společnosti na trhu (ztráta klienta jako vytvořilo by to špatnou pověst). V SQA je vše na začátku projektu opraveno a řádně zdokumentováno bez nejasností, aby nevznikly žádné konflikty

Nevýhody SQA

Pojďme diskutovat o nevýhodách SQA.

1. Někdy obtížné implementovat

Protože SQA definuje všechny činnosti a činnosti, které by se měly provádět v každém kroku vývoje softwaru, velmi podrobným způsobem, někdy je obtížné implementovat každou jednotlivou aktivitu a proces ve vývoji. Osoba tedy ví, že by to bylo prospěšné, ale soustředit se na každý krok v detailu je při práci ve velkých týmech obtížné.

2. Časová náročnost

Realizace každé akce v SQA je velmi časově náročná a někdy ztrácí více času v dokumentaci a schůzkách než na skutečném vývoji a testování softwaru.

3. Vysoké náklady

Realizací SQA, i když náklady na opravu chyb v pozdějších fázích lze snížit jejich vyhledáním a opravou pouze v počátečních fázích, ale pro malé projekty s nízkým rozpočtem je velmi obtížné implementovat SQA, protože počet zdrojů se zvyšuje projekt tak činí rozpočet projektu. Pro pronájem malých projektů celý tým QA a implementace SQA způsobují drastické zvýšení nákladů na projekt.

Závěr

SQA je zastřešující činnost, která pokrývá celý projekt v průběhu životního cyklu softwaru, počínaje shromažďováním požadavků až po údržbu projektu. Pokrývá všechny činnosti a procesy v různých fázích vývoje softwaru, aby bylo zajištěno, že dodaný software by měl být vysoce kvalitní a minimální riziko, aby mohl uspět na trhu a splnit očekávání zákazníků a klientů.

Doporučené články

Toto je průvodce zabezpečením kvality softwaru. Zde diskutujeme aktivity, komponenty, výhody a nevýhody SQA. Další informace naleznete také v dalších navrhovaných článcích -

  1. Principy testování softwaru
  2. Životní cyklus testování softwaru
  3. Agilní software
  4. Zajištění kvality vs. kontrola kvality
  5. Techniky testování černé skříňky

Kategorie: