Diego Laballós

Desarrollador de aplicaciones Android

¿Cómo hacer un seguimiento de los errores en una aplicación?

¿Cómo hacer un seguimiento de los errores en una aplicación móvil?

Una vez hemos publicado nuestra aplicación, nos queda mucho camino por recorrer hasta conseguir un producto exitoso.

Como cualquier software, una de las tareas que deberemos llevar a cabo es la actualización de los posibles errores que vayan surgiendo.

Además debemos tener en cuenta que, el ecosistema móvil, y por lo tanto sus aplicaciones, están en constante cambio. Hay muchos dispositivos, diferentes sistemas y muchos cambios y actualizaciones en ellos. Todo ello hace aún más importante el hecho del mantenimiento y actualización de los posibles errores.

Así que, una vez publiquemos nuestra aplicación, deberíamos estar al tanto de los errores que suceden, entender por qué y dónde pasan, comunicarlo al desarrollador y solucionarlos llevando un control de los mismos.

Puede parecer una tarea sencilla dicho así, pero si no utilizamos herramientas que nos pueden facilitar mucho la vida, créeme que no será tan fácil.

En este artículo pretendo precisamente esto, enseñar algunas de las herramientas que pueden hacer fácil el seguimiento de errores en una aplicación.

1. Tener el código guardado en buen lugar

Este primer paso no es únicamente útil para el seguimiento de errores. Tiene muchas otras ventajas que, la verdad, daría para un artículo entero.

Todos los archivos que forman el código fuente de una aplicación no son simples archivos que debamos tener guardados en Dropbox o, peor aún, en un disco duro.

No debemos guardar el código fuente de una aplicación en lugares como Dropbox, Google Drive o en un disco duro

Son archivos bastante peculiares. Son ficheros que sufren diferentes cambios a lo largo del tiempo y que en su conjunto tienen diferentes versiones. A sí mismo, estas versiones del código tienen que ser accesibles fácilmente y deben tener una explicación de que representan.

Para entendernos, estamos hablando de que diferentes versiones de tus archivos de código, representan distintas versiones de tu aplicación en el mercado. Por ejemplo, versión 1, versión 1.1, versión 2.0…

A todo y esto, tenemos que sumarle que estos archivos tienen que ser fácilmente accesibles a todas las personas que estén trabajando sobre ellos. El propietario del código tiene que estar en posesión de estos archivos, pero tiene que permitir un acceso de una forma segura al desarrollador o desarrolladores que trabajen sobre él.

¿La buena noticia? Existe un sistema de almacenamiento que permite hacer todo esto y mucho más que fue pensado precisamente para guardar código. Este sistema se llama Git.

Podríamos decir que Git no es más que un protocolo, un estándar o unas reglas a seguir, llámalo como quieras. A partir de aquí, hay distintas plataformas que lo implementan. La más conocida actualmente, y la que tiene más popularidad, es Github.

Git es el sistema y Github es una de las plataformas que implementa Git

NOTA: No quiero extenderme mucho más en ver qué es exactamente Git y Github ya que escribiré un artículo exclusivamente para ver ambos términos.

Por el momento podemos quedarnos con que Github es una especie de Dropbox para código. Una forma de almacenar nuestro código fuente en la nube que nos permite realizar tareas comunes en el software como mantenimiento de versiones, seguimiento de errores o colaboración entre programadores. Si no tenemos nuestro código fuente ahí, estamos tardando en tenerlo.

2. Seguimiento de errores

En este punto voy a asumir que tenemos el código de nuestra aplicación en un repositorio de Github.

NOTA: El término repositorio es lo que llamaríamos en Dropbox una carpeta. Se trata de un conjunto de archivos que forman el código fuente de un sistema.

Si tuviéramos todo bien configurado, nosotros, como dueños de la aplicación, tendríamos que ser los propietarios del repositorio de Github y nuestro desarrollador o desarrolladores, tendrían que tener acceso a él para poder hacer las modificaciones necesarias.

Hasta aquí aún no hemos visto ninguna razón por la cual Github nos puede ayudar en el seguimiento de errores, pero tranquilidad, empezamos ahora : )

Todo repositorio en Github tiene una pestaña llamada Issues(errores), y sí, la utilizaremos para precisamente para registrar los distintos errores que vayan sucediendo en nuestra aplicación.

Github nos permite llevar un seguimiento de los errores mediante Github Issues

Podemos crear un nuevo error clicando en el botón de New Issue. A partir de ahí podremos añadir un título y una descripción. Ahora este error quedará registrado en el repositorio hasta que alguien haga algo con él.

Mediante Github Issues podemos redactar el contenido del error

3. Automatizando el registro de errores

Hasta aquí hemos solucionado una pequeña parte del problema. Ahora tenemos un registro de errores al cual, tanto nosotros como propietarios del código, como el desarrollador que será la persona encargada de solucionarlos, podremos acceder.

Sin embargo hay un gran inconveniente. En este momento el registro de errores es algo manual. Para hacer el seguimiento de un error, tendríamos que experimentarlo nosotros mismos y a continuación ir al repositorio a registrarlo y apuntar los detalles del mismo.

¿No parece muy buena idea, no? Sobre todo tenemos que tener en cuenta que habrá errores que únicamente aparecerán en ciertos casos concretos, con lo cual cabe la posibilidad de que, sí que los experimenten otros usuarios y no nosotros mismos. También no hace falta mencionar que el proceso de ir a crear el error manualmente al repositorio no es un método especialmente productivo.

La productividad es importante a la hora de hacer el seguimiento de los errores

¡Otra herramienta al rescate! En este caso se trata de Rollbar. Rollbar es una plataforma que se encarga precisamente de llevar un seguimiento de errores en cualquier tipo de software. Podemos utilizarlo en webs, programas de escritorio, programas corriendo en un servidor y, por supuesto, aplicaciones móviles.

Rollbar es una plataforma para hacer el seguimiento de errores en un software

NOTA: Rollbar también merecería un artículo entero ya que es una plataforma bastante grande. Así que en un futuro puede que esta nota se actualice con un link hacia el mismo : )

4. Configurando Rollbar y conectando con Github

¿Cómo podemos configurar ambas herramientas para automatizar el registro de errores?

NOTA: Podríamos utilizar únicamente Rollbar para el seguimiento de errores. Sin embargo estaríamos utilizando una plataforma más en nuestro día a día. Github para almacenar el código y Rollbar para llevar el registro de errores. Personalmente soy de los que piensa que cuantas más herramientas utilices menos productivo vas a ser saltando de una a otra. Así que por eso opto por integrar Rollbar dentro de Github.

En primer lugar deberemos crear un proyecto en Rollbar y configurarlo para que esté enlazado a nuestra cuenta de Github. Concretamente tendremos que enlazar nuestro nuevo proyecto a un repositorio. Este repositorio será, obviamente, el que contenga todo el código fuente de nuestra aplicación.

Podemos enlacar nuestro repositorio de Github a un proyecto de Rollbar

A continuación, tendremos una parte un poco más técnica que deberá realizar el desarrollador. Tendrá que implementar dentro del código fuente de la aplicación la librería de Rollbar. Es un trabajo rápido que puede estar listo en menos de 1 día dependiendo el nivel de registro que se quiera seguir.

¿Qué pasará una vez estén completados estos pasos? Cualquier error, que le suceda a cualquier usuario en nuestra aplicación, se creará de forma automática en el apartado de Issues de nuestro repositorio en Github. ¡Registro de errores automatizado!

NOTA: Sé que haría falta mostrar un poco de práctica de como se consigue todo esto paso a paso, sin embargo no quería juntar la teoría y la práctica en un solo artículo porque sino sería inacabable. En resumen, en breves escribiré un artículo de cómo hacer todo este proceso paso a paso : )

4. Obteniendo más información de cada error

Otros de los problemas que teníamos sin Rollbar era la poca información que teníamos de un error.

Para cualquier persona, con o sin conocimientos técnicos, es muy difícil averiguar a simple vista cuál es la causa de que una aplicación falle. Como digo, da igual que tengas conocimientos técnicos. Quizás podrías saber por donde van los tiros, pero sería casi imposible saber la causa al 100%.

Debido a esto, el desarrollador tendría una información parecida a : “la aplicación se cierra cuando voy a mi perfil”. Pues bien, este ejemplo que he puesto puede tener mil y una causas.

¿Consecuencia? El desarrollador tardará mucho más tiempo en resolver el error. ¿Solución? Ampliar la información y los detalles de cada error.

Como decía al principio de este punto, esto pasaba antes de integrar Rollbar. ¿Por qué? Porque ahora que Rollbar ya está configurado dentro de nuestra aplicación, se va a encargar de crear los errores con todo tipo de detalles útiles para el programador.

Un error creado por Rollbar da muchísima más información útil al programador

5. Solventando errores y comunicación con el desarrollador

Bien, ahora que ya hemos visto las distintas herramientas, la configuración de las mismas y qué beneficios obtendremos, vamos a ver cómo sería el día a día para el seguimiento de errores de nuestra aplicación.

En primer lugar, no tendríamos que tener ninguna persona encargada de registrar los errores. Automáticamente Rollbar los iría creando a medida que fueran sucediendo.

El desarrollador cada X tiempo, tendría que ir consultando si hay nuevos errores y solventarlos. Una vez un error haya sido solucionado y el código haya sido actualizado en el repositorio, el error quedaría cerrado.

Podemos hacer un mejor seguimiento de los errores cerrándolos cada vez que se solucionan

¿Cómo tenemos el control de qué errores han sido solucionados y cuándo? Fácil. Una vez el error se soluciona se marca como cerrado en el apartado de “Issues” de Github. Además el desarrollador deberá incluir en la actualización del código, una referencia al código de ese error.

A partir de aquí simplemente tendríamos que ir viendo cuándo actualizamos nuestra aplicación en las tiendas. Obviamente no vamos a actualizar cada vez que salga un pequeño error (siempre y cuando no sea grave), ya que igual cada semana estaríamos obligando al usuario a actualizar.

Así que, básicamente tendremos que decidir cuándo es buena idea actualizar nuestra app en las tiendas de aplicaciones. Por ejemplo, cuando tengamos ya una serie de errores solucionados que no han sido actualizados o cuando tengamos un error que consideremos importante, podemos subir una nueva versión de nuestra app a las tiendas.

Conclusión

Crear y mantener una aplicación que funcione bien, pasa por mantener un buen seguimiento de los errores que vayan sucediendo en ella.

Las aplicaciones móviles son muy propensas a los fallos. Hay muchos dispositivos, muchos sistemas y muchas diferencias entre ellos. Si nos fijamos en las actualizaciones de las apps más grandes, siempre veremos que están constantemente actualizando fallos (o incluso podemos ver como los sufrimos nosotros mismos en ocasiones).

Mediante herramientas como Github y Rollbar podemos conseguir un sistema de seguimiento de errores bastante sencillo, simple y productivo tanto para el propietario de la app como para el desarrollador.

Esto no es más que la forma que yo utilizo para llevar el seguimiento de errores en los proyectos en los que colaboro. Quizás existen soluciones mejores, pero a mí es la que mejor me funciona. Espero que este artículo te pueda servir de ayuda aunque solo sea una parte de él : ) Como siempre, puede ponerte en contacto conmigo a través de mi formulario de contacto y estaré encantado de ayudar en lo que me sea posible.

Compartir