1204-image_versioning_intro_1

Repositorios para pruebas automatizadas


En esta nueva entrada vamos a ver porque necesito pensar en como voy a manejar el código generado por las pruebas automatizas y que opciones tengo.

¿Por que muchas veces no se usa?

Todavía hay muchas empresas que no usan control de versiones en sus pruebas automatizadas. Esto se puede atribuir a las  siguientes razones:

  • El equipo de desarrollo usa un VCS (Version Control System) cuyas licencias son muy costosos, por ende comprar licencias para los Testers resulta un gasto extra que no se quiere afrontar.
  • No se tienen en cuenta las herramientas de VCS que son gratis.
  • Se considera que el equipo de testing no puede o no sabe usar un VCS y que es demasiado difícil que aprendan.
  • Las pruebas automatizadas son consideradas una practica extra que se lleva a cabo en tiempos libres de los testers, por ende no se quiere invertir tiempo en configurar un VCS.

¿Porque necesito un repositorio?

Las pruebas automatizadas son un proyecto de desarrollo.

Cuando llevamos adelante las pruebas automatizadas estamos generando un software que sirve para verificar otro software y como todo software, necesitamos tener un control sobre que hace el mismo, una manera de poder compartir ese código ya sea para trabajar sobre el mismo de manera colaborativa, recibir feedback o por la simple razón de no correr el riesgo que todo nuestro trabajo se pierda de un día para otro.

Ademas podemos tener un mayor control sobre el código y que hace el mismo y así evitar que los tests sean inestables hasta el punto que no se utilicen más. Con un Sistema de Control de Versiones podemos alcanzar esos objetivos fácilmente.

Las pruebas automatizadas tienen que ser parte de la Integración Continua

Las pruebas automatizadas alcanzan su mayor retorno de inversión cuando obtenemos de las mismas un feedback rápido sobre el estado de la aplicación bajo pruebas, por ende que las pruebas automatizadas formen parte del flujo de pasos a ejecutar cuando la aplicación va a salir a producción es vital para el éxito del proyecto de pruebas automatizadas. Con un Sistema de Control de Versiones podemos incluir nuestras pruebas para que corran en los distintos ambientes por los que la aplicación debe correr y ser validada en ese flujo de Integración Continua y que las pruebas sean un punto muy importante para entender que estoy sacando a producción.

¿Qué opciones tengo?

Hay distintas formas de generar un versionado de código, cada opción es mejor en determinado contexto.

(fuente: http://www.slideshare.net/kmstechnology/git-version-control-system-18818156)

 

En el modelo cliente-servidor (Centralizado),  se usa un repositorio único compartido. El más utilizado es Tortoise SVN.

Tabla Comparativa de todas las opciones disponibles.

En el enfoque distribuido, se trabaja directamente con un repositorio local que es propio, y los cambios se comparten entre repositorios como un paso separado. El más utilizado es GIT.

Tabla Comparativa de todas las opciones disponibles.

¿Te gustaría alguna aclaración? ¿Te Parece que falta algo? Deja tu comentario!!!


Te gustó el post? Quieres contribuir para que escriba más? Contribute with the Blog

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s