Kaj je zagotavljanje kakovosti programske opreme?

  • Zagotavljanje kakovosti programske opreme (SQA) je niz dejavnosti za zagotavljanje kakovosti programske opreme, ki se razvija. Študije so pokazale, da 98% projektov na koncu ni uspelo zaradi naslednjih razlogov, kot so predvideni čas, spremembe potreb, višji stroški od pričakovanih ali visoki stroški vzdrževanja. Zato je zelo pomembno, da pred razvojem programske opreme upoštevate različne parametre, da zmanjšate tveganje za neuspeh.
  • Da bi zmanjšali tveganje za neuspeh programske opreme na trgu, se je začelo zagotavljati kakovost programske opreme.
  • Vključuje vrsto dejavnosti, procesov, postopkov in standardov, ki so primerni za projekt. Zajema vse standarde kakovosti programske opreme od zbiranja zahtev do njenega razvoja, izdaje in vzdrževanja.
  • SQA poteka vzporedno z razvojnim življenjskim ciklom programske opreme, ki redno preverja, ali naj programska oprema, ki se razvija, v vsaki fazi izpolnjuje njene standarde, tako da je težave mogoče preprečiti v zgodnjih fazah, namesto da bi jih reševali po zaključku projekta.
  • SQA vključuje glavne revizije, usposabljanje, opredelitev procesov in izvajanje. Ko je postopek definiran, SQA začne najti njegove pomanjkljivosti in načine za odpravo pomanjkljivosti za boljšo programsko opremo.

Dejavnosti zagotavljanja kakovosti programske opreme

Spodaj so navedene nekatere dejavnosti zagotavljanja kakovosti programske opreme.

1. Nastavitev kontrolne točke

Ekipa SQA postavi kontrolne točke po določenih časovnih intervalih, da preveri napredek, kakovost, delovanje programske opreme in ali se delo s kakovostjo programske opreme opravi pravočasno, kot je določeno v urniku in dokumentih.

2. Izmerite vpliv sprememb

Za napako, o kateri poroča QA in jo odpravi razvijalec, je zelo pomembno, da ponovno odpravite napako in preverite, ali odpravljena napaka ne vnaša novih napak v delujoče programske opreme. V ta namen upravljavci in razvijalci vzdržujejo in spremljajo testne metrike, da z uvedbo nove funkcionalnosti ali odpravljanjem kakršne koli napake preverijo, ali so na novo nastale napake.

3. Imate več strategij testiranja

Ne smemo se zanašati na enoten pristop in strategijo testiranja programske opreme. V programski opremi je treba izvajati več strategij testiranja, da bi jih lahko preizkusili iz različnih zornih kotov in pokrili vsa področja. Za varnostno testiranje spletnega mesta za e-trgovino, testiranje učinkovitosti, testiranje obremenitve, testiranje baz podatkov je treba storiti vse za zagotovitev boljše kakovosti programske opreme.

4. Vzdrževanje evidenc in poročil

Pomembno je voditi vse evidence in dokumente QA ter jih občasno deliti z deležniki. Izvedeni preskusni primeri, preskusni cikli, zabeležene napake, odpravljene napake, izdelani preskusni primeri, spremembe zahtev odjemalca za določen testni primer, vsi morajo biti ustrezno dokumentirani za nadaljnjo uporabo.

5. Obvladovanje dobrih odnosov

Pri projektu ima pomembno vlogo upravljanje dobrih odnosov med preizkuševalci in razvijalci. Ker si vloga razvijalca in preizkuševalca nasprotujeta, vendar tega ne bi smeli jemati na osebni ravni. Glavni cilj obeh skupin mora biti zagotavljanje kakovostnih projektov z minimalnimi tveganji neuspeha.

6. Načrt upravljanja SQA

