menu_superior

MEJORA CON EL TESTING Y AHORRA CON EL TESTWARE

Ahorra_reutilizaEl titulo de este post, “Mejora con el testing y ahorra con el testware”, se me ha ocurrido por que quería ahondar en el ahorro que provoca la reutilización del testware en el largo plazo. La idea es multiplicar la rentabilidad del testing en el largo plazo reutilizando los activos que genera. Es decir, la gran inversión que suponen las pruebas de software no sólo es rentable de una vez si no que genera unos activos que continuarán siendo utilizaddos y multiplicando la rentabilidad de la inversión inicial.

¿Qué es el TESTWARE?

En primer lugar, una definición por que no es un término de uso muy extendido: TESTWARE. Es el conjunto de activos generados en el proceso de pruebas: el plan de pruebas, los casos de pruebas, los scripts, las baterias, las ejecuciones, los defectos, los gráficos, etc. Estos activos incluyen también las relaciones entre ellos y la información de gestión. Me parece muy interesante calificarlos como activos por que su conservación y mantenimiento seguirá aportando valor tanto al equipo de pruebas como al software sobre el que actúan. De este concepto, casi sin mayor explicación, se puede deducir que todos los componentes generados durante las pruebas se pueden reutilizar en sucesivos ciclos, ahorrando una cantidad considerable de tiempo y de dinero.

¿Cómo se puede reutilizar?

Durante un proceso de pruebas generamos todos los elementos necesarios para llevarlas a cabo de la manera más adecuada posible dentro del contexto en el que estemos. Estos elementos suponen la base fundamental para continuar con las pruebas tanto manuales como automáticas en próximas versiones, además, la reutilización del testware depende de dos conceptos básicos:

  1. Ciclos de pruebas. El concepto de reutilización solo tiene cabida en un contexto de repetición de las pruebas, es decir, en un proceso aislado de pruebas previo a aceptar un aplicativo o una salida a producción no tiene sentido pensar en los activos como algo reutilizable. Afortunadamente los procesos aislados son marginales ya que la misma aplicación es modificada una y otra vez y el testware se puede reutilizar total o parcialmente para probar estos cambios sin costes significativos.
  2. Mantenimiento. El testware es un elemento que actua sobre una aplicación viva y en constante cambio, por lo que tiene que haber unas labores de mantenimiento. Es aconsejable prestar mucha atención al mantenimiento del testware ya que dentro de que es una tarea que consume poco tiempo su descuido puede llevar a la obsolescencia.

Aplicaciones

  1. Funcionalidades específicas. Hay funcionalidades que son más sensibles y que pueden necesitar pruebas incluso aunque los cambios introducidos no las afecten. En estos casos podemos definir un ciclo que se ejecutará siempre que haya pases a producción. Es equiparable a una prueba de regresión parcial sobre esta funcionalidad.
  2. Verificación de resolución de defectos. Para el caso de haber encontrado y corregido defectos podemos formar una pequeña bateria con casos de prueba que verifiquen esos defectos. Esta batería la podemos ejecutar dos veces: la primera para verificar que se ha corregido un defecto detectado y reportado y la segunda para verificar que se mantiene la versión en un despliegue posterior.
  3. Despliegues por Fases. En grandes aplicaciones cuyo despliegue es necesario dividirlo por fases se puede reutilizar, en todo o en parte, las pruebas de despliegues anteriores para dar un diagnóstico de la integración de la nueva fase con las partes ya desplegadas. Esto es particularmente útil cuando, entre un despliegue y otro, ha habido cambios estructurales (modelos de datos, pooles de conexiones, sistemas de archivos, etc.).
  4. Regresión. Si hay un uso que justifique la reutilización de los activos de prueba es la regresión. La regresión es un tipo de prueba a la que se someten las partes no modificadas del software para verificar que las modificaciones se han integrado correctamente.

Espero que ahora que empezamos el año y podemos ver las cosas a largo plazo con más facilidad, la mejora del software a través del testing y el ahorro que consigue la reutilización del tesware se vean dos poderosos incentivos para implantar prácticas de testing y calidad de software en procesos de desarrollo.

, , ,

Comments are closed.