Podem realitzar les proves sempre de forma manual, sense usar l’automatització, però això pot arribar a ser molt costós en el llarg termini, especialment si participa un equip gran. Automatitzant les proves, podem cobrir tasques repetitives, comunes i reduir l’equip de proves o fer per exemple que participin per trobar més defectes mitjançant proves negatives (provar com “trencar” l’aplicació, enlloc de reproduir el que s’espera).
Els avantatges de l’automatització versus l’execució de proves manual són principalment:
Però cal considerar que té alguns desavantatges:
Durant l’estratègia d’automatització s’ha de planificar quin serà l’abast de l’automatització i identificar els candidats que s’automatitzaran i en quin ordre es realitzaran.
El primer pas en l’automatització ès avaluar si té o no sentit automatitzar les proves. Cal prendre en consideració:
L’automatització ha de donar almenys un retorn de 4:1 respecte a les proves manuals. Avaluar:
L’aplicació està “estàtica”, en el sentit que el que volem provar no té ja modificacions
Com no s’ha d’automatitzar tota l’aplicació, és important identificar els escenaris de negoci més crítics que són ideals per la seva automatització. Hem de determinar el percentatge de casos de prova que automatitzarem per determinar quant de temps necessitarem durant el projecte.
Escollirem els casos de prova amb:
El cost d’una automatització d’una prova depén de la seva complexitat, que es pot mesurar segons:
Podem classificar la complexitat dels diferents casos de prova segons:
Segons la seva complexitat també podem determinar si són o no bons candidats depenent del nombre de vegades que s’executaran a l’any:
Els valors específics per complexitat depenen de l’experiència de l’equip, la tecnologia, o el tipus de projecte, però podem establir els següents valors mitjos de referència en els projectes per a la Generalitat de Catalunya:
Fora d’aquests marges es poden determinar casos de prova especialment complexos i per sobre de la complexitat alta, cas en el que s’han de justificar.
En quins casos podem aplicar l’automatització?
Podem establir 3 tipus d’enfocs d’automatització:
Per exemple, l’eina HP UFT pot reconéixer una sel·lecció d’una opció com varis passos: un click en un objecte de tipus botó, una operació de ratolí per moure’s en la llista mostrada i una tecla premuda per sel·leccionar un element. Podem agrupar aquestes operacions de baix nivell en una única, paraula clau de negoci. Aquesta paraula clau, també pot reutilitzada per crear nous casos de prova sense coneixement tecnològic previ (reutilitzant aquestes accions). A més, com a benefici, es millora el manteniment, ja que un canvi a la presentació només afecta al lloc on s’ha definit l’acció, no tot arreu on s’usa.
En l’exemple, les diferents operacions que interactuen amb la pantalla (escollir el camp ‘fromPort’ i seleccionar el valor ‘New York’, …) estan agrupades en l’acció ‘Cercar un vol’.
Es poden combinar tots els mètodes entre sí per generar un script adaptable, mantenible i executable per diferents escenaris.
Quan es registra una automatització s’interactua amb objectes (botons, enllaços, …) mitjançant esdeveniments (prémer, passar per sobre, …).
En el cas de l’automatització de interfícies d’usuari, es poden millorar les automatitzacions amb diferents tipus d’elements:
Checkpoints o verificacions. Verificació que compara el valor actual (en l’execució de la prova) d’una propietat o característica d’un objecte amb el valor esperat. Per exemple, podem:
Valors de sortida. El cas de prova pot recuperar valors i emmagatzemar-los per ser usats com a entrada en un pas posterior de l’execució.
Parametritzacions de valors. El cas de prova pot parametritzar els valors d’entrada o sortida per ser usats en la prova
Accions. Divisió de la prova en accions (keyword driven testing)
Durant les tasques prèvies a l’automatització d’un cas de prova cal:
Incorporar:
Durant l’execució de la prova s’han de poder visualitzar els resultats amb imatges, vídeos, …
Després de creades, les proves poden ser modificades o adaptades per a cada versió. En promig, considerem que per cada nova prova, el 25% de les proves requereixen manteniment i el 75% resten sense canvis.