To vključuje iskanje načinov, kako bo SQA deloval v novem projektu na najučinkovitejši način. Pomislite na strategije SQA, procese programskega inženiringa, ki bi jih bilo mogoče izvesti glede na zahteve projekta in posamezne veščine članov skupine.

Sestavni deli sistema SQA

SQA komponente lahko razvrstimo v 6 razredov:

1. Sestavni deli predprojekta

To zagotavlja, da je bila zavezanost projektu jasno opredeljena v zvezi z oceno časa, pojasnitvijo potreb kupcev, celotnim proračunom projekta, oceno razvojnih tveganj, celotnim osebjem, potrebnim za določen projekt. Zagotavlja tudi, da so bili razvojni in kakovostni načrti jasno opredeljeni.

2. Komponente življenjskega cikla programske opreme

Ta komponenta vključuje pregled, strokovna mnenja, testiranje programske opreme, komponente vzdrževanja programske opreme. V življenjski cikel razvoja projekta vključuje komponente, kot so pregledi, mnenja strokovnjakov in odkrivanje napak v načrtovanju in programiranju programske opreme, medtem ko v življenjskem ciklu vzdrževanja programske opreme vključuje specializirane komponente vzdrževanja in komponente življenjskega cikla razvoja za izboljšanje vzdrževalnih nalog.

3. Komponente infrastrukture za preprečevanje napak in izboljšave

Ta komponenta vključuje usposabljanje osebja, certificiranje, upravljanje konfiguracije, preventivne in korektivne ukrepe za zmanjšanje števila napak v programski opremi, ki temelji na nabranih izkušnjah organizacije SQA.

4. Upravljanje komponent SQA

V ta razred so vključene meritve kakovosti programske opreme, stroški kakovosti programske opreme, ki vključujejo nadzor nad vzdrževalnimi in razvojnimi dejavnostmi in uvedbo menedžerskega sodelovanja, da se zmanjša tveganje za kakovost, časovni razpored in proračun v projektu.

5. Komponente standardizacije, certificiranja in presoje sistemov SQA

Glavni cilj tega razreda je uporaba mednarodnega strokovnega znanja, ki pomaga pri usklajevanju različnih organizacijskih sistemov kakovosti na profesionalni ravni.

6. Organiziranje za SQA Human Components

Ta baza vključuje vodje, preizkuševalce in druge strokovnjake SQA, ki jih zanima SQA. Glavni cilj je podpreti in sprožiti dejavnosti SQA, odkriti vrzeli / odstopanja v njem in predlagati izboljšave za to.

Standardi zagotavljanja kakovosti programske opreme

Pri razvoju standardov SQA sodeluje več organizacij, nacionalnih in mednarodnih inštitutov. Spodaj so glavne organizacije in inštituti, ki sodelujejo v njem:

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

Standardi SQA so v osnovi razdeljeni na dve kategoriji:

1. Standard za zagotavljanje kakovosti programske opreme, ki je znan kot standardi upravljanja kakovosti.

Primer: ISO 9000-3, CMM (model zrelosti sposobnosti).

Osredotočajo se na infrastrukturo organizacije, sistem SQA, zahteve, ki izbiro orodij in metod testiranja prepuščajo organizaciji. Njihov standardni cilj je "kaj" doseči. Zagotavlja, da organizacije dosegajo sprejemljivo kakovost programske opreme.

2. Standardi razvojnega programa programske opreme, ki so znani kot standardi projektnega procesa.

Primer: ISO / IEC 12207 IEEEStd 1012-1998.

Osredotočajo se na metodologije, ki jih je treba uporabiti pri razvoju in vzdrževanju programske opreme. Osredotoča se na "kako" izvedbo. Vključuje zahteve za oblikovalsko dokumentacijo, korake, ki jih je treba izvesti, testiranje programske opreme, ki jih je treba izvesti, ter težave glede pregleda in pregleda.

Tehnike SQA

Obstaja več tehnik SQA. Nekatere od njih so navedene spodaj:

