Salta el contingut
 

Prova de programari

Joan Puigcerver Ibáñez

Llicència: CC BY-NC-SA 4.0

(Reconeixement - NoComercial - CompartirIgual) 🅭

Prova de programari

La prova de programari (testing) és una pràctica molt important en el desenvolupament de programari, ja que ajuda a assegurar que el programa funciona correctament i no té errors. A més, permet detectar i solucionar els errors abans que arriben a les persones usuàries finals.

Hi ha diferents tipus de proves, cadascun amb un objectiu específic. En general, però, totes consisteixen a executar casos de prova, és a dir, escenaris concrets que permeten comprovar que el programa es comporta com s'espera.

És impossible provar tots els casos possibles. No obstant això, com més proves hi haja i més extenses siguen, més es redueix el risc d'errors.

Etapes del procés de prova

El procés de prova es divideix en diferents etapes:

  1. Planificació: es defineixen els objectius de les proves, es crea un pla de proves i es trien les ferramentes i els recursos necessaris.
  2. Creació dels casos de prova: es creen els casos de prova, que són escenaris o situacions concretes que es volen provar en el programa. Cada cas especifica els passos que cal seguir, les dades d'entrada i els resultats esperats.
  3. Execució dels casos de prova: s'executen els casos de prova seguint els passos especificats i es comprova que el programa dona els resultats esperats.
  4. Anàlisi dels resultats: es revisen els resultats obtinguts, es registren els errors trobats i es decideix quines accions cal prendre per solucionar-los.
  5. Regressió: una vegada solucionats els errors, es tornen a executar les proves (pas 3) per assegurar que els canvis no han tingut cap efecte negatiu en altres parts del programa.
  6. Acceptació: una vegada superats tots els casos de prova i feta una regressió adequada, es considera que el programa està preparat per lliurar-lo al client o posar-lo en producció.

Classificació de les proves

Les proves es poden classificar segons diversos criteris: com es fan, quin coneixement es té del sistema i quin és el seu propòsit.

Segons la realització

Segons com es fan, les proves poden ser:

  • Manuals: les fa una persona, que executa els casos de prova i n'analitza els resultats. Normalment es fan quan cal una avaluació visual o quan es vol comprovar el comportament del programa en escenaris o situacions diferents.
  • Automatitzades: es fan amb l'ajuda d'un programa o una ferramenta específica. Permeten fer un seguiment dels canvis en el programa i detectar qualsevol incidència. A més, redueixen el temps de prova i asseguren que tots els casos de prova s'executen sempre de la mateixa manera.

Segons el coneixement del sistema

Segons si s'utilitza el codi font del sistema, les proves poden ser:

  • Proves de caixa negra: validen el comportament d'un programa sense tindre en compte la seua implementació interna. Es basen en les especificacions del programa i en les dades d'entrada i d'eixida, sense necessitat d'accedir al codi font.
  • Proves de caixa blanca: validen el comportament d'un programa tenint en compte la seua implementació interna. Per tant, cal accedir al codi font i utilitzar tècniques com l'anàlisi o la revisió del codi per comprovar que es compleixen els criteris de qualitat establerts.

Segons el propòsit

Segons el seu propòsit, destaquen els tipus de proves següents:

  • Proves unitàries: comproven el funcionament de cada unitat o mòdul individual del programa. L'objectiu és assegurar que cada part funciona correctament per si mateixa abans de fer-les treballar juntes.
  • Proves d'integració: comproven el funcionament de les diferents unitats o mòduls del programa quan treballen junts. Permeten detectar errors que es poden produir en la interacció entre parts.
  • Proves de sistema: comproven el funcionament del programa en conjunt. L'objectiu és assegurar que el programa complet es comporta com s'espera i està preparat per lliurar-lo o posar-lo en producció.
  • Proves de validació: comproven que el programa compleix els requisits especificats pel client o per les persones usuàries finals. És a dir, asseguren que el programa fa el que s'espera que faça.
  • Proves de càrrega: comproven com es comporta el programa quan està sotmés a una càrrega de treball elevada. L'objectiu és assegurar que el programa pot gestionar la càrrega esperada sense fallar.
📌 Aquest document pot quedar desactualitzat després d’imprimir-lo. Pots consultar la versió més recent a la pàgina web.
🌿 Abans d’imprimir aquest document, considera si és realment necessari. Redueix el consum de paper i ajuda a protegir el nostre entorn.