Pruebas en Producción

4/12/15
Posiblemente hoy habrá un punto de inflexión en la temática de mis post, no dejaré de hablar de informática en  general pero añadiré temas y reflexiones sobre uno de los campos de esta, el Testing Software.

Os preguntaréis a que se debe, pues veréis, no desde hace mucho trabajo en el Departamento de Calidad Software de una consultora que me ha hecho descubrir el amplio mundo del QA.
Como bien sabéis el producto software puede contener errores, que devalúan el producto no llegando al resultado esperado.
La calidad software es de obligado cumplimiento durante todo el ciclo de vida del desarrollo de cualquier proyecto hoy en día, todo error descubierto en su justo momento ahorra mucho tiempo y dinero a las empresas a futuro.

Si unimos este concepto de realización de pruebas, con el desarrollo de nuevas funcionalidades en nuestro producto de forma periódica, nos damos cuenta de que el trabajo testeo no termina.
Siguiendo las metodologías más comunes de hoy en día, habría que probar cada funcionalidad por separado y antes de entregar el producto al cliente probar los nuevos desarrollos planificados para ese periodo de versión todos en conjunto y verificar que la entrega es estable.

 


Fuera de la metodología existen conceptos que exponen sus pros y contras sobre el hecho de hacer pruebas testing directamente en producción “TIP-testing in production”.
Se fundamentan en que es raro encontrar un entorno de pruebas que sea una réplica exacta del entorno de producción. Uno de los beneficios es que te permite ver como tu aplicación trabaja en la vida real, con usuarios reales, pruebas de esfuerzo y tensión sin simular, la verdad es que da canguelo. Se debe de tener mucha confianza en los resultados satisfactorios de las pruebas durante el ciclo de desarrollo para trabajar TIP sin taquicardias.

¿Y si falla?
No hay que ser kamikazes, hay que estudiar previamente que módulo de desarrollo se va a probar en producción, obviamente la ejecución o no del TIP depende de que tipo de aplicación está siendo testeada.

Los expertos indican que los fallos por ejemplo de pérdidas de datos públicos, errores en las transacciones, mal UX, …. aquellos riesgos que afectan al negocio “Business risk”, hacen perder fidelidad con el Cliente y por lo tanto pérdida económica.

Por eso hay que pensarse muy mucho el hecho de probar en producción, una vez lanzado el test no hay vuelta atrás.

TIP en entornos ágiles
La ventaja de las entregas en entornos ágiles es el tamaño de esta, casí siempre es menor que siguiendo otras metodologías y está condicionada por el factor temporal que es la duración del “Sprint”, al aumentar la frecuencia de las entregas en periodos muy cortos de tiempo los nuevos desarrollos intregrados en producción pueden testearse con algo más de confianza después de las pruebas unitarias, eso sí, hay que mentalizarse de hacer las cosas rápido y bien (dime algo que no sepa).

Una de las premisas que siguen los expertos para realizar TIP es arrancar los test durante los periodos de tiempo en los que menos usuarios salgan damnificados, durante la noche, periodos vacacionales, horarios no laborales, también es  aceptable hacer TIP justo después del despliegue de una nueva entrega, si la entrega se ha probado de forma correcta antes de salida a producción el riesgo decrece debido a la similitud del producto, con el entorno de prueba.

Se debe de estar muy atento también de los logs surgidos en el monitoring durante el TIP, para detectar los posibles errores que obtengan los usuarios.

No os cuento nada más, ahora os toca a vosotros valorar vuestros pro y contras a la hora de hacer TIP en vuestros proyectos.


No hay comentarios:

Publicar un comentario