1. Pregledovanje

Pri pregledu se sestanejo notranje in zunanje zainteresirane strani, da pregledajo celoten projekt, ki analizira celotno programsko opremo, in če ugotovi težavo, razlikuje, ali gre za testiranje, razvoj, zahtevo ali zasnovo. Glavni cilj je meriti kakovost programsko opremo in zagotoviti, da izpolnjuje pričakovanja kupcev ali ne.

2. Revizija

Pri reviziji zainteresirane strani pregledajo celoten izdelek dela in vse podatke, da preverijo, ali sledi standardnim postopkom ali ne.

3. Funkcionalno testiranje

Pri funkcionalnem testiranju se preizkusi funkcionalnost celotne programske opreme, ali deluje po pričakovanjih ali ne. Preveri, »kaj sistem deluje«, ne da bi vedel, »kako sistem deluje«. Je kot testiranje aplikacije v črni škatli, v kateri uporabnik pozna pričakovani rezultat, ne da bi vedel, kako nastaja.

4. Standardizacija

Zagotavlja, da mora biti vse v programski opremi standardizirano, torej sledi vsem standardom bodisi standardom v dokumentaciji, razvoju, nadzoru kakovosti. Zmanjša dvoumnost in s tem izboljša kakovost programske opreme.

5. Kontrola kode

Inšpekcijski nadzor kode je ena izmed najbolj formalnih vrst pregledov, katerega glavni cilj je ugotoviti pomanjkljivosti kode in izpostaviti morebitne težave v pregledu kode, ki jih vodi usposobljeni moderator, ne pa avtor kode. Sestanek ima ustrezna merila za vstop in izstop. Uporabniki morajo pred sestankom imeti popolno pripravo, da lahko celovito poznajo dokumente in vse pred dvigom točk.

6. Navodila za uporabo

Napotki na programsko opremo so neke vrste neuradni postopek, ki jih običajno sproži avtor, da prebere dokument ali kodo, člani vrstnikov pa vanj zapišejo svoje predloge ali napake in jih predložijo. Uradno ni dokumentiran, saj inšpekcijski pregled in moderator na sestanku nista potrebna. Njegov glavni cilj je vedeti stanje dokončane kode do datuma in zbirati predloge vrstnikov za boljšo kakovost programske opreme.

7. Testiranje stresa

Stresno testiranje se izvede, da se preveri, kako sistem deluje pod veliko obremenitvijo. To testiranje igra pomembno vlogo pri kakovosti programske opreme kot v aplikacijah za e-trgovino, testiranje stresa in obremenitve se izvaja pravilno, da se preveri zmogljivost programske opreme (koliko največ uporabnikov lahko hkrati dostopa do aplikacije).

8. Načrtovalni pregled

Oblikovalski pregled se opravi z namenom preverjanja različnih področij programske opreme s pomočjo kontrolnega seznama, kot so funkcionalno in vmesniško oblikovanje, konvencije, splošne zahteve in oblikovanje, sledljivost zahtev, logika, sklopitev in kohezija.

Prednosti SQA

Pogovorimo se o prednostih SQA.

1. Poveča zaupanje strank

Ustrezno preverjanje kakovosti na različnih ravneh programske opreme, kot so pregledi, inšpekcijske preglede, revizije itd., Z vključitvijo notranjega in zunanjega deležnika poveča zaupanje strank v predložitev tedenskih poročil o merilih pomanjkljivosti in zahtev tudi veliko pomaga pri zagotavljanju odjemalec, da se delo izvaja pravočasno.

2. SQA prihrani denar

Okvare, odkrite v zgodnji fazi bodisi pri zbiranju zahtev, kodiranju, preskušanju, so enostavni in stroškovno učinkoviti, če pravilno SQA naredite na več ravneh, pomaga zmanjšati tveganje, saj je v zgodnjih fazah odkrito največje pomanjkljivosti in s tem prihranite denar za odpravo okvarjena programska oprema po predstavitvi stranki, kar lahko stane ugled podjetja, uporabnike in tudi stranke.

