Les proves sobre apps mòbils són diferents a les que es realitzen sobre aplicacions web, ja que s’han de tenir en compte els següents aspectes tècnics:

  • Gran varietat de dispositius mòbils: múltiples plataformes, navegadors, diferències en el renderitzat, …
  • Diferents dispositius mòbils amb diferents mides de pantalla i configuracions de maquinari
  • Diferents sistemes operatius (Android, OS, Windows, …) i freqüents actualitzacions
  • Diferents condicions de xarxa (operadors, GSM/GPRS/Wi-fi, velocitats de connexió diferents segons ubicació, …)

Per adreçar aquests aspectes, cal tenir en compte diferents tipus de proves:

  1. Proves d’instal·lació. Provar el funcionament de la app instal·lant-la, desinstal·lant-la i reinstal·lant-la (per l’usuari ha de ser un procés senzill i sense impacte)
  2. Proves de compatibilitat. Provar com funciona la app en els diferents dispositius mòbils, navegadors, mides de pantalla i sistemes operatius, així com l’ús que fa de les característiques propietàries del dispositius (GPS, …).
  3. Proves de rendiment. Proves que verifiquen com la app respon en condicions de poca bateria, poca memòria, baixa cobertura de la xarxa de connexió, transferència de fitxers grans, accés concurrent d’usuaris, …
  4. Proves d’interrupció. Provar com es comporta la app en el seu ús quan es reben diferents interrupcions (inserció del cable de bateria, pèrdua i recuperació de la xarxa, avís baixa memòria, …)
  5. Proves d’usabilitat, disseny i localització. Provar que la app és fàcil d’usar i dóna una experiència satisfactòria a l’usuari, el disseny és correcte i els diferents continguts són correctes en els diferents idiomes de la app.
  6. Proves de seguretat. Proves per verificar que no hi ha vulnerabilitats en l’accés a les dades, en l’autenticació, l’autorització o la gestió de sessions.
  7. Proves de conformitat. Proves que verifiquen el compliment amb les guies dels markets (Apple, …)
  8. Proves funcionals. Proves per verificar la funcionalitat definida.
  9. Proves de camp. Proves realitzades en itinerància per avaluar el funcionament de l’aplicació amb GPS, brúixola o acceleròmetre.
  10. Proves d’accessibilitat. Proves per garantir l’accessibilitat i no discriminació de les persones amb discapacitat en les seves relacions amb el sector públic. El proveïdor presentarà el corresponent certificat IRA, per tal de poder realitzar la certificació.

A continuació s’inclouen els punts a verificar més comuns en els diferents tipus de prova.

Considerar prèviament el Estàndard de dsenvolupament de programari per aplicacions mòbils

En es marquen aquelles proves que habitualment troben més defectes o defectes més crítics.

Proves d’instal·lació

Provar que la app es pot instal·lar
Provar que la app es pot desinstal·lar correctament (no queden carpetes, fitxers temporals, …)
Provar que la app es pot reinstal·lar

Proves de compatibilitat

Provar que la app funciona en diferents tipus de dispositius i sistemes operatius de forma consistent (verificant discrepàncies): texts que no es veuen bé, queden fora del marge, …

Proves de rendiment

Provar la app en condicions de baixa bateria
Provar la app en condicions de baixa memòria
Provar la app en condicions de baixa cobertura o qualitat de la xarxa
Provar com funciona la app quan no hi ha xarxa o s’activa el mode avió (es mostra un missatge a l’usuari?)
Provar com funciona la app en condicions de concurrència d’usuaris
Provar que la app es posa en mode ‘sleep’ quan es passa a segon terme (per prevenir que es consumeixi la bateria)

Els defectes relacionats amb el tractament de la connectivitat (pèrdua, baixa qualitat, etc.) són els més habituals en les diferents certificacions que realitza el CTTI.

Comprovar també quin és el comportament en rendiment relatiu (un sol usuari) en diferents sistemes operatius. Una mateixa aplicació pot anar àgil en iOS però lenta en Android, per exemple.

Proves d’interrupció

Els usuaris que utilitzen apps mòbils poden ser contínuament interromputs. S’ha de verificar com gestiona l’aplicació aquestes interrupcions.

Provar com es comporta la app si es rep una trucada entrant
Provar com es comporta la app si entra un missatge de text (SMS, …)
Provar com es comporta la app si es rep una interrupció d’una altra app (missatge del calendari, Whatsapp, …)
Provar com es comporta la app si canviem a una altra app i retornem de nou a la nostra app (switching)
Provar com es comporta quan es fa un bloqueig de pantalla i un desbloqueig de pantalla
Provar com es comporta la app si es connecta el carregador de bateria i es desconnecta
Provar com es comporta la app en els avisos de baixa bateria

Proves d’usabilitat, disseny i localització

Provar que es compleixen els criteris de disseny de la Generalitat de Catalunya
Provar que els butons tenen la mida requerida i són funcionals (per dits grans, per exemple)
Provar que les tecles ‘Inici’, ‘Home’, ‘Enrera’ i ‘Menu’ funcionen a la app
Provar que apareix el teclat quan es requereix
Provar que els continguts són consistents, no hi ha errors ortogràfics
Provar com respon la app a canvis en l’orientació del dispositiu
Provar la facilitat en el procés de registre i login
Provar que les opcions de menú són fàcils de trobar, entendre i usar (comprovar entre d’altres accés a Ajuda, Sobre, …)
Provar que els missatges d’error són clars, concisos i es poden tancar o interactuar amb ells.
Provar que els botons “reals” (els del dispositiu) fan la funció esperada en la app (Home, Back,…)
Provar que la app s’integra correctament amb les diferents xarxes socials (LinkedIn, Twitter, Facebook, etc.) (en cas que apliqui)
Provar que la app dóna alguna funcionalitat per tirar enrera
En cas que existeixi versió en escriptori (Web) provar que és consistent la funcionalitat amb aquesta versió (fent operacions en una o altra banda es reflecteixen els canvis a l’altra, …)

Proves de seguretat

Revisar la checklist de OWASP per apps mòbils, disponible a OWASP Mobile Security Project.

Proves de conformitat

Verificar que la app no usa “APIs no públiques”. És a dir, que la app no usi o desenvolupi funcions que ja dóna la plataforma (iOS, Android, …)
Verificar que s’usen les guies d’estil dels markets

Revisar les guies dels markets per analitzar què es pot verificar (exemple: “La app no pot ser descarregada sense el consentiment de l’usuari”).

Proves funcionals

Les proves funcionals hauran de ser especificades en base als requisits definits (transaccions, fluxos, validacions, …)

Proves de camp

Verificar que la app funciona en condicions d’itinerància (en cas que apliqui)

Proves d’accessibilitat.

Provar l’augment de text i display (Discapacitat sensorial).
Provar contrast (Discapacitat sensorial).
Provar funció d’accessibilitat del SO del mòbil, es revisen aproximadament 10 criteris (Discapacitat sensorial).
Provar si es perd contingut o funcionalitat en l’aplicació amb orientació horitzontal. (Discapacitat motora)
Provar àrea clicable (Discapacitat motora).
Provar etiquetes o instruccions (Discapacitat cognitiva).

Altres temes a considerar

Verificar que la app usa els ports de xarxa estàndars per connectar-se al servidor remot o serveis (HTTP:80 o 443, SFTP: 22, Mail: 25, 143, 465, 993 o 995), ja que alguns proveïdors tenen restringits alguns ports.