what is software quality assurance
Què és la garantia de qualitat del programari?
Garantia de qualitat del programari (SQA) és un procés que garanteix que tots els processos, mètodes, activitats i elements de treball d'enginyeria de programari es controlen i compleixen els estàndards definits. Aquests estàndards definits poden ser un o una combinació de qualsevol com ara ISO 9000, model CMMI, ISO15504, etc.
SQA incorpora tots els processos de desenvolupament de programari des de la definició de requisits fins a la codificació fins al llançament. El seu objectiu principal és garantir la qualitat.
com obrir un fitxer apk
Què aprendreu:
- Pla d'assegurament de la qualitat del programari
- Activitats SQA
- Estàndards d'assegurament de la qualitat del programari
- Elements de garantia de qualitat del programari
- Tècniques SQA
- Conclusió
- Lectura recomanada
Pla d'assegurament de la qualitat del programari
Abreujat com a SQAP, el pla d’assegurament de la qualitat del programari comprèn els procediments, tècniques i eines que s’utilitzen per assegurar-se que un producte o servei s’ajusta als requisits definits a l’SRS (especificació de requisits de programari).
El pla identifica les responsabilitats SQA d’un equip, enumera les àrees que cal revisar i auditar. També identifica els productes de treball SQA.
El document del pla SQA consta de les seccions següents:
- Secció finalitat
- Secció de referència
- Secció de gestió de configuracions de programari
- Secció d'informes de problemes i accions correctives
- Secció d’eines, tecnologies i metodologies
- Secció de control de codi
- Registres: secció de recollida, manteniment i conservació
- Metodologia de proves
Activitats SQA
A continuació es mostra la llista d’activitats SQA:
# 1) Creació d'un pla de gestió SQA:
L’activitat principal inclou establir un pla adequat sobre com es durà a terme l’SQA al vostre projecte.
Juntament amb quin enfocament SQA seguirà, quines activitats d'enginyeria es duran a terme i també inclou assegurar-se que tingui una combinació de talents adequada al seu equip.
# 2) Configuració dels punts de control:
L’equip de SQA estableix diferents punts de control segons els quals avalua la qualitat de les activitats del projecte en cada etapa de control / projecte. Això garanteix una inspecció i un funcionament regulars de la qualitat segons el calendari.
# 3) Apliqueu tècniques d'enginyeria de programari:
L'aplicació d'algunes tècniques d'enginyeria de programari ajuda un dissenyador de programari a aconseguir especificacions d'alta qualitat. Per recopilar informació, un dissenyador pot utilitzar tècniques com ara entrevistes i FAST (Functional Analysis System Technique).
Posteriorment, basant-se en la informació recollida, el dissenyador de programari pot preparar l’estimació del projecte mitjançant tècniques com WBS (estructura de desglossament del treball), SLOC (línia de codis font) i estimació FP (punt funcional).
# 4) Execució de revisions tècniques formals:
Es fa un FTR per avaluar la qualitat i el disseny del prototip.
En aquest procés, es realitza una reunió amb el personal tècnic per discutir sobre els requisits de qualitat reals del programari i la qualitat de disseny del prototip. Aquesta activitat ajuda a detectar errors en la primera fase de SDLC i redueix l'esforç de reelaboració en les fases posteriors.
# 5) Tenir una estratègia de proves múltiples:
Per estratègia de proves múltiples, volem dir que no s’ha de confiar en cap enfocament de proves, sinó que s’han de realitzar diversos tipus de proves de manera que el producte de programari es pugui provar bé des de tots els angles per garantir una millor qualitat.
# 6) Compliment del compliment de processos:
Aquesta activitat insisteix en la necessitat d’adherir-se al procés durant el procés de desenvolupament de programari. El procés de desenvolupament també s’ha d’adherir als procediments definits.
Aquesta activitat és una barreja de dues subactivitats que s’expliquen a continuació amb detall:
(i) Avaluació del producte:
Aquesta activitat confirma que el producte de programari compleix els requisits que es van descobrir al pla de gestió de projectes. Assegura que els estàndards establerts per al projecte es compleixen correctament.
(ii) Monitorització de processos:
Aquesta activitat verifica si es van fer els passos correctes durant el desenvolupament de programari. Això es fa coincidint els passos realitzats amb els passos documentats.
# 7) Control del canvi:
En aquesta activitat, fem servir una combinació de procediments manuals i eines automatitzades per tenir un mecanisme de control de canvis.
Validant les sol·licituds de canvi, avaluant la naturalesa del canvi i controlant l’efecte del canvi, s’assegura que la qualitat del programari es mantingui durant les fases de desenvolupament i manteniment.
# 8) Mesurar l'impacte del canvi:
Si l’equip de control de qualitat informa d’un defecte, l’equip en qüestió soluciona el defecte.
Després d'això, l'equip de control de qualitat hauria de determinar l'impacte del canvi provocat per aquesta correcció de defectes. Han de provar no només si el canvi ha solucionat el defecte, sinó també si el canvi és compatible amb tot el projecte.
Amb aquest propòsit, fem servir mètriques de qualitat de programari que permeten als gestors i desenvolupadors observar les activitats i els canvis proposats des del principi fins al final de SDLC i iniciar accions correctives sempre que sigui necessari.
# 9) Realització d'auditories SQA:
L'auditoria SQA inspecciona tot el procés SDLC real seguit de comparar-lo amb el procés establert.
També comprova tot allò que l'equip ha informat en els informes d'estat realment realitzats o no. Aquesta activitat també exposa qualsevol problema d’incompliment.
# 10) Manteniment de registres i informes:
És crucial conservar la documentació necessària relacionada amb SQA i compartir la informació SQA necessària amb els grups d'interès. Els resultats de les proves, els resultats de l’auditoria, els informes de revisió, la documentació de les sol·licituds de canvi, etc. s’han de conservar per a futures consultes.
# 11) Gestioneu bones relacions:
De fet, és molt important mantenir l’harmonia entre el control de qualitat i l’equip de desenvolupament.
Sovint sentim que els verificadors i els desenvolupadors sovint se senten superiors els uns als altres. Cal evitar-ho, ja que pot afectar la qualitat general del projecte.
Estàndards d'assegurament de la qualitat del programari
En general, SQA pot exigir conformitat amb un o més estàndards.
A continuació, es comenten alguns dels estàndards més populars:
ISO 9000: Aquesta norma es basa en set principis de gestió de la qualitat que ajuden les organitzacions a garantir que els seus productes o serveis estiguin alineats amb les necessitats dels clients ».
A la imatge següent es mostren 7 principis de la norma ISO 9000:
Nivell CMMI: CMMI significa Integració del model de maduresa de la capacitat . Aquest model es va originar en enginyeria de programari. Es pot utilitzar per dirigir la millora del procés a través d'un projecte, departament o tota una organització.
A la imatge següent es descriuen 5 nivells de CMMI i les seves característiques.
Es valora una organització i se li atorga una qualificació de nivell de maduresa (1-5) en funció del tipus de taxació.
Integració del model de maduresa de proves (TMMi): Basat en CMMi, aquest model se centra en els nivells de maduresa en la gestió i proves de qualitat del programari.
A la imatge següent es mostren 5 nivells de TMMi:
A mesura que una organització avança en un nivell de maduresa més alt, aconsegueix una major capacitat per produir productes d’alta qualitat amb menys defectes i compleix de prop els requisits empresarials.
Elements de garantia de qualitat del programari
A continuació, es detallen 10 elements essencials de SQA com a referència:
- Estàndards d'enginyeria de programari
- Revisions tècniques i auditories
- Proves de programari per al control de qualitat
- Recollida i anàlisi d'errors
- Gestió del canvi
- Programes educatius
- Gestió de proveïdors
- Gestió de la seguretat
- Seguretat
- Gestió de riscos
Tècniques SQA
Hi ha diverses tècniques per a SQA. L’auditoria és la tècnica principal que s’adopta àmpliament. Tanmateix, també tenim algunes tècniques significatives.
Diverses tècniques SQA inclouen:
- Auditoria: L’auditoria implica la inspecció dels productes de treball i la seva informació relacionada per determinar si es va seguir o no el conjunt de processos estàndard.
- S'està revisant : Una reunió en què els interessats interns i externs examinen el producte de programari per obtenir els seus comentaris i aprovació.
- Inspecció de codi: És el tipus de revisió més formal que fa proves estàtiques per trobar errors i evitar el creixement de defectes en les etapes posteriors. Ho fa un mediador / parell format i es basa en regles, llista de comprovació, criteris d’entrada i sortida. El revisor no ha de ser l'autor del codi.
- Inspecció de disseny: La inspecció del disseny es fa mitjançant una llista de comprovació que inspecciona les següents àrees del disseny de programari:
- Requisits generals i disseny
- Especificacions funcionals i d'interfície
- Convencions
- Traçabilitat del requisit
- Estructures i interfícies
- Lògica
- Rendiment
- Gestió i recuperació d'errors
- Testabilitat, extensibilitat
- Acoblament i cohesió
- Simulació: La simulació és una eina que modela la situació de la vida real per examinar pràcticament el comportament del sistema en estudi.
- Proves funcionals: És una tècnica de control de qualitat que verifica el que fa el sistema sense tenir en compte com ho fa. Aquest tipus de proves de caixa negra se centra principalment a provar les característiques o especificacions del sistema.
- Normalització: La normalització juga un paper crucial en la garantia de qualitat. Disminueix l’ambigüitat i les conjectures, garantint així la qualitat.
- Anàlisi estàtic: És una anàlisi de programari que es fa mitjançant una eina automatitzada sense executar realment el programa. Aquesta tècnica s’utilitza molt per a la garantia de qualitat en programes mèdics, nuclears i d’aviació. Les mètriques de programari i l’enginyeria inversa són algunes formes populars d’anàlisi estàtica.
- Tutorials: El tutorial de programari o tutorial de codi és una mena de revisió per parells on el desenvolupador guia els membres de l’equip de desenvolupament per revisar el producte i plantejar consultes, suggerir alternatives, fer comentaris sobre possibles errors, infraccions estàndard o qualsevol altre problema.
- Prova de camí: És un tècnica de proves de caixa blanca on s'assegura la cobertura completa de sucursal executant cada ruta independent almenys una vegada.
- Proves d’estrès: Aquest tipus de proves es realitzen per comprovar la robustesa d’un sistema provant-lo sota càrrega elevada, és a dir, més enllà de les condicions normals.
- Six Sigma: Six Sigma és un enfocament de garantia de qualitat que té com a objectiu productes o serveis gairebé perfectes. S’aplica àmpliament en molts camps, inclòs el programari. L’objectiu principal de six sigma és la millora del procés, de manera que el programari produït sigui lliure d’un defecte del 99,76%.
Conclusió
SQA és una activitat general que s’utilitza durant tot el cicle de vida del programari.
La garantia de qualitat del programari és molt important perquè el vostre producte o servei de programari tingui èxit al mercat i pugui sobreviure a les expectatives del client.
Hi ha diverses activitats, estàndards i tècniques que heu de seguir per assegurar-vos que el programari lliurable sigui d'alta qualitat i que s'ajusti estretament a les necessitats empresarials.
Espero que tingueu una idea clara sobre el concepte d'assegurament de la qualitat del programari a través d'aquest article informatiu.
Lectura recomanada
- Proves de programari i certificacions d'assegurament de la qualitat - Part 2
- Quins són els atributs de qualitat?
- Fals Déu de la qualitat enfront dels veritables humans: qui és el responsable de la qualitat del programari?
- Diferència entre garantia de qualitat i control de qualitat (QA vs QC)
- Guia de currículums de proves de programari perfectes (amb mostra de currículum de proves de programari)
- Com s'utilitza la tècnica Poka-Yoke (Prova d'errors) per millorar la qualitat del programari
- Comprensió mútua en proves: una clau per oferir un programari de qualitat
- Prova de programari Treball d'assistent de control de qualitat