Prova de programari
Autor: Joan Puigcerver Ibáñez
Correu electrònic: j.puigcerveribanez@edu.gva.es
Llicència: CC BY-NC-SA 4.0
(Reconeixement - NoComercial - CompartirIgual) 🅭
Prova de programari
La prova de programari o testing és una pràctica molt important en el desenvolupament de software,
ja que ens ajuda a assegurar que el nostre programa funcione correctament i estiga lliure d'errors.
El testing és una part molt important del procés de desenvolupament de software,
ja que ens ajuda a assegurar la qualitat del nostre programa i a detectar i solucionar
els errors abans que aquest arribe als usuaris finals.
Hi ha diferents tipus de realitzar les proves, cada un amb un objectiu específic,
però en general, consisteix en executar casos de prova o escenaris concrets amb l'objectiu
de comprovar que el programa s'estiga comportant com s'espera.
És impossible provar tots els casos que existeixen, però quantes més proves hi hagen i més
extenses siguen, més podem reduir el risc d'errors.
Etapes del procés de prova
Hi ha diferents etapes en el procés de testing:
- Planificació del testing: En aquesta etapa, es defineixen els objectius del testing,
es crea un pla de testing i es seleccionen les eines i recursos necessaris per realitzar-lo.
- Creació dels casos de testing: Es creen els casos de prova, que són escenaris o situacions concretes
que es volen provar amb el programa. Això inclou l'especificació dels passos a seguir,
les dades d'entrada i els resultats esperats.
- Execució dels casos de prova: Es duen a terme els casos de prova,
seguint els passos especificats i comprovant que el programa done els resultats esperats.
- Anàlisi dels resultats: Es revisen els resultats obtinguts, es registren els errors trobats
i es decideix quines accions s'han de prendre per solucionar-los.
- Regressió: Una vegada s'han solucionat els errors trobats,
es torna a executar les proves (pas 3) per assegurar que els canvis realitzats
no hagen tingut cap efecte negatiu en altres parts del programa.
- Acceptació: Una vegada s'han superat tots els casos de prova i s'ha fet una regressió adequada,
es considera que el programa està preparat per ser lliurat al client o per ser posat en producció.
Classificació de les proves
Segons la realització
Segons de com es realitzen les proves, podem classificar-les en:
- Manuals: són aquelles que es fan de forma manual, és a dir, amb la intervenció d'un humà
que executa els casos de testing i analitza els resultats.
Aquest tipus de testing es fa generalment quan es vol fer una avaluació visual o quan es vol
comprovar el comportament del programa en diferents escenaris o situacions.
- Automatitzades: són aquelles que es fan amb l'ajuda d'un programa o eina específica.
Aquest tipus de testing es fa per tal de fer un seguiment dels canvis realitzats al programa i
detectar qualsevol incidència. Les proves automatitzades són útils per a reduir el temps de testing i
assegurar que es cobreixen tots els casos de testing de forma consistent.
Segons el coneixement del sistema
Segons si s'utilitza el codi font del sistema en les proves, podem classificar-les en:
- Proves de caixa negra: es valida el comportament d'un programa
sense tindre en compte la seva implementació interna. Es fa principalment a partir de les especificacions
del programa i de les dades d'entrada i eixida, sense necessitat de tindre accés al codi font del programa.
- Proves de caixa blanca: es valida el comportament d'un programa tenint en compte la seva implementació interna.
Això implica tenir accés al codi font del programa i fer servir tècniques com ara l'anàlisi de codi o la revisió de
codi per comprovar que es compleixen els criteris de qualitat establerts.
Segons el propòsit
Entre els diferents tipus de proves, podem destacar:
- Proves unitàries Es fa per comprovar el correcte funcionament de cada unitat o mòdul individual d'un programa.
L'objectiu és assegurar que cada part del programa estigui funcionant
correctament per si mateixa abans de fer-les treballar junts.
- Proves d'integració: Es fa per comprovar el correcte funcionament de les diferents unitats
o mòduls del programa quan treballen junts.
Aquest tipus de testing es fa per detectar errors que es puguin
produir en la interacció entre diferents parts del programa.
- Testing de sistema: Es fa per comprovar el correcte funcionament del programa com a tot.
L'objectiu és assegurar que el programa complet estigui comportant-se com s'espera i
estigui preparat per ser lliurat o posat en producció.
- Testing de validació: Es fa per comprovar que el programa compleix amb els requisits
especificats pel client o per l'usuari final. L'objectiu és assegurar que
el programa estigui fent el que s'espera que faci.
- Testing de càrrega: Es fa per comprovar com el programa es comporta quan està sotmès a una càrrega de treball elevada.
L'objectiu és assegurar que el programa pugui gestionar la càrrega esperada sense fallar.
|