3. Povečajte zadovoljstvo kupcev

Pravočasno sodelovanje stranke pri razvoju in testiranju programske opreme povečuje zadovoljstvo strank, da se kakovostna programska oprema razvija in glede na zahteve in sprejemanje predlogov med obravnavo poveča zadovoljstvo strank.

4. Spodbuja produktivnost in učinkovitost

Kadar razvoj in testiranje potekajo vzporedno, napake, ki jih odkrijejo zgodaj takoj, ko je razvoj posameznega modula storjen in odpravljen s strani razvijalcev, pravočasno omogočijo vsem, da delajo v miru in na bolj produktiven način, ne pa da se obremenjujejo z več hrošči naenkrat po zaključku celotne programske opreme.

5. Preprečuje nepredvidene nujne primere

Pri razvijanju korporativne programske opreme so tudi vložki zelo visoki. Ker se programska oprema ukvarja z veliko občutljivimi podatki za stranke, mora delovati po pričakovanjih, brez kakršnih koli izpadov, korupcije ali komunikacijskih okvar. Programsko opremo je treba preizkusiti zelo strogo, tako da deluje, kot je bilo pričakovano.

6. Zmanjša konflikte med odjemalci končnega časa

Pozneje se najde veliko primerov nesoglasja naročnika in organizacij v zvezi s spremembami zahtev, časa in proračuna, določenih v začetku, kar ima za posledico odpoved projekta, izgubo denarja in slab vtis podjetja na trgu (izguba stranke kot ustvaril bi slab ugled). V SQA je vse določeno v začetku projekta in dokumentirano pravilno, brez dvoumnosti, da ne bi prišlo do konfliktov

Slabosti SQA

Pogovorimo se o pomanjkljivostih SQA.

1. Včasih je težko izvajati

Ker SQA zelo natančno opredeli vse dejavnosti in ukrepe, ki jih je treba izvesti na vsakem koraku razvoja programske opreme, je včasih težko izvajati vsako posamezno aktivnost in postopek v razvoju. Torej oseba ve, da bi bilo koristno, vendar se osredotočenje na vsak korak v detajlih oteži pri delu v velikih skupinah.

2. zamudno

Izvajanje vsake akcije v SQA traja veliko časa in včasih zapravi več časa za dokumentacijo in sestanke, namesto da bi delali na dejanskem razvoju in testiranju programske opreme.

3. Visoki stroški

Z izvajanjem SQA je mogoče stroške odpravljanja napak v poznejših fazah zmanjšati tako, da jih poiščemo in popravimo samo v začetnih fazah, vendar je za majhne projekte z nizkim proračunom zelo težko izvajati SQA, saj se število virov poveča v projekt tako pomeni proračun projekta. Za majhne projekte najem celotne skupine za zagotavljanje kakovosti in izvajanje SQA drastično povečajo stroške projekta.

Zaključek

SQA je krovna dejavnost, ki zajema celoten projekt skozi celoten življenjski cikel programske opreme, od zbiranja potreb do vzdrževanja projekta. Zajema vse aktivnosti in procese na različnih stopnjah razvoja programske opreme, da bi zagotovili, da bi bila dobavljena programska oprema visoko kakovostna in minimalna, da bi lahko uspela na trgu in izpolnila pričakovanja kupcev in strank.

Priporočeni članki

To je vodnik za zagotavljanje kakovosti programske opreme. Tukaj razpravljamo o dejavnostih, komponentah, prednostih in pomanjkljivostih SQA. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Načela testiranja programske opreme
  2. Življenjski cikel programske opreme
  3. Agile Software
  4. Zagotavljanje kakovosti v primerjavi s kontrolo kakovosti
  5. Tehnike testiranja črne škatle