what is software quality assurance
Ce este asigurarea calității software-ului?
Asigurarea calității software-ului (SQA) este un proces care asigură că toate procesele, metodele, activitățile și articolele de lucru ale ingineriei software sunt monitorizate și respectă standardele definite. Aceste standarde definite ar putea fi unul sau o combinație a oricărui tip ISO 9000, model CMMI, ISO15504 etc.
SQA încorporează toate procesele de dezvoltare software începând de la definirea cerințelor până la codificare până la lansare. Obiectivul său principal este asigurarea calității.
Ce veți învăța:
- Plan de asigurare a calității software-ului
- Activități SQA
- Standarde de asigurare a calității software-ului
- Elemente de asigurare a calității software-ului
- Tehnici SQA
- Concluzie
- Lectură recomandată
Plan de asigurare a calității software-ului
Abreviat ca SQAP, planul de asigurare a calității software-ului cuprinde procedurile, tehnicile și instrumentele utilizate pentru a se asigura că un produs sau serviciu se aliniază la cerințele definite în SRS (specificația cerințelor software).
Planul identifică responsabilitățile SQA ale unei echipe, listează domeniile care trebuie revizuite și auditate. De asemenea, identifică produsele de lucru SQA.
Documentul planului SQA constă din secțiunile de mai jos:
- Secțiunea Scop
- Secțiunea de referință
- Secțiunea de gestionare a configurației software
- Secțiunea de raportare a problemelor și acțiuni corective
- Secțiunea Instrumente, tehnologii și metodologii
- Secțiunea de control al codului
- Înregistrări: secțiunea de colectare, întreținere și păstrare
- Metodologia de testare
Activități SQA
Mai jos este prezentată lista activităților SQA:
# 1) Crearea unui plan de management SQA:
Activitatea cea mai importantă include stabilirea unui plan adecvat cu privire la modul în care SQA va fi realizat în proiectul dumneavoastră.
Împreună cu ce abordare SQA urmează să urmezi, ce activități de inginerie vor fi desfășurate și include, de asemenea, asigurarea faptului că ai un mix de talente potrivit în echipa ta.
# 2) Setarea punctelor de control:
Echipa SQA stabilește diferite puncte de control în funcție de care evaluează calitatea activităților proiectului la fiecare punct de control / etapă a proiectului. Acest lucru asigură inspecția regulată a calității și funcționarea conform programului.
# 3) Aplicați tehnici de inginerie software:
odihnați întrebări și răspunsuri la interviul serviciului web
Aplicarea unor tehnici de inginerie software ajută un proiectant de software să realizeze specificații de înaltă calitate. Pentru culegerea de informații, un proiectant poate folosi tehnici precum interviuri și FAST (Tehnica sistemului de analiză funcțională).
Mai târziu, pe baza informațiilor colectate, proiectantul software-ului poate pregăti estimarea proiectului utilizând tehnici precum WBS (structura defalcării de lucru), SLOC (linia sursă de coduri) și estimarea FP (punct funcțional).
# 4) Executarea recenziilor tehnice formale:
Se face un FTR pentru a evalua calitatea și designul prototipului.
întrebări și răspunsuri pentru interviuri python pentru testeri
În acest proces, se desfășoară o întâlnire cu personalul tehnic pentru a discuta cu privire la cerințele reale de calitate ale software-ului și la calitatea proiectării prototipului. Această activitate ajută la detectarea erorilor în faza incipientă a SDLC și reduce efortul de refacere în fazele ulterioare.
# 5) Având o strategie de testare multiplă:
Prin strategia de testare multiplă, ne referim la faptul că nu trebuie să ne bazăm pe nicio abordare de testare unică, ci trebuie efectuate mai multe tipuri de testare, astfel încât produsul software să poată fi testat bine din toate unghiurile pentru a asigura o calitate mai bună.
# 6) Respectarea procesului de respectare:
Această activitate insistă asupra necesității aderării procesului în timpul procesului de dezvoltare software. Procesul de dezvoltare ar trebui să respecte, de asemenea, procedurile definite.
Această activitate este un amestec de două subactivități care sunt explicate mai jos în detaliu:
(i) Evaluarea produsului:
Această activitate confirmă faptul că produsul software îndeplinește cerințele care au fost descoperite în planul de management al proiectului. Se asigură că standardele stabilite pentru proiect sunt respectate corect.
(ii) Monitorizarea procesului:
Această activitate verifică dacă au fost luați pașii corecți în timpul dezvoltării software-ului. Acest lucru se face prin potrivirea pașilor efectivi efectuați cu pașii documentați.
# 7) Controlul schimbărilor:
În această activitate, folosim un amestec de proceduri manuale și instrumente automate pentru a avea un mecanism de control al schimbărilor.
Prin validarea cererilor de modificare, evaluarea naturii schimbării și controlul efectului schimbării, se asigură că calitatea software-ului este menținută în timpul fazelor de dezvoltare și întreținere.
# 8) Măsurați impactul schimbării:
Dacă vreun defect este raportat de echipa QA, atunci echipa în cauză remediază defectul.
După aceasta, echipa QA ar trebui să determine impactul modificării aduse de această remediere a defectelor. Ei trebuie să testeze nu numai dacă modificarea a remediat defectul, ci și dacă schimbarea este compatibilă cu întregul proiect.
În acest scop, folosim indicatori de calitate a software-ului care permit managerilor și dezvoltatorilor să observe activitățile și modificările propuse de la începutul până la sfârșitul SDLC și să inițieze acțiuni corective ori de câte ori este necesar.
# 9) Efectuarea auditurilor SQA:
Auditul SQA inspectează întregul proces SDLC actual urmat de compararea acestuia cu procesul stabilit.
De asemenea, verifică orice raportat de echipă în rapoartele de stare au fost efectiv efectuate sau nu. Această activitate expune, de asemenea, orice problemă de neconformitate.
# 10) Menținerea înregistrărilor și rapoartelor:
Este crucial să păstrăm documentația necesară referitoare la SQA și să împărtășim informațiile necesare SQA cu părțile interesate. Rezultatele testelor, rezultatele auditului, rapoartele de revizuire, documentația cererilor de modificare etc. ar trebui păstrate pentru referințe viitoare.
# 11) Gestionați relațiile bune:
De fapt, este foarte important să menținem armonia între QA și echipa de dezvoltare.
Auzim adesea că testerii și dezvoltatorii se simt adesea superiori unul față de celălalt. Acest lucru trebuie evitat, deoarece poate afecta calitatea generală a proiectului.
Standarde de asigurare a calității software-ului
În general, SQA poate solicita conformitatea cu unul sau mai multe standarde.
Unele dintre cele mai populare standarde sunt discutate mai jos:
ISO 9000: Acest standard se bazează pe șapte principii de management al calității care ajută organizațiile să se asigure că produsele sau serviciile lor sunt aliniate la nevoile clienților ”.
7 principii ale ISO 9000 sunt prezentate în imaginea de mai jos:
Nivel CMMI: CMMI înseamnă Integrarea modelului de maturitate a capacității . Acest model a fost creat în ingineria software. Poate fi utilizat pentru a direcționa îmbunătățirea procesului în cadrul unui proiect, departament sau întreaga organizație.
5 nivele CMMI și caracteristicile lor sunt descrise în imaginea de mai jos:
O organizație este evaluată și i se acordă un nivel de maturitate (1-5) pe baza tipului de evaluare.
Integrarea modelului de maturitate a testului (TMMi): Bazat pe CMMi, acest model se concentrează pe nivelurile de maturitate în managementul și testarea calității software-ului.
5 nivele TMMi sunt prezentate în imaginea de mai jos:
cum se execută un fișier jar în Windows
Pe măsură ce o organizație trece la un nivel de maturitate mai ridicat, atinge o capacitate mai mare de a produce produse de înaltă calitate, cu defecte mai puține și îndeplinește îndeaproape cerințele afacerii.
Elemente de asigurare a calității software-ului
Există 10 elemente esențiale ale SQA care sunt prezentate mai jos pentru referință:
- Standarde de inginerie software
- Revizuiri tehnice și audituri
- Testare software pentru controlul calității
- Colectarea și analiza erorilor
- Managementul schimbării
- Programe educaționale
- Managementul furnizorilor
- Management de securitate
- Siguranță
- Managementul riscurilor
Tehnici SQA
Există mai multe tehnici pentru SQA. Auditul este principala tehnică adoptată pe scară largă. Cu toate acestea, avem și alte câteva tehnici semnificative.
Diferite tehnici SQA includ:
- Audit: Auditul implică inspecția produselor de lucru și a informațiilor aferente pentru a determina dacă setul de procese standard a fost urmat sau nu.
- Revizuirea : O întâlnire în care produsul software este examinat atât de părțile interesate interne, cât și de cele externe pentru a solicita comentariile și aprobarea acestora.
- Inspecția codului: Este cel mai formal tip de revizuire care face teste statice pentru a găsi erori și a evita creșterea defectelor în etapele ulterioare. Acesta este realizat de un mediator / coleg instruit și se bazează pe reguli, listă de verificare, criterii de intrare și ieșire. Recenzorul nu ar trebui să fie autorul codului.
- Inspecție de proiectare: Inspecția proiectării se face folosind o listă de verificare care inspectează domeniile de mai jos ale proiectării software:
- Cerințe generale și proiectare
- Specificații funcționale și de interfață
- Convenții
- Trasabilitatea cerințelor
- Structuri și interfețe
- Logică
- Performanţă
- Tratarea și recuperarea erorilor
- Testabilitate, extensibilitate
- Cuplare și coeziune
- Simulare: Simularea este un instrument care modelează situația din viața reală pentru a examina practic comportamentul sistemului în studiu.
- Testare funcțională: Este o tehnică QA care verifică ceea ce face sistemul fără a lua în considerare cum funcționează. Acest tip de testarea cutiei negre se concentrează în principal pe testarea specificațiilor sau caracteristicilor sistemului.
- Standardizare: Standardizarea joacă un rol crucial în asigurarea calității. Scade ambiguitatea și presupunerile, asigurând astfel calitatea.
- Analiza statică: Este o analiză software realizată de un instrument automat, fără a executa efectiv programul. Această tehnică este foarte utilizată pentru asigurarea calității în software medical, nuclear și de aviație. Metricile software și ingineria inversă sunt câteva forme populare de analiză statică.
- Ghiduri: Ghidul software sau ghidul codului este un fel de evaluare inter pares în care dezvoltatorul îi ghidează pe membrii echipei de dezvoltare să treacă prin produs și să ridice întrebări, să sugereze alternative, să facă comentarii cu privire la posibile erori, încălcări standard sau orice alte probleme.
- Testarea traseului: Este un tehnica de testare a cutiei albe unde acoperirea completă a sucursalei este asigurată prin executarea fiecărei căi independente cel puțin o dată.
- Testare stresanta: Acest tip de testare se face pentru a verifica cât de robust este un sistem, testându-l sub sarcină grea, adică dincolo de condițiile normale.
- Six Sigma: Six Sigma este o abordare de asigurare a calității care vizează produse sau servicii aproape perfecte. Este aplicat pe scară largă în multe domenii, inclusiv software. Obiectivul principal al six sigma este îmbunătățirea procesului, astfel încât software-ul produs să fie fără defecte de 99,76%.
Concluzie
SQA este o activitate umbrelă care este utilizată pe tot parcursul ciclului de viață al software-ului.
Asigurarea calității software-ului este foarte importantă pentru ca produsul sau serviciul dvs. software să aibă succes pe piață și să supraviețuiască așteptărilor clientului.
Există diverse activități, standarde și tehnici pe care trebuie să le urmați pentru a vă asigura că software-ul livrabil este de înaltă calitate și se aliniază strâns cu nevoile afacerii.
Sper că ați avea o idee clară asupra conceptului de asigurare a calității software-ului prin acest articol informativ !!
Lectură recomandată
- Testări de software și certificări de asigurare a calității - Partea 2
- Care sunt atributele de calitate?
- Fake God of Quality versus True Humans - Cine este responsabil pentru calitatea software-ului?
- Diferența dintre asigurarea calității și controlul calității (QA vs QC)
- Ghid de CV perfect pentru testarea software-ului (cu eșantion de CV pentru tester de software)
- Cum se utilizează tehnica Poka-Yoke (Mistake Proofing) pentru îmbunătățirea calității software-ului
- Înțelegerea reciprocă în testare: o cheie pentru furnizarea unui software de calitate
- Testare software Job asistent QA