Hablemos del Crowd Testing

Cuando una aplicación va a ser lanzada a un entorno de producción, siempre existe cierto riesgo sobre el comportamiento que tendrá en un ambiente real. Ya sea una simple modificación en un portal web, una nueva aplicación móvil o una aplicación de escritorio, es muy difícil controlar todos las casuísticas que se pueden dar durante su uso.

Para ello, durante su desarrollo se realizan pruebas unitarias de bajo nivel, de integración, de regresión, de stress, etc. Pero, en general, estas se hacen en entornos conocidos, lo que implica que estén en cierto modo condicionados por el propio equipo de testing.

Esta situación se puede asumir lanzando versiones beta o RC, pero ¿quién prueba estas versiones preliminares? ¿el cliente? ¿el equipo de pruebas? ¿grupos de desarrollo ajenos? Podemos hacer uso del Crowd Testing.

¿Qué es?

Sistemas operativos en diferentes idiomas y versiones, diversidad en dispositivos móviles,  configuraciones de sistema, instalaciones de hardware, versiones de Java,  Flash,  … ¿Cuantos entornos serías capaz de reproducir? Con crowd testing se pueden cubrir una gran parte de ellos.

Podemos denominar el Crowd testing como un conjunto de pruebas aleatorias, masivas, sin diseño previo y basadas en la propia intuición de los usuarios finales. Con ellas se consigue testear el software bajo numerosos entornos, con usos del mismo inimaginables por los desarrolladores y/o testers, en multitud de dispositivos distintos, etc.

Estas pruebas son desarrolladas y ejecutadas por una gran cantidad de tester, los cuales ofrecerán su conocimiento a la comunidad, bien a través de grupos libres o bien a través de empresas dedicadas a gestionar estos servicios.

Gracias a ello, el equipo de desarrollo recibe un gran feedback del producto; mejoras de usabilidad, carencia de funcionalidad, bug, etc que se podrán insertar en su desarrollo mejorando así notablemente la calidad del software generado..

¿Cómo se trabaja?

Para realizar este tipo de pruebas, es necesario que exista cierta organización entre los grupos. Existirá un nodo central que será el encargado de gestionar tanto las entregas por parte de la empresa proveedora del software como el feedback proporcionado por la parte del crowd testing.

Este nodo central, deberá publicar la aplicación junto a sus requerimientos y objetivos a la comunidad de crowd testing. Se estimará un tiempo bajo el cual, la comunidad podrá reportar sus comentarios (de cualquier tipo, si no se especifica un tipo determinado de test) y finalmente, se ofrecerá el feedback obtenido a la empresa desarrolladora.

En ocasiones, es la misma empresa desarrolladora del software la que pone a disposición de la comunidad versiones beta para su testing.

Es muy fácil introducir este tipo de testing en un desarrollo que utilice metodologías ágiles como Scrum o XP. En cada fin de sprint se generará una release que se lanzará a la comunidad de croud testing, y durante el desarrollo del sprint se llevarán a cabo las mejoras y correcciones de bug según la prioridad asignada.

Disponible en …

Parece que el crowd testing no está tan extendido en Europa como en USA o India, pero cada vez más, están apareciendo empresas dedicadas a gestionar este tipo de pruebas como por ejemplo: mob4hire y thecrowd – softwaretestingclub.

Además, hay empresas que ofrecen algunas recompensas por encontrar bug críticos en sus aplicaciones: Mozilla Bug Bountry ó Facebook bounty

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