Unit Testing with RxJava

When we are testing our RxJava code we can distinguish three main subjects to be tested: Observables Subscribers Notifications ObservablesTesting an Observable is pretty simple: create the observabl
Continue reading

Contact form backed by Parse

This is the first post of my brand new blog!

What a better opportunity to write about something related to the setup of this site. On the contact page there is a contact form, as you should know when a form is submitted its send to a server where its data is processed. But lets be honest, I’m lazy, the DRY-KISS type (it could be worse). So I didn’t want to setup a server, hire a hosting only to handle a stupid contact form then Parse came to the rescue.

Continue reading

Creacion de un WAR de GWT

Esto mas que un post es una especie de post-it. Al principio estaba creando el war de un proyecto GWT el comando war:war incluia el bytecode Java, pero no esta incluyendo el contenido estático del pro
Continue reading

BDD con Symfony 2: Behat y Mink

Luego de estar unos meses poniendo en practica TDD se dio la oportunidad de comenzar un nuevo proyecto y poder hacerlo mediante BDD. Así que decidí ensuciarme un poco las manos y ponerlo a prueba. El enfoque usado seria el mismo, primero definimos que es lo que hay que implementar para luego ponernos a solucionar el problema. La diferencia es la forma en que se define cada uno de ellos, TDD esta centrado para el equipo de desarrollo mientras que BDD esta pensado tanto como los desarrolladores como para la gente no entiende absolutamente nada de programación (al menos una parte). Defiendo los requisitos mediante pruebas unitarias (TDD) y historias de usuario (BDD).

Continue reading

Android y Jenkins: Integración continua

En el articulo Android conoce a Jenkins explicamos como configurar Jenkins para que este consultara periódicamente nuestro repositorio en busca de cambios y compilara la aplicación, eso es una pequeña parte de lo que se puede y debe llegar a hacer si queremos desarrollar una aplicación de calidad. Si queremos tomarnos en serio la integración continua tendremos que crear dos tareas nuevas en Jenkins una para la ejecución de pruebas y otra para el análisis de la calidad del código.

Pruebas automatizadas

Las pruebas son una parte vital para asegurarnos que nuestra aplicación cumple con los requisitos, pero a medida que el proyecto va creciendo va dejando de ser eficaz ejecutar las pruebas manualmente desperdiciando así mucho tiempo que puede ser dedicado para otras cosas.

Para las pruebas usaremos Ant, JUnit y Robotium.

Continue reading

Android conoce a Jenkins

La integración continua es una técnica software en la cual se integran los cambios muy frecuentemente (generalmente horas), tratando de detectar errores lo mas pronto posible, automatizando la compilación y la ejecución de las pruebas.

Para poder desarrollar nuestra aplicación en un entorno de integración continua haremos uso de

  • Ant que se encargara de la automatización
  • Jenkins sera el encargado de la integración continua.
  • En este caso Git y Bitbucket como control de versiones.
Continue reading

Sincronizando Android con la Nube

Viendo la presentación Developing Android REST client applications se habla dos errores muy grandes que todo principiante comete al implementar servicios web con Android: Ejecutar el servicio web en
Continue reading

Scrum II: Scrum Team

Imagen obtenida de openclipart

Luego de haber comentado un poco la teoria en la que se basa Scrum, es posible hablar de quienes son los responsables de llevarlo a cabo. La puesta en practica se lleva a cabo en equipos denominados Scrum Team, cada equipo esta formado por Product Owner, Development Team (o equipo de desarrollo) y Scrum Master. Estos equipos son completamente autónomos, multidisciplinarios y auto-organizados. Con este modelo se pretende tener flexibilidad, creatividad y productividad. Entremos un poco en los detalles de cada perfil.

Continue reading

Alexis Mas

I'm a curious Software Engineer who loves to take part in the full software development process, from design to implementation. I'm a big fan of mobile platforms specially Android, here you will find my own experiences on the development world.

Software Engineer

Montevideo (Uruguay)