Čo je to zabezpečenie kvality softvéru?

  • Software Quality Assurance (SQA) je súbor činností na zabezpečenie kvality vyvíjaného softvéru. Štúdie ukázali, že 98% projektov nakoniec na trhu zlyhalo buď z nasledujúcich dôvodov, ako je odhadovaný čas, zmena požiadaviek, vyššie náklady, ako sa očakávalo, alebo vysoké náklady na údržbu. Preto je veľmi dôležité mať na pamäti rôzne parametre pred vývojom softvéru, aby sa minimalizovalo riziko zlyhania.
  • Aby sa minimalizovalo riziko zlyhania softvéru na trhu, dostavilo sa zabezpečenie kvality softvéru.
  • Zahŕňa súbor činností, procesov, postupov a štandardov, ktoré sú vhodné pre projekt. Zahŕňa všetky štandardy kvality softvéru od zhromaždenia požiadaviek až po jeho vývoj, vydanie a údržbu.
  • SQA prebieha súbežne so životným cyklom vývoja softvéru, ktorý pravidelne kontroluje, či vyvíjaný softvér musí spĺňať jeho normy v každej etape, aby sa dalo problémom predchádzať v počiatočných fázach, a nie ich riešiť po dokončení projektu.
  • SQA zahŕňa audit, školenie, definíciu procesu a implementáciu ako svoje hlavné činnosti. Akonáhle je proces definovaný, SQA začne hľadať slabiny v ňom a spôsoby, ako opraviť tieto slabiny pre lepší softvér.

Činnosti v oblasti zabezpečenia kvality softvéru

Nižšie sú uvedené niektoré z činností Software Quality Assurance.

1. Nastavenie kontrolného bodu

Tím SQA stanovuje kontrolné body po konkrétnych časových intervaloch, aby skontroloval priebeh, kvalitu, výkonnosť softvéru a či sa práca s kvalitou softvéru vykonáva včas podľa harmonogramu a dokumentov.

2. Zmerajte dopad zmeny

Pre chybu nahlásenú QA a opravenú vývojárom je veľmi dôležité znovu otestovať opravu defektu a overiť, či pevná defekt nezavádza nové chyby v pracovnom softvéri. Manažéri a vývojári preto udržiavajú a dodržiavajú testovacie metriky, aby skontrolovali novo generované chyby zavedením nových funkcií alebo odstránením akýchkoľvek chýb.

3. Mať stratégiu viacnásobného testovania

Človek by sa nemal spoliehať na jediný testovací prístup a stratégiu pre testovanie softvéru. V softvéri by sa mala implementovať stratégia viacerých testov tak, aby sa testovala z rôznych uhlov a pokrývala všetky oblasti. Pri testovaní bezpečnosti webových stránok v elektronickom obchode, testovaní výkonu, testovaní záťaže, testovaní databázy by sa malo všetko urobiť, aby sa zabezpečila lepšia kvalita softvéru.

4. Vedenie záznamov a správ

Je dôležité uchovávať všetky záznamy a dokumenty QA a pravidelne ich zdieľať so zainteresovanými stranami. Vykonané testovacie prípady, testovacie cykly, zaznamenané chyby, opravené chyby, vytvorené testovacie prípady, zmena požiadaviek klienta na konkrétny testovací prípad, všetko by sa malo riadne dokumentovať pre budúce použitie.

5. Riadenie dobrých vzťahov

V projekte zohráva dôležitú úlohu riadenie dobrých vzťahov medzi testermi a vývojármi. Keďže úloha vývojárov a testerov si navzájom odporuje, nemalo by sa to brať na osobnej úrovni. Hlavným cieľom oboch tímov by malo byť poskytovanie kvalitných projektov s minimálnym rizikom zlyhania.

6. Plán riadenia SQA

