Mis on tarkvara kvaliteedi tagamine?

  • Tarkvara kvaliteedi tagamine (SQA) on tegevuste kogum arendatava tarkvara kvaliteedi tagamiseks. Uuringud näitasid, et 98% projektidest ebaõnnestus turul lõpuks järgmistel põhjustel, näiteks eeldatav aeg, nõuete muutumine, oodatust suuremad kulud või kõrged ülalpidamiskulud. Seega on väga oluline enne tarkvara arendamist meeles pidada mitmesuguseid parameetreid, et minimeerida rikkeohtu.
  • Tarkvara ebaõnnestumise riski minimeerimiseks turul saadi tarkvara kvaliteedi tagamine.
  • See hõlmab projekti jaoks sobivate tegevuste, protsesside, protseduuride ja standardite komplekti. See hõlmab kõiki tarkvara kvaliteedistandardeid alates nõuete kogumisest kuni selle väljatöötamiseni, vabastamiseni ja hoolduseni.
  • SQA töötab paralleelselt tarkvara arenduse elutsükliga, mis kontrollib regulaarselt, et arendatav tarkvara peaks igas etapis vastama oma standarditele, et probleeme saaks juba varajases staadiumis ära hoida, selle asemel et seda pärast projekti lõppu käsitleda.
  • SQA peamisteks tegevusteks on auditeerimine, koolitus, protsessi määratlemine ja juurutamine. Kui protsess on määratletud, hakkab SQA leidma selles leiduvaid nõrkusi ja viise nende nõrkade külgede parandamiseks parema tarkvara saamiseks.

Tarkvara kvaliteedi tagamise tegevused

Allpool on toodud mõned tarkvara kvaliteedi tagamise tegevused.

1. Kontrollpunkti seadmine

SQA meeskond seab kontrollpunktid kindlate ajavahemike järel, et kontrollida tarkvara käiku, kvaliteeti, jõudlust ja seda, kas tarkvara kvaliteediga töö tehakse ajakava ja dokumentide kohaselt õigel ajal.

2. Mõõtke muutuste mõju

QA teatatud ja arendaja poolt parandatud defekti puhul on väga oluline defekti parandamine uuesti kontrollida ja kontrollida, kas fikseeritud defekt ei too töötavas tarkvaras uusi defekte. Selle jaoks hooldavad haldurid ja arendajad testmõõdikuid ning jälgivad, kas uute funktsioonide juurutamise või defektide parandamise abil on tekkinud uusi defekte.

3. Mitme testimisstrateegia omamine

Tarkvara testimisel ei tohiks loota ühele testimismeetodile ja -strateegiale. Tarkvaras tuleks rakendada mitu testimisstrateegiat, et testida seda erinevate nurkade alt ja hõlmata kõiki valdkondi. E-kaubanduse veebisaitide turvalisuse testimiseks, jõudluse testimiseks, koormustestideks ja andmebaaside testimiseks tuleks tarkvara parema kvaliteedi tagamiseks teha kõik.

4. Arvestuse ja aruannete pidamine

Oluline on säilitada kõiki QA dokumente ja dokumente ning jagada neid aeg-ajalt sidusrühmadele. Teostatud katsejuhtumid, testitsüklid, logitud vead, parandatud defektid, testjuhtumid loodud, kliendi poolt konkreetsele juhtumile esitatavate nõuete muutused peaksid kõik olema hilisemaks kasutamiseks korrektselt dokumenteeritud.

5. Heade suhete haldamine

Testijate ja arendajate vaheliste heade suhete haldamine mängib projektis olulist rolli. Kuna arendaja ja testija roll on üksteisega vastuolus, kuid seda ei tohiks võtta isiklikul tasandil. Mõlema meeskonna peamine eesmärk peaks olema kvaliteetsete projektide elluviimine minimaalsete ebaõnnestumisohtudega.

6. SQA juhtimiskava

See hõlmab viise leidmist, kuidas SQA uues projektis kõige tõhusamalt töötab. Mõelge SQA strateegiatele, tarkvaratehnika protsessidele, mida saaks rakendada vastavalt projekti nõuetele, ja meeskonnaliikmete individuaalsetest oskustest.

SQA süsteemi komponendid

SQA komponendid võib liigitada 6 klassi:

1. Projekti eelnevad komponendid

See tagab, et projekti pühendumus on selgelt määratletud vastavalt ajahinnangule, kliendinõuete selgitamisele, projekti kogueelarvele, arenguriskide hindamisele ja konkreetse projekti jaoks vajalike töötajate koguarvule. Samuti tagab see, et arengu- ja kvaliteediplaanid on selgelt määratletud.

2. Tarkvaraprojekti elutsükli komponendid

See komponent sisaldab ülevaadet, ekspertarvamusi, tarkvara testimist, tarkvara hoolduse komponente. Projekti arenduse elutsüklis hõlmab see selliseid komponente nagu ülevaated, ekspertarvamused ning tarkvara kujundamisel ja programmeerimisel puuduste leidmine, tarkvara hoolduse elutsüklis aga hoolduskomponentide spetsialiseerumine ja arendamise elutsükli komponendid hooldusülesannete täiustamiseks.

3. Infrastruktuuri komponendid vigade ennetamiseks ja parendamiseks

See komponent hõlmab personali koolitust, sertifitseerimist, konfiguratsiooni haldamist, ennetavaid ja korrigeerivaid meetmeid, et vähendada tarkvara vigade määra organisatsioonis kogutud SQA kogemuste põhjal.

4. Juhtimise SQA komponendid

Sellesse klassi kuuluvad tarkvara kvaliteedimõõdikud, tarkvara kvaliteedikulud, mis hõlmab hooldus- ja arendustegevuse juhtimist ning juhtkonna kaasamise juurutamist, et vähendada projekti kvaliteeti, ajakava ja eelarvet.

5. Standardimise, sertifitseerimise ja SQA süsteemi hindamise komponendid

Selle klassi peamine eesmärk on rahvusvaheliste erialaste teadmiste kasutamine, mis aitab koordineerida organisatsiooni erinevaid kvaliteedisüsteeme professionaalsel tasemel.

6. SQA inimkomponentide korraldamine

Sellesse baasi kuuluvad juhid, testijad ja muud SQA praktikud, kes tunnevad SQA vastu huvi. Peamine eesmärk on toetada ja algatada SQA tegevusi, tuvastada selles esinevad lüngad / kõrvalekalded ja teha selle parandamiseks ettepanekud.

Tarkvara kvaliteedi tagamise standardid

SQA standardite väljatöötamisse on kaasatud mitu organisatsiooni, riiklikud ja rahvusvahelised instituudid. Allpool on nimetatud peamised organisatsioonid ja instituudid, kes sellega tegelevad:

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

SQA standardid jagunevad põhimõtteliselt kahte kategooriasse:

1. Tarkvara kvaliteedi tagamise standard, mida nimetatakse kvaliteedijuhtimise standardiks.

Näide: ISO 9000-3, CMM (võimekuse küpsuse mudel).

Nad keskenduvad organisatsiooni infrastruktuurile, SQA süsteemile, nõuetele, jättes tööriistade ja testimismeetodite valiku organisatsiooni hooleks. Nende põhieesmärk on „mida” saavutada. See tagab, et organisatsioonid saavutavad tarkvara vastuvõetava kvaliteedi.

2. Tarkvaraprojekti arendusprotsesside standardid, mida nimetatakse projektiprotsesside standarditeks.

Näide: ISO / IEC 12207 IEEEStd 1012-1998.

Nad keskenduvad metoodikale, mida tuleb tarkvara arendamisel ja hooldamisel rakendada. See keskendub "kuidas" esineda. See sisaldab projekteerimisdokumentatsiooni nõudeid, võetavaid samme, teostatavat tarkvara testimist ning disaini ülevaatuse ja ülevaatuse küsimusi.

SQA tehnikad

SQA tehnikaid on mitu. Mõnda neist mainitakse allpool:

1. Läbivaatamine

Läbivaatamisel korraldavad nii sisemised kui ka välised sidusrühmad koosoleku, et vaadata läbi kogu projekt, kes analüüsib kogu tarkvara ja kui leiab probleemi, teeb vahet, kas tegemist on testimise, arenduse, nõude või kujundusega. Peamine eesmärk on mõõta tarkvara kvaliteeti. tarkvara ja veenduge, kas see vastab kliendi ootustele või mitte.

2. Auditeerimine

Auditeerimise käigus kontrollivad sidusrühmad kogu töötoode ja kõik andmed, et kontrollida, kas see järgib standardprotsesse või mitte.

3. Funktsionaalne testimine

Funktsionaalsuse testimisel testitakse kogu tarkvara funktsionaalsust, kas see töötab ootuspäraselt või mitte. See kontrollib „mis süsteem töötab”, teadmata „kuidas süsteem töötab”. See on nagu rakenduse musta kasti testimine, kus kasutaja teab eeldatavat väljundit, teadmata, kuidas see toodetakse.

4. Standardimine

See tagab, et kõik tarkvara peaks olema standardiseeritud, st järgib kõiki standardeid, kas dokumenteerimise, arendamise ja kvaliteedikontrolli standardeid. See vähendab ebamäärasust ja parandab tarkvara kvaliteeti.

5. Koodi ülevaatus

Koodikontroll on üks formaalsemaid ülevaatusliike, mille peamine eesmärk on leida koodist puudused ja koodi inspekteerimise probleemide esiletoomist juhib pigem koolitatud moderaator kui koodi autor. Koosolekul on õiged sisenemise ja väljumise kriteeriumid. Kasutajad peavad enne kohtumist olema täielik ettevalmistus, et saada dokumentidest ja kõigist enne punktide tõstatamist täielikud teadmised.

6. Läbikäigud

Tarkvara tutvustus on omamoodi mitteametlik protsess ja tavaliselt algatab autor dokumendi või koodi lugemise ning kaasliikmed kirjutavad oma ettepanekud või vead selles kokku ja edastavad. See pole ametlikult dokumenteeritud, nagu näiteks inspektsioon ja moderaator pole koosolekul vajalik. Selle peamine eesmärk on teada saada kuni praeguse ajani valminud koodi olekut ja koguda eakaaslastelt soovitusi tarkvara parema kvaliteedi saavutamiseks.

7. Stressitestimine

Stressitesti tehakse selleks, et kontrollida, kuidas süsteem töötab suure koormuse korral. Sellel testimisel on oluline roll tarkvara kvaliteedis, kuna e-kaubanduse rakendustes tehakse stressi ja koormuse testimist tarkvara võimekuse kontrollimiseks (mitu maksimaalset kasutajate arvu rakendusele korraga pääseb).

8. Projekti ülevaatus

Projekteerimiskontroll tehakse kontroll-lehe abil tarkvara erinevate valdkondade kontrollimiseks, näiteks funktsionaalse ja liidese kujundus, konventsioonid, üldised nõuded ja kujundus, nõuete jälgitavus, loogika, sidumine ja sidusus.

SQA eelised

Arutleme SQA eeliste üle.

1. Suurendab kliendi enesekindlust

Nõuetekohane kvaliteedikontroll erinevatel tarkvara tasemetel, näiteks ülevaatus, ülevaatus, auditeerimine jne, ning nii sisemiste kui ka väliste sidusrühmade kaasamisega suurendab klientide usaldust iganädalaste aruannete esitamisel puuduste ja nõuete mõõdikute kohta, samuti aitab palju tagada klient, et töö tehakse õigel ajal.

2. SQA säästab raha

Varajases staadiumis avastatud puudused, mis on seotud nõuete kogumise, koodide ja testimisega, on korrektse SQA jaoks mitmel tasandil tehtud lihtsad ja kuluefektiivsed, aitavad seda riski vähendada, kuna maksimaalsed vead on varases staadiumis avastatud ja lahendatud ning säästavad seega raha pärast kliendile esitamist vigane tarkvara, mis võib maksta ettevõtte, kasutajate ja klientide maine.

3. Suurendage klientide rahulolu

Kliendi õigeaegne kaasamine tarkvara arendamisse ja testimisse suurendab kliendi rahulolu, et kvaliteetset tarkvara arendatakse. Nõuete täitmine ja vahepealsete ettepanekute tegemine suurendab kliendi rahulolu.

4. Edendab tootlikkust ja efektiivsust

Kui arendus ja testimine toimub paralleelselt, võimaldavad defektid, mis leitakse kohe pärast ühe mooduli väljatöötamist ja mille arendajad õigeaegselt parandavad, kõigil töötada rahulikult ja produktiivsemalt, mitte koormata mitme tõrkega korraga pärast valmimist kogu tarkvarast.

5. Hoiab ära ettenägematute hädaolukordade korral

Ettevõtte tarkvara arendamisel on panused ka väga kõrged. Kuna tarkvara tegeleb paljude klientide delikaatsete andmetega, peab see töötama ootuspäraselt, ilma elektrikatkestuste, korruptsiooni ja side katkestusteta. Tarkvara tuleks testida väga rangelt, et see toimiks ootuspäraselt.

6. Vähendab kliendi konflikte lõppajaga

On palju juhtumeid, kus kliendid ja organisatsioonid on hiljem nõus eriarvamusega seoses alguses fikseeritud nõuete, aja ja eelarve muutumisega, mille tulemuseks on projekti tühistamine, raha kaotus ja halb ettekujutus ettevõttest turul (kliendi kaotus kui see tekitaks halva maine). SQA-s on kõik projekti alguses fikseeritud ja dokumenteeritud ilma igasuguse ebaselguseta, nii et konflikte ei tekiks

SQA puudused

Arutleme SQA puuduste üle.

1. Vahel keeruline rakendada

Kuna SQA määratleb väga detailselt kõik tegevused ja toimingud, mida tuleks igas tarkvaraarenduse etapis ette võtta, on mõnikord keeruline iga arenduses olevat tegevust ja protsessi rakendada. Nii et inimene teab, et sellest oleks kasu, kuid suurtes meeskondades töötades muutub keeruliseks igale etapile üksikasjalikult keskendumine.

2. Aeg kulub

Iga toimingu rakendamine SQA-s on väga aeganõudev ja mõnikord kulutab see rohkem aega dokumenteerimisele ja koosolekutele, selle asemel, et töötada tarkvara tegeliku väljatöötamise ja testimisega.

3. kõrge hind

SQA juurutamise kaudu saab vigade hilisemates etappides parandamise kulusid vähendada nende leidmise ja alles alguses parandamisega, kuid väikese eelarvega väikeste projektide puhul on SQA rakendamine väga keeruline, kuna ressursside arv kasvab projekt ei mõjuta projekti eelarvet. Väikese projekti jaoks kogu QA meeskonna palkamine ja SQA rakendamine põhjustavad projekti maksumuse järsku tõusu.

Järeldus

SQA on katustegevus, mis hõlmab kogu projekti kogu tarkvara elutsükli vältel alates nõuete kogumisest kuni projekti hoolduseni. See hõlmab kõiki tarkvara arendamise eri etappides toimuvaid tegevusi ja protsesse tagamaks, et tarnitav tarkvara peaks olema kõrge kvaliteediga ja minimaalse riskiga, et see saaks turul edukaks ning vastaks kliendi ja kliendi ootustele.

Soovitatavad artiklid

See on tarkvara kvaliteedi tagamise juhend. Siin käsitleme SQA tegevusi, komponente, eeliseid ja puudusi. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Tarkvara testimise põhimõtted
  2. Tarkvara testimine elutsükkel
  3. Agile tarkvara
  4. Kvaliteedi tagamine vs kvaliteedikontroll
  5. Musta kasti testimise tehnikad

Kategooria: