Cómo detectar errores en una app
15/06/2016

Cómo detectar errores en una app

Desarrollo de apps

Hemos hablado hasta ahora sobre las plataformas objetivo a publicar nuestra app, hacer estudios de mercado de target o incluso discutido Ubuntu como sistema operativo para desarrollar y programar (lo podéis ver todo en este enlace). Pero nunca hemos discutido alguna técnica para detectar errores, bugs u otros funcionamientos erróneos de nuestra aplicación. Hoy os hablaré de las UATs, siglas de User Acceptance Testing, una técnica que aprendí en uno de mis trabajos en desarrollo de apps muy útil. De modo que vamos allá.

Desarrollo de apps: los test de usuario

¿Pero de qué trata las UATs? Son unos exámenes exhaustivos que deben pasar las aplicaciones antes de ser lanzada una actualización nueva, o en el caso de que no hayáis publicado aún, antes de subirla a la store correspondiente. Es una técnica que no sólo sirve para desarrollo móvil, si no también para el resto del software, es decir, que no está reducido a Android e iOS, lo podéis usar para web, por ejemplo.

Para ello es necesario un gran conocimiento de la app por la parte de programación, pero a su vez es interesante que quien hace el examen no sepa como han sido realizadas las funcionalidades. Esto os sonará un poco extraño: ¿cómo es posible que algún miembro del equipo no sepa como funciona su propia aplicación? En el mundo de la programación ocurre algo muy particular, y es que, al igual que es una profesión (casi un arte, para que negarlo) que se olvida con una facilidad brutal, nunca debéis permitir que sea el mismo programador quien haga los test en busca de bugs o malos procesos. Inconscientemente conocerá su producto y le hará evitar “liarla”. Es por ello que siempre os debéis buscar gente ajena al desarrollo. Aunque sea el diseñador, tranquilamente, porqué, si bien te ha hecho los colores y los botones, no sabe que lógica hay detrás de todo ello.

¿Cómo se realiza y documentan las UATs?

1.Todas las pantallas son importantes. Repito, todas. Con esto quiero decir que debéis documentar hasta lo que ocurre después de presionar el icono de la app mientras esperamos que se ejecute.

2.Preparad una hoja de cálculo. Os puede servir cualquier software. Yo os recomiendo LibreOffice, ya que es gratuito y no tendréis que complicaros la vida para descargarlo (buscar licencias sin pagar, por ejemplo).

3.Insertad tantas páginas adicionales como sea necesario. Pensad que vais a hacer un seguimiento completo de todo el funcionamiento de la app. Por lo que os recomiendo generar una página nueva por cada pantalla que el usuario final vaya a ver. Por ejemplo: una app que tiene pantalla principal, listado de productos, descripción y opciones. La hoja de cálculo de las UATs tendría cuatro páginas en total, cada una a su sección correspondiente.

4.Anotad en cada celda todo lo que se supone que debe ocurrir. Quiero insistir en el “se supone que”, ya que las UATs no son para monitorizar lo que sucede, si no lo que debería suceder. Por eso son tan útiles y van tan bien para encontrar bugs o malos funcionamientos. En cada celda escribís la funcionalidad que en teoría debería estar implementada, y a su lado qué acción la lanza. La acción que la lanza es, por ejemplo, el “presionar el icono de la aplicación en el escritorio del terminal”. La tercera columna la reserváis para anotar las observaciones en el caso de que las cosas no salgan según lo previsto, algo demasiado habitual en nuestro oficio…

Estas serían las cuatro recomendaciones que os daría a la hora de hacer estas pruebas. Pero la pregunta que nos interesa es en qué momento se hacen. Bien, tengo una mala noticia para vosotros, y es que resulta que las UATs no terminan nunca. Me explico: cada vez que se implemente una característica nueva, cada vez que se quiera lanzar una versión más moderna, hay que realizar test. De hecho hay que realizarlos incluso si no se ha modificado nada de lo que anteriormente funcionaba, ya que a la hora de detectar errores se debe dar por supuesto que cualquier cosa puede fallar, y nunca se debe dar por sentado que un nuevo módulo en nuestra aplicación no rompe el trabajo ya hecho.

Como reflexión personal os voy a traer una confesión: a mi no me gusta hacer UATs. Son muy pesadas, hay que invertir mucho tiempo y, además, se debe hacer un test distinto por cada plataforma, ya que los problemas a veces no vienen por código, si no por sistema operativo...y si tuviera que contar las veces que una funcionalidad se realizaba sin problemas en Android pero no en iOS y viceversa, es posible que escribiera un libro.

¿Conocíais esta clase de test para detectar errores?¿Conocéis alguno distinto y que tengáis experiencia con él? Decídmelo saber en los comentarios.

Curso relacionado: Curso de Desarrollo de Aplicaciones Móviles 

Comparte en:

Grado Superior de Desarrollo de Aplicaciones informáticas en la Salle de Barcelona. Trabaja actualmente como desarrollador de aplicaciones para móviles, especialidad en videojuegos.

El auge de la tecnología beacon en las apps
25/03/2020
Jordi Mula

El auge de la tecnología beacon en las apps

El posicionamiento, la ubicación y la geolocalización son elementos cada vez más integrados en el desarrollo de aplicaciones. La geolocalización en exterior es un ...

¿Qué debe aportar el cliente para desarrollar una app?
27/02/2020
Jordi Mula

¿Qué debe aportar el cliente para desarrollar una app?

En muchas ocasiones el cliente por desconocimiento no sabe qué datos o elementos debe proporcionarnos para poder generar ese plan de asesoramiento inicial, vamos a ve...

Que es una game jam y que se puede esperar de una sesión
13/02/2020
Jordi Mula

Que es una game jam y que se puede esperar de una sesión

El mes pasado fue la Global Game Jam, y con motivo de este evento internacional que se da lugar en diferentes países y en diferentes sedes, vamos a hablar un poco sob...