To zahŕňa nájdenie spôsobov, ako bude SQA pracovať v novom projekte najefektívnejším spôsobom. Zamyslite sa nad stratégiami SQA, procesmi softvérového inžinierstva, ktoré by sa mohli implementovať podľa požiadaviek projektu a individuálnych zručností členov tímu.

Komponenty systému SQA

SQA komponenty možno rozdeliť do 6 tried:

1. Zložky pred projektom

To zaručuje, že záväzok projektu bol jasne definovaný, pokiaľ ide o odhad času, objasnenie požiadaviek zákazníka, celkový rozpočet projektu, hodnotenie rozvojových rizík, celkový počet zamestnancov potrebných pre tento konkrétny projekt. Zabezpečuje tiež, aby boli jasne definované plány rozvoja a kvality.

2. Súčasti životného cyklu softvérového projektu

Táto súčasť obsahuje prehľad, odborné posudky, testovanie softvéru, komponenty údržby softvéru. V životnom cykle vývoja projektu obsahuje komponenty, ako sú recenzie, odborné posudky a zistenia chýb v návrhu a programovaní softvéru, zatiaľ čo v životnom cykle údržby softvéru zahŕňa špecializáciu komponentov údržby a komponentov životného cyklu vývoja na zlepšenie úloh údržby.

3. Súčasti infraštruktúry na prevenciu a zlepšovanie chýb

Táto zložka zahŕňa školenie personálu, certifikáciu, správu konfigurácie, preventívne a nápravné opatrenia, aby sa znížila miera chýb v softvéri na základe nahromadených skúseností organizácie SQA.

4. Komponenty riadenia kvality SQA

Táto trieda zahŕňa metriky kvality softvéru, náklady na kvalitu softvéru, ktoré zahŕňajú kontrolu údržbárskych a vývojových činností a zavedenie manažérskeho zapojenia s cieľom znížiť riziko kvality, harmonogram a rozpočet v projekte.

5. Komponenty normalizácie, certifikácie a posudzovania systému SQA

Hlavným cieľom tejto triedy je využitie medzinárodných odborných znalostí, ktoré pomáhajú pri koordinácii medzi rôznymi systémami kvality organizácie na profesionálnej úrovni.

6. Organizácia pre ľudské komponenty SQA

Táto základňa zahŕňa manažérov, testerov a ďalších odborníkov v oblasti SQA, ktorí sa zaujímajú o SQA. Hlavným cieľom je podporovať a iniciovať činnosti SQA, odhaľovať medzery / odchýlky v nich a navrhovať na tento účel zlepšenia.

Štandardy zabezpečenia kvality softvéru

Niekoľko organizácií, národných a medzinárodných inštitútov sa podieľa na vývoji noriem SQA. Nižšie sú uvedené hlavné organizácie a inštitúty, ktoré sa na ňom podieľajú:

  1. IEEE
  2. DOT
  3. ISO
  4. ANSI
  5. EIA
  6. IEC

Štandardy SQA sú v zásade rozdelené do dvoch kategórií:

1. Softvérový štandard zabezpečenia kvality, ktorý je známy ako štandardy riadenia kvality.

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

Zameriavajú sa na infraštruktúru organizácie, systém SQA, požiadavky ponechávajúce výber nástrojov a metód testovania na organizáciu. Ich štandardným cieľom je „čo“ dosiahnuť. Zabezpečuje, aby organizácie dosiahli prijateľnú kvalitu softvéru.

2. Softvérové ​​vývojové procesné štandardy, ktoré sú známe ako štandardy projektového procesu.

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

Zameriavajú sa na metodiky, ktoré sa musia implementovať do vývoja a údržby softvéru. Zameriava sa na „ako“ hrať. Zahŕňa požiadavky na projektovú dokumentáciu, kroky, ktoré sa majú podniknúť, testovanie softvéru, ktoré sa má vykonať, a otázky týkajúce sa preskúmania a preskúmania návrhu.

Techniky SQA

Existuje niekoľko techník SQA. Niektoré z nich sú uvedené nižšie:

1. Preskúmanie

V rámci preskúmania sa konajú stretnutia interných aj externých zainteresovaných strán s cieľom preskúmať celý projekt, ktorý analyzuje celý softvér a ak zistí problém, rozlišuje, či ide o testovanie, vývoj, požiadavku alebo dizajn. Hlavným cieľom je zmerať kvalitu softvér a zaistiť, či spĺňa očakávania zákazníkov alebo nie.

2. Auditovanie

V rámci auditu zúčastnené strany preveria celý pracovný produkt a všetky údaje, aby skontrolovali, či dodržiava štandardné postupy alebo nie.

3. Funkčné testovanie

Pri testovaní funkčnosti sa testuje funkčnosť celého softvéru, či funguje podľa očakávania alebo nie. Kontroluje „čo systém funguje“ bez toho, aby vedel „ako systém funguje“. Je to ako testovanie aplikácie v čiernej skrinke, v ktorej používateľ pozná očakávaný výstup bez toho, aby vedel, ako sa vyrába.

4. Normalizácia

Zaisťuje, že všetko v softvéri by malo byť štandardizované, tj dodržiava všetky normy buď normy v dokumentácii, vývoji, kontrole kvality. Znižuje nejednoznačnosť, a tým zlepšuje kvalitu softvéru.

5. Kontrola kódu

Inšpekcia kódexu je jedným z najformálnejších druhov revízií, ktorých hlavným cieľom je nájsť nedostatky v kóde a upozorniť na všetky problémy v rámci inšpekcie kódexu vedie školený moderátor namiesto autor kódu. Stretnutie má správne vstupné a výstupné kritériá. Používatelia musia pred schôdzou potrebovať úplnú prípravu, aby mali úplnú znalosť dokumentov a to všetko pred tým, ako sa vyjadria.

6. Návod

Sprievodca softvérom je druh neformálneho procesu a autor ho zvyčajne číta, aby prečítal dokument alebo kód a kolegovia členovia v ňom zapíšu svoje návrhy alebo chyby a predložia ich. Nie je to formálne zdokumentované, pretože na stretnutí nie je potrebná kontrola a moderátor. Jeho hlavným cieľom je poznať stav kódu dokončeného do dátumu a zbierať návrhy od kolegov na zlepšenie kvality softvéru.

7. Stresové testovanie

Stresové testovanie sa vykonáva na kontrolu toho, ako systém funguje pri veľkom zaťažení. Toto testovanie hrá dôležitú úlohu v kvalite softvéru ako v aplikáciách elektronického obchodu, stresové a záťažové testovanie sa vykonáva správne, aby sa otestovala kapacita softvéru (koľko maximálneho počtu používateľov má prístup k aplikácii súčasne).

8. Prehliadka konštrukcie

Inšpekcia návrhu sa vykonáva na kontrolu rôznych oblastí softvéru pomocou kontrolného zoznamu, ako je funkčný a návrh rozhrania, konvencie, všeobecné požiadavky a dizajn, sledovateľnosť požiadaviek, logika, spojenie a súdržnosť.

Výhody SQA

Poďme diskutovať o výhodách SQA.

1. Zvyšuje dôveru klienta

Správna kontrola kvality na rôznych úrovniach softvéru, ako je kontrola, inšpekcia, audit atď., A so zapojením interných aj externých zainteresovaných strán zvyšuje dôveru klientov v predkladanie týždenných správ o chybách a požiadavkách, čo tiež veľmi pomáha pri zabezpečovaní klientovi, že práca sa vykonáva včas.

2. SQA šetrí peniaze

Poruchy zistené v ranom štádiu, buď pri zhromažďovaní požiadaviek, kóde, testovaní, sú jednoduché a nákladovo efektívne v prípade správneho SQA vykonávaného na niekoľkých úrovniach, pomáha znižovať tieto riziká, pretože v počiatočných fázach boli odhalené a vyriešené maximálne chyby, a teda šetrí peniaze na opravu chybný softvér po predložení klientovi, ktorý môže stáť povesť spoločnosti, používateľov aj klientov.

