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:
- IEEE
- DOT
- ISO
- ANSI
- KMH
- 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 -
- Tarkvara testimise põhimõtted
- Tarkvara testimine elutsükkel
- Agile tarkvara
- Kvaliteedi tagamine vs kvaliteedikontroll
- Musta kasti testimise tehnikad