Tarkvara kvaliteedijuhtimine

Tarkvara kvaliteedijuhtimine (inglise keeles "software quality management") hõlmab tegevusi ja protsesse, mis võimaldavad tagada tarkvara kvaliteeti ning vähendada vigade arvu kõigis tarkvaraarenduse etappides. Tegevusteks võivad näiteks olla protsessi määratlemine ja rakendamine, auditeerimine ja koolitamine ning protsessideks projektijuhtimine, testimine ja tarkvaraarenduse metoodika.
Tarkvara kvaliteedi tagamiseks on mitmeid meetodeid ning kasutada võib ühte standardit või kombineerida erinevate standardite parimaid külgi. Enamasti jälgitakse ISO 9000 standardi või CMMI mudeli vastavuse tagamist. Olenemata kasutatud meetodist on eesmärgiks kõigi tarkvaraarendusprotsesside pidev täiustamine, et saada tarkvara, mis vastab esialgsetele spetsifikatsioonidele ja nõuetele.
Tarkvara kvalideedijuhtimise alamosad.
Tarkvara kvaliteedijuhtimise võib jagada kolmeks alamprotsessiks. Sellist jagunemist toetab oma töödes näiteks arvutiteadlane Ian Sommerville.
Tarkvara kvaliteedikava.
Tarkvara kvaliteedikava (inglise keeles "software quality plan") on iga projekti jaoks koostatud kava, mis defineerib standardid, eeskirjad ja tööriistad, mida kasutatakse kogu arendustsükli vältel. Lisaks sisaldab kvaliteedikava saavutatavaid kvaliteedieesmärke, eeldatavaid riske ja riskijuhtimist.
Tarkvara kvaliteeditagamine.
Tarkvara kvaliteeditagamine (inglise keeles "software quality assurance") on kvaliteedijuhtimise osa, mis loob organisatsioonisisesed protsessid, standardid ja regulatsioonid, mida jägitakse tarkvaraarenduse elutsükli vältel.
Tarkvara kvaliteeditagamine "vs." tarkvara kvaliteedikontroll.
Tarkvara kvaliteeditagamine ja tarkvara kvaliteedikontroll on tihedalt seotud tegevused, kuid tihti ei eristata ühte teisest. Kvaliteedi tagamine on ennetav tegevus, kuid kvaliteedikontroll keskendub parandusprotsessidele. Kvaliteeditagamise kõige olulisemaks aluseks on protsesside ja protseduuride rakendamine, mis on vajalikud tarkvara arendamiseks ja kliendi vajaduste kontrollimiseks. Kvaliteedikontroll teisalt tegeleb tegelike tegevustega, mis tagavad, et toodet arendatakse vastavalt määratletud kvaliteedistandardile.
Tarkvara kvaliteeditagamine "vs." tarkvara testimine.
Lisaks segadusele kvaliteedikontrolli ja kvaliteeditagamise protsessidega ei eristata pahatihti ka testimist ja kvaliteeditagamist ning tarkvara testijat nimetatakse tarkvara kvaliteeditagamise spetsialistiks. Kuigi mõlema tegevuse eesmärk on sama, luua tippkvaliteediga tarkvara, siis testija ja tarkvara kvaliteeditagamise spetsialisti tööülesanded on erinevad.
Kvaliteeditagamise spetsialist töötab välja vajalikke protsesse, jälgib nende rakendamist ja täitmist tarkvaraarenduse elutsükli vältel. Kvaliteeditagamine on ennetav tegevus, mis keskendub järgmisele: defektide vältimine, protsesside loomine ja protsesside täitmise jälgimine. Tarkvara testija ülesanne on aga tuvastada tarkvara vigu ja defekte. Tarkvara testimine on osa kvaliteedikontrolli protsessist ja keskendub ainult tootega seotud tegevustele. Tarkvara testimine on kvaliteedikontrolli protsessi osa.
Tarkvara kvaliteedikontroll.
Tarkvara kvaliteedikontroll (inglise keeles "software quality control") rakendab ja jälgib defineeritud standardite ja protsesside täitmist kõigis tarkvaraarenduse elutsüklites.