3. Zvýšte spokojnosť zákazníka

Včasné zapojenie klienta do vývoja a testovania softvéru zvyšuje spokojnosť zákazníka s tým, že kvalitný softvér sa vyvíja a podľa požiadaviek a prijímania návrhov medzi zvážením zvyšuje spokojnosť zákazníka.

4. Zvyšuje produktivitu a účinnosť

Ak sa vývoj a testovanie vykonávajú paralelne, chyby zistené hneď po vývoji jedného modulu sú opravené vývojármi a včas ich vývojári umožňujú všetkým pracovať v mieri a produktívnejším spôsobom a nie byť zaťažení viacerými chybami naraz po dokončení. celého softvéru.

5. Zabraňuje nepredvídaným mimoriadnym udalostiam

Pri vývoji podnikového softvéru sú podiely tiež veľmi vysoké. Keďže softvér sa zaoberá množstvom citlivých údajov zákazníka, musí pracovať podľa očakávaní bez výpadkov, poškodenia alebo porúch komunikácie. Softvér by sa mal testovať veľmi dôsledne, aby fungoval podľa očakávania.

6. Znižuje konflikty klientov v čase ukončenia

Existuje veľa prípadov nesúhlasu klientov a organizácií neskôr v súvislosti so zmenou požiadaviek, času a rozpočtu stanoveného na začiatku, ktorá má za následok zrušenie projektu, stratu peňazí a zlý dojem spoločnosti na trhu (strata klienta ako vytvorilo by to zlú povesť). V SQA je všetko na začiatku projektu stanovené a správne zdokumentované bez akýchkoľvek nejasností, aby nevznikli žiadne konflikty

Nevýhody SQA

Poďme diskutovať o nevýhodách SQA.

1. Niekedy je ťažké implementovať

Keďže SQA definuje všetky činnosti a činnosti, ktoré by sa mali podniknúť v každom kroku vývoja softvéru veľmi podrobným spôsobom, niekedy je ťažké implementovať každú jednotlivú aktivitu a proces vo vývoji. Osoba vie, že by to bolo prospešné, ale zameranie sa na každý krok v detailoch je pri práci vo veľkých tímoch ťažké.

2. Časovo náročné

Realizácia každej akcie v SQA je veľmi časovo náročná a niekedy zbytočne stráca viac času v dokumentácii a stretnutiach než na skutočnom vývoji a testovaní softvéru.

3. Vysoké náklady

Implementáciou SQA, hoci náklady na opravu chýb v neskorších fázach možno znížiť ich nájdením a opravením iba v počiatočných fázach, ale pre malé projekty s nízkym rozpočtom je veľmi ťažké implementovať SQA, pretože sa zvyšuje počet zdrojov v projekt tak robí rozpočet projektu. Pri nábore malého projektu celý tím QA a implementácia SQA spôsobujú drastické zvýšenie nákladov na projekt.

záver

SQA je zastrešujúcou činnosťou, ktorá pokrýva celý projekt počas celého životného cyklu softvéru od zhromaždenia požiadaviek až po údržbu projektu. Zahŕňa všetky činnosti a procesy v rôznych fázach vývoja softvéru, aby sa zabezpečilo, že dodaný softvér by mal mať vysokú kvalitu a minimálne riziko, aby mohol uspieť na trhu a splniť očakávania zákazníkov a klientov.

Odporúčané články

Toto je príručka pre zabezpečenie kvality softvéru. Tu diskutujeme o činnostiach, komponentoch, výhodách a nevýhodách SQA. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Princípy testovania softvéru
  2. Životný cyklus testovania softvéru
  3. Agilný softvér
  4. Zabezpečenie kvality verzus kontrola kvality
  5. Techniky testovania čiernej skrinky

Kategórie: