what is software quality assurance
Kaj je zagotavljanje kakovosti programske opreme?
Zagotavljanje kakovosti programske opreme (SQA) je postopek, ki zagotavlja, da se vsi procesi, metode, dejavnosti in delovni elementi programskega inženirstva spremljajo in ustrezajo določenim standardom. Ti opredeljeni standardi so lahko eden ali kombinacija katerega koli, kot je ISO 9000, model CMMI, ISO15504 itd.
SQA vključuje vse procese razvoja programske opreme, od definiranja zahtev do kodiranja do izdaje. Njegov glavni cilj je zagotoviti kakovost.
Kaj se boste naučili:
- Načrt zagotavljanja kakovosti programske opreme
- Dejavnosti SQA
- Standardi zagotavljanja kakovosti programske opreme
- Elementi zagotavljanja kakovosti programske opreme
- Tehnike SQA
- Zaključek
- Priporočeno branje
Načrt zagotavljanja kakovosti programske opreme
Načrt zagotavljanja kakovosti programske opreme, skrajšan kot SQAP, obsega postopke, tehnike in orodja, ki se uporabljajo za zagotovitev, da se izdelek ali storitev uskladi z zahtevami, opredeljenimi v SRS (specifikacija zahtev za programsko opremo).

Načrt opredeljuje odgovornosti skupine za kakovost kakovosti, našteva področja, ki jih je treba pregledati in revidirati. Prav tako opredeljuje izdelke za delo SQA.
Dokument načrta SQA je sestavljen iz spodnjih oddelkov:
- Oddelek za namen
- Referenčni oddelek
- Oddelek za upravljanje konfiguracije programske opreme
- Oddelek za poročanje o težavah in korektivni ukrepi
- Oddelek Orodja, tehnologije in metodologije
- Oddelek za nadzor kode
- Zapisi: Oddelek za zbiranje, vzdrževanje in hrambo
- Metodologija preskušanja
Dejavnosti SQA
Spodaj je seznam SQA dejavnosti:
# 1) Izdelava načrta upravljanja SQA:
Najpomembnejša dejavnost vključuje določitev ustreznega načrta glede izvajanja SQA v vašem projektu.
Skupaj s pristopom SQA, ki ga boste sledili, katere inženirske dejavnosti se bodo izvajale, vključuje pa tudi zagotovitev, da imate v svoji ekipi pravo mešanico talentov.
# 2) Nastavitev kontrolnih točk:
Skupina SQA vzpostavi različne kontrolne točke, v skladu s katerimi ocenjuje kakovost projektnih dejavnosti na vsaki kontrolni točki / fazi projekta. To zagotavlja reden pregled kakovosti in delo v skladu z urnikom.
# 3) Uporabite tehnike tehničnega inženiringa:
Uporaba nekaterih tehnik programskega inženirstva pomaga oblikovalcu programske opreme pri doseganju visokokakovostnih specifikacij. Za zbiranje informacij lahko oblikovalec uporabi tehnike, kot so intervjuji in FAST (Functional Analysis System Technique).
Kasneje lahko na podlagi zbranih informacij oblikovalec programske opreme pripravi oceno projekta z uporabo tehnik, kot so WBS (struktura razčlenitve dela), SLOC (izvorna vrstica kod) in ocena FP (funkcionalna točka).
# 4) Izvajanje formalnih tehničnih pregledov:
Za oceno kakovosti in zasnove prototipa se opravi FTR.
V tem postopku se opravi sestanek s tehničnim osebjem, na katerem se razpravlja o dejanskih zahtevah glede kakovosti programske opreme in kakovosti zasnove prototipa. Ta dejavnost pomaga pri odkrivanju napak v zgodnji fazi SDLC in zmanjšuje napor za predelavo v poznejših fazah.
najboljši ide za python na mac
# 5) S strategijo večkratnega testiranja:
S strategijo večkratnega testiranja mislimo, da se ne smemo zanašati na en sam pristop preskušanja, temveč je treba izvesti več vrst preskušanj, da lahko programski izdelek dobro preizkusimo z vseh zornih kotov, da zagotovimo boljšo kakovost.
# 6) Uveljavljanje spoštovanja postopka:
Ta dejavnost vztraja pri potrebi po spoštovanju postopka med postopkom razvoja programske opreme. Proces razvoja se mora tudi držati opredeljenih postopkov.
Ta dejavnost je mešanica dveh podaktivnosti, ki sta podrobno razloženi spodaj:
(i) Vrednotenje izdelka:
Ta dejavnost potrjuje, da programski izdelek izpolnjuje zahteve, ki so bile odkrite v načrtu upravljanja projekta. Zagotavlja pravilno upoštevanje zastavljenih standardov za projekt.
(ii) Spremljanje procesa:
Ta dejavnost preveri, ali so bili med razvojem programske opreme sprejeti pravilni koraki. To se naredi tako, da se dejansko izvedeni koraki primerjajo z dokumentiranimi koraki.
# 7) Nadzor spremembe:
Pri tej dejavnosti uporabljamo kombinacijo ročnih postopkov in avtomatiziranih orodij, da imamo mehanizem za nadzor sprememb.
S potrjevanjem zahtev za spremembo, ocenjevanjem narave spremembe in nadzorom učinka spremembe je zagotovljeno, da se kakovost programske opreme ohranja v fazi razvoja in vzdrževanja.
# 8) Učinek spremembe učinka:
Če ekipa QA poroča o kakršni koli napaki, potem zadevna ekipa napako odpravi.
Po tem mora ekipa za preverjanje kakovosti določiti vpliv spremembe, ki jo prinese ta odprava napake. Preizkusiti morajo ne samo, ali je sprememba odpravila napako, temveč tudi, ali je sprememba združljiva s celotnim projektom.
V ta namen uporabljamo meritve kakovosti programske opreme, ki upraviteljem in razvijalcem omogočajo, da od začetka do konca SDLC opazujejo dejavnosti in predlagane spremembe ter sprožijo korektivne ukrepe, kadar koli je to potrebno.
# 9) Izvajanje revizij SQA:
Revizija SQA pregleda celoten dejanski postopek SDLC, nato pa ga primerja z uveljavljenim postopkom.
Preveri tudi, kaj je ekipa poročila o stanju dejansko izvedla ali ne. Ta dejavnost razkriva tudi kakršna koli vprašanja glede neskladnosti.
# 10) Vzdrževanje evidenc in poročil:
Ključnega pomena je hraniti potrebno dokumentacijo v zvezi z NAK in deliti potrebne informacije o NAK z zainteresiranimi stranmi. Rezultate testov, rezultate revizije, poročila o pregledu, dokumentacijo o zahtevah za spremembe itd. Je treba hraniti za poznejšo uporabo.
# 11) Upravljanje dobrih odnosov:
Pravzaprav je zelo pomembno ohraniti harmonijo med kontrolo kakovosti in razvojno skupino.
Pogosto slišimo, da se preizkuševalci in razvijalci pogosto počutijo boljše drug od drugega. Temu se je treba izogniti, saj lahko vpliva na splošno kakovost projekta.
Standardi zagotavljanja kakovosti programske opreme
Na splošno lahko SQA zahteva skladnost z enim ali več standardi.
Nekateri najbolj priljubljeni standardi so opisani spodaj:
ISO 9000: Ta standard temelji na sedmih načelih vodenja kakovosti, ki organizacijam pomagajo zagotoviti, da so njihovi izdelki ali storitve usklajeni s potrebami strank “.
Na spodnji sliki je prikazanih 7 načel ISO 9000:

Raven CMMI: CMMI pomeni Model zrelosti zmogljivosti Integracija . Ta model je nastal v programskem inženirstvu. Lahko ga uporabimo za usmerjanje izboljšav procesa skozi projekt, oddelek ali celotno organizacijo.
5 ravni CMMI in njihove značilnosti so opisane na spodnji sliki:

Organizacija je ocenjena in ji je dodeljena ocena zrelosti (1-5) glede na vrsto ocene.
Vključitev testnega modela zrelosti (TMMi): Ta model se na osnovi CMMi osredotoča na stopnjo zrelosti pri upravljanju in testiranju kakovosti programske opreme.
Na spodnji sliki je prikazanih 5 nivojev TMMi:

Ko se organizacija premika na višji stopnji zrelosti, doseže večjo sposobnost za proizvodnjo visokokakovostnih izdelkov z manj napakami in tesno izpolnjuje poslovne zahteve.
Elementi zagotavljanja kakovosti programske opreme
Za vašo referenco je spodaj navedenih 10 bistvenih elementov SQA:
- Standardi programskega inženiringa
- Tehnični pregledi in revizije
- Testiranje programske opreme za nadzor kakovosti
- Zbiranje in analiza napak
- Upravljanje sprememb
- Izobraževalni programi
- Upravljanje prodajalcev
- Varnostno upravljanje
- Varnost
- Upravljanje s tveganji
Tehnike SQA
Obstaja več tehnik za SQA. Revizija je glavna tehnika, ki je splošno sprejeta. Vendar imamo tudi nekaj drugih pomembnih tehnik.
Različne tehnike SQA vključujejo:
- Revizija: Revizija vključuje pregled delovnih izdelkov in z njimi povezanih informacij, da se ugotovi, ali je bil upoštevan nabor standardnih postopkov ali ne.
- Pregledovanje : Sestanek, na katerem notranji in zunanji deležniki preučujejo programski izdelek, da bi poiskali njihove pripombe in odobritev.
- Pregled kode: To je najbolj formalna vrsta pregleda, ki izvaja statično testiranje, da bi našli napake in se izognili rasti napak v poznejših fazah. Izvaja ga usposobljeni mediator / vrstnik in temelji na pravilih, kontrolnem seznamu, merilih za vstop in izstop. Recenzent ne sme biti avtor kode.
- Inšpekcijski pregled: Pregled zasnove se opravi s kontrolnim seznamom, ki pregleduje spodnja področja oblikovanja programske opreme:
- Splošne zahteve in zasnova
- Funkcionalne in vmesniške specifikacije
- Konvencije
- Sledljivost zahtev
- Strukture in vmesniki
- Logika
- Izvedba
- Napaka pri ravnanju in obnovitvi
- Testibilnost, razširljivost
- Spajanje in kohezija
- Simulacija: Simulacija je orodje, ki modelira realno situacijo, da bi tako rekoč preučilo vedenje sistema, ki se preučuje.
- Funkcionalno preskušanje: To je tehnika zagotavljanja kakovosti, ki preverja, kaj sistem počne, ne da bi upoštevala, kako to počne. Ta vrsta testiranje črne škatle v glavnem osredotoča na testiranje sistemskih specifikacij ali funkcij.
- Standardizacija: Standardizacija ima ključno vlogo pri zagotavljanju kakovosti. Zmanjša dvoumnost in ugibanja ter tako zagotovi kakovost.
- Statična analiza: Gre za analizo programske opreme, ki jo opravi avtomatizirano orodje, ne da bi program dejansko izvajal. Ta tehnika se zelo uporablja za zagotavljanje kakovosti v medicinski, jedrski in letalski programski opremi. Meritve programske opreme in obratni inženiring so nekatere priljubljene oblike statične analize.
- Sprehodi: Prehod programske opreme ali kode je nekakšen medsebojni pregled, pri katerem razvijalec vodi člane razvojne skupine, da gredo skozi izdelek in postavljajo vprašanja, predlagajo druge možnosti, dajejo komentarje glede možnih napak, standardnih kršitev ali kakršnih koli drugih težav.
- Testiranje poti: Je tehnika preizkušanja bele škatle kjer je popolna pokritost podružnic zagotovljena z izvedbo vsake neodvisne poti vsaj enkrat.
- Testiranje izjemnih situacij: Ta vrsta preskušanja se opravi, da se preveri, kako močan je sistem, tako da se preskusi pod težkimi obremenitvami, torej zunaj običajnih pogojev.
- Six Sigma: Six Sigma je pristop zagotavljanja kakovosti, katerega cilj je skoraj popolni izdelki ali storitve. Široko se uporablja na številnih področjih, vključno s programsko opremo. Glavni cilj šestih sigm je izboljšati postopek, tako da je proizvedena programska oprema brez napak 99,76%.
Zaključek
SQA je krovna dejavnost, ki se uporablja v celotnem življenjskem ciklu programske opreme.
Zagotavljanje kakovosti programske opreme je zelo pomembno, da vaš programski izdelek ali storitev uspe na trgu in preživi v skladu s pričakovanji kupca.
Obstajajo različne dejavnosti, standardi in tehnike, ki jih morate upoštevati, da zagotovite, da je dostavna programska oprema visokokakovostna in v skladu s poslovnimi potrebami.
Upam, da bi s tem informativnim člankom dobili jasno predstavo o konceptu zagotavljanja kakovosti programske opreme !!
Priporočeno branje
- Preizkušanje programske opreme in potrdila o zagotavljanju kakovosti - 2. del
- Kakšni so atributi kakovosti?
- Lažni bog kakovosti v primerjavi s pravimi ljudmi - kdo je odgovoren za kakovost programske opreme?
- Razlika med zagotavljanjem kakovosti in nadzorom kakovosti (QA vs QC)
- Popoln vodnik za nadaljevanje testiranja programske opreme (z vzorcem nadaljevanja preizkuševalca programske opreme)
- Kako uporabiti tehniko Poka-Yoke (preverjanje napak) za izboljšanje kakovosti programske opreme
- Vzajemno razumevanje pri testiranju: ključ do zagotavljanja kakovostne programske opreme
- Testiranje programske opreme QA Assistant Job