Android/Espresso Test: diferència entre les revisions

Contingut suprimit Contingut afegit
Sugestió de correccions
mCap resum de modificació
Línia 1:
== Introducció ==
=== Què és el testeig d’aplicacions? ===
+++ A l'hora de comprovar el correcte funcionament d'una aplicació en la fase de desenvolupament, ens veiem obligats a fer-les de manera individual i interactiva en un principi. No obstant això, que pot ser viable per a aplicacions petites i senzilles, pot tornar-se una tasca molt més tediosa i repetitiva quant més gran i complexa es torna la nostra aplicació. Per tal de poder concentrar els nostres esforços al desenvolupament i treure'ns treball de sobre, el framework Android ens proporciona una sèrie d'eines per a l'automatització d'aquestes tasques de testeig, entre elles l'Espresso.
El testeig d’una aplicació consisteix en oferir al programador una manera còmoda de poder provar totes les utilitats que oferirà l’aplicació a l'usuari. D'aquesta manera, podem perfilar la nostra aplicació de tal manera que evitem que el usuari que la farà servir no es trobarà cap situació inesperada mentre interactua amb la mateixa. I aquí és on entra l'eina Espresso, que vindria a ser una de les opcions que ens ofereix Android per fer testeig, entre totes les que hi han.
 
+++ A l'hora de comprovar el correcte funcionament d'una aplicació en la fase de desenvolupament, ens veiem obligats a fer-les de manera individual i interactiva en un principi. No obstant això, que pot ser viable per a aplicacions petites i senzilles, pot tornar-se una tasca molt més tediosa i repetitiva quant més gran i complexa es torna la nostra aplicació. Per tal de poder concentrar els nostres esforços al desenvolupament i treure'ns treball de sobre, el framework Android ens proporciona una sèrie d'eines per a l'automatització d'aquestes tasques de testeig, entre elles l'Espresso.
 
Espresso és una eina que permet fer el testeig de les teves aplicacions de manera totalment automatitzada, simulant el comportament que tindria una persona normal i corrent. Normalment, aprofitem i anem una mica més enllà per prevenir qualsevol tipus de falla en la sistema que pugui aparèixer per casos no contemplats. A més a més, s'ha de tenir en compte que cada conjunt de proves que es vol aplicar a una app, requereix una eina diferent i personalitzada per cadascuna. Aquesta eina es pot implementar gracies a la b iblioteca Android Testing Support, fàcilment incorporable al nostre entorn, sempre hi quan, estiguem programant sobre una versió superior o igual al Android 2.2 i amb nivell d’API 8 o superior.
 
=== Per què fer servir Espresso? ===
Cal destacar que aquesta eina, a diferencia de les altres, actua en sincronització automàtica amb les accions de la interfície que veu el usuari. D’aquesta manera, Espresso “veu” quins son els fils que s’estan executant en cada moment i pot fer una execució més semblant a la que faria una persona a mà. La diferencia amb la resta de programes de proves és que pot ometre el fet de posar en espera els threads que no anirà a fer servir durant un temps.
 
+++ A l'hora de testejar una aplicació Android, hem de discriminar dos casos diferents:
* Les proves relatives al correcte funcionament intern de les nostres classes. Aquestes proves no requereixen de cap framework especial i es poden realitzar de manera senzilla amb els Local Unit Test.
* Les proves relatives a la interacció entre dispositiu i persona. Aquestes sí que requereixen de funcions especials per a produir interaccions simulades i comprovar que aquestes dónen el resultat esperat.
L'Espresso ens proporciona eines per a realitzar tests en ambdós sentits: Ens permet fer proves unitàries, proves d'interacció, i a més, automatitzar-les per a la nostra conveniència.
 
+++ Exemples d'altres eines de testeig les podem trobar a TestSuite, que ens permet embolcallar un conjunt de proves unitàries: https://developer.android.com/reference/junit/framework/TestSuite.html
+++ També amb IU Automator, que afegeix interaccions externes a la nostra aplicació, tal com prémer el botó de settings del dispositiu, o llançar la llista d'aplicacions: https://developer.android.com/topic/libraries/testing-support-library/index.html#UIAutomator
+++ Una altre eina externa al framework d'Android Studio és Robotium, que implementa les mateixes funcionalitats que Espresso: https://github.com/robotiumtech/robotium
 
== Posta a punt ==
Linha 30 ⟶ 28:
- Transition animation scale
- Animator duration scale
+++ Que es troben al menú de Opcions de Desenvolupament del nostre dispositiu Android (NOTA: Per tal d'accedir-hi és possible haver de desbloquejar el menú en primera instància si no ho hem fet ja. Un exemple de tutorial: http://www.greenbot.com/article/2457986/how-to-enable-developer-options-on-your-android-phone-or-tablet.html )
[[File:Configuracio.png|thumb|Configuració del entorn de treball]]