INSTITUCIONAL
COMUNIDAD
BLOG
AYUDA
MI CUENTA
EN PT ES

how to 300
gxtest 200

¿Cómo comenzar con el testing automatizado?

(01/02/2010-16:35)
Los beneficios de automatizar una parte de las pruebas son tangibles y reales, sin embargo antes de comenzar a automatizar es conveniente tener en cuenta algunas pautas que garantizarán el éxito del testing automatizado, utilizando GXtest sobre aplicaciones GeneXus.
1) Comenzar con un proyecto piloto: Al igual que la mayoría de las prácticas de ingeniería de software, es conveniente elegir un proyecto adecuado y utilizarlo como proyecto piloto para comenzar.

El hecho de utilizar un proyecto piloto tiene varias ventajas:
 
  •  poder definir una metodología inicial adecuada a la forma de trabajo de la empresa.
  • adquirir experiencia en el uso de las herramientas de automatización.
  • medir los beneficios.
  • evaluar las dificultades.
  • contar con un proyecto de alcance acotado en el cual focalizar los esfuerzos por mejorar la calidad.

2) Aplicar métrica: Es deseable que este proyecto piloto pueda mostrar en el menor plazo posible el ROI que se tiene al aplicar testing automatizado, por este motivo se deben seleccionar algunas métricas (de acuerdo a la realidad de la empresa y del proyecto) que lo visualicen.

Algunas métricas que se pueden utilizar para este fin son las siguientes:
 
  • horas de testing / # de errores encontrados por el cliente.
  • # de errores encontrados por el cliente / Tamaño del sistema.
  • tiempo de detección de los errores (entre que se introdujo el error y se detectó).

3) Asignar a las personas para realizar el testing automatizado: Una vez que se decidió el portfolio de proyectos, se deberá asignar las personas para comenzar con la experiencia de testing automatizado. La recomendación es que las personas encargadas de automatizar sean los mismos analistas que conocen de los requerimientos y que realizan el testing funcional tradicional.

Es importante que sea el mismo grupo por varios motivos: para que no se genere competencia entre las pruebas manuales y las pruebas automatizadas; ayuda a asegurar la correcta elección de las pruebas que se realizarán de manera automatizada; las herramientas de testing automatizado pueden servir no sólo para automatizar casos de prueba sino que también para generar datos para los casos de prueba.

4) ¿Cómo formar a las personas que van a automatizar?: El proceso que siga cada una de las personas que vaya a automatizar puede variar según su grado de conocimiento en testing automatizado y en herramientas de automatización.

Es aconsejable que de manera paralela puedan comenzar con la capacitación en la herramienta que se vaya a utilizar (con GXtest se puede empezar por ejemplo con Tutorial de GXtest Designer) así como también leyendo material acerca de metodología y experiencias de pruebas automatizadas en general. Una lectura recomendada es la 4º Edición de la revista Testing Experience dedicada al testing automatizado.

5) Selección de los casos de prueba a automatizar: Una vez que se tiene elegido el proyecto y la gente que participará en el mismo, hay que es decidir cuáles casos de prueba se automatizarán.

El error más común en los intentos de automatización es intentar automatizar todo, pero la recomendación es que NO INTENTE AUTOMATIZAR TODOS LOS CASOS DE PRUEBA.

Teniendo una visión del negocio y también de la estructura interna del sistema (para lo cual se necesita involucrar a los desarrolladores) se debe decidir cuáles son los casos de prueba que se automatizarán. Algunos de los factores a tener en cuenta son:
 
  • ¿cuáles casos de prueba se necesitarán correr más veces durante el proyecto? Típicamente aquellos casos de prueba asociados al núcleo de la aplicación se pueden construir al principio del proyecto y luego sirven (adaptándolos cuando sea necesario) para el resto de la vida del sistema.
  • ¿cuáles casos de prueba conllevan mucha dedicación humana y son repetitivos? Hay veces que un caso de prueba requiere de un trabajo tedioso para configurar el ambiente de prueba y luego ejecutar el caso de prueba. Estos casos de prueba es bueno automatizarlos para liberar el recurso humano y que pueda dedicarse a otros casos más desafiantes.
  • ¿qué funcionalidades son críticas para el cliente/usuario? Aquellas funcionalidades que tienen que andar sí o sí en cada entrega generalmente es interesante incluirlas en los casos automatizados.
  • ¿qué costo tiene la automatización del caso de prueba? Hay casos de prueba que son muy difíciles de automatizar, ya sea porque hay que realizar validaciones visuales complejas o por otras razones. Por este motivo si el costo de su automatización es grande hay veces que es mejor dejarlo para ser ejecutado manualmente.

Teniendo en cuenta estas características se puede ponderar cada caso de prueba en base a cada una de ellas para luego hacer un ranking o priorizar los casos de prueba a automatizar.

6) ¡A automatizar!: Luego de seleccionar un proyecto para un piloto, y seleccionar ciertos casos de prueba para automatizar, lo que recomendamos es comenzar por un subconjunto acotado de casos de prueba (no más de diez) y ponerlos a funcionar. Esto es: diseñarlos (en papel, planillas, etc.), automatizarlos (con GXtest Designer y Recorder), preparar ambiente y datos para poder probarlos, preparar la ejecución programada de estos casos (con GXtest Manager, haciendo que ejecuten todas las noches por ejemplo) y definiendo las metodologías para trabajar.

Una vez que preparemos esto, comenzaremos a ver los beneficios y a alimentar la máquina de pruebas automatizadas, haciéndola crecer cada vez más y obteniendo cada vez más beneficios.

*La presente es una síntesis del artículo original publicado en el blog de Abstracta.
Relacionado
GXtest: automatización de pruebas funcionales para aplicaciones hechas con GeneXus
Las presentaciones regionales de GXtest ya comenzaron
GXtest: la novedosa herramienta fue acogida con entusiasmo por la Comunidad
Atlanta
El Grupo Editorial ATLAS eligió a GeneXus para el desarrollo de su nueva plataforma en smart-device
Confluencia FTO presenta en Argentina un exitoso sistema de gestión integral para instituciones administradoras de salud
Tekhne y GeneXus desarrollan un sistema que detecta de forma temprana patologías preestablecidas en pacientes
Uruguay centraliza toda la información sobre comercio exterior e inversiones en Siicex, un portal desarrollado en GXportal y GeneXus
Curso de Seguridad en aplicaciones GeneXus
GeneXus X Evolution 3 Upgrade 2 Preview 3
Lolimsa implementa nuevo software de gestión hospitalaria con GeneXus
GXquery 4.0 Upgrade 3 ¡Liberado!
SatCom usa GeneXus para gestionar 20 procesos de negocio
Soluciones Integrales para Empresas S.A. (SIE S.A.) realiza, de la mano de GeneXus, su primera casa inteligente en la provincia de Santa Fe
LightCRM App para Windows Phone, Android e iOS desarrollada con GeneXus X Evolution 3 ¿La probaste?