Algo de Testing Automatizado

Objetivos del Testing Automatizado

  • Tests deben mejorar la calidad al más bajo costo
  • Tests deben reducir riesgos mientras aumentamos la velocidad de ejecución
  • Tests deben requerir mantenimiento mínimo al mismo nivel que el sistema involucrado
  • Tests deben ser ejecutados como parte del proceso de construcción
  • Tests deben ayudarnos a entender el sistema bajo pruebas
  • Tests deben ser fácil de ejecutar

Debemos evitar que:

  • El mantenimiento de pruebas automáticas se conviertan en un cuello de botella
  • Que provoquen una disminución de la velocidad de la productividad
  • Que el esfuerzo y tratamiento sea equivalente a un full-development-project
  • Centrar el éxito de los proyectos en la automatización

Tipos básicos de Testing donde se puede automatizar

  • Testing Unitario a nivel del código
  • Testing de aceptación de productos/servicios (pruebas del cliente)
  • Testing de interfaces a nivel de prototipos y luego a nivel de integración o preintegración

Que tener en cuenta para iniciarse en los Procesos Automatizados de Pruebas

¿Cuales son los objetivos de nuestro Testing Automatizado?

Estos deben estar alineados con todos los objetivos de Calidad.

Algunos factores que afectarían a nuestros objetivos:

  • Deseamos automatizar las pruebas regresivas?
  • Deseamos realizar Integración Continua en nuestro Proceso de Desarrollo?
  • Estamos buscando resolver un ítem específico de Aseguramiento de Calidad?

Comencemos a Organizarnos

Elegir una estrategia

Escojamos un Tipo Básico de Testing al que nos queremos aproximar con la automatización. Debería ser una combinación de aproximaciones basadas en:

  • Objetivos
  • Tipo de sistema que queremos probar
  • Cual es nuestro actual nivel de:

    • Testabilidad: Definir la capacidad del sistema a soportar automatización de pruebas
    • Automatización: Si la base es cero ese es el peor escenario
  • Cambios que debemos considerar para una mejor aproximación al nuevo Ciclo de Vida que exigen las pruebas automatizadas:
    • ¿Podemos modificar el Proceso de Desarrollo?
    • ¿Con solo la automatización de pruebas resolvemos algún problema o debemos tener en cuenta otros ítemes?
  • Seleccionemos un nivel de Testing a automatizar e iniciemos: de Aceptación, de Unidad, de Integración, de Regresión, etc.

Seleccionemos las herramientas basándonos en

  • Estrategia seleccionada
  • Orientación del testing (Aceptación del cliente, de componente,  middleware, GUI, bases de datos)
  • Open Source, propietario
  • la tool seleccionada se adapta a nuestra aplicación o debemos adaptar la apliación a la tool?
  • Cuales son nuestros costos?

Puntos para facilitar el mantenimiento

  • Cuales son las expectativas de gestión de pruebas automatizadas y en general?
  • Cuales serán los estándares a seguir o que patrones se implementaran?
  • Impactaremos positivamente en otras áreas?
  • Impactaremos positivamente en otros proyectos asociados?

Podríamos utilizar KeyWord como patrón regular para la reducción de costos de mantenimiento al utilizar la interfaz de usuario como base para automatización.

El enfoque que realizamos afectan las acciones

  • Los desarrolladores podrían ser resopnsables de crear o auditar y ayudar en el mantenimiento de las pruebas automatizada a nivel unitario, componentes y middle-ware, pero QA debe ser parte activa e igualmente responsable utilizando su criterio.
  • QA puede facilitar la integración directa con el proceso de desarrollo responsabilizándose de la creación de pruebas automáticas de otro tipo, como las de GUI para sistemas y aceptación.

Revisemos el Plan de Pruebas Automatizadas

En todos los casos se debería hacer una revisión de la efectividad del proceso y buscar la forma de mojorarlo. Las siguientes cuestiones podrían ayudarnos:

  • ¿Las automatizaciones son difíciles de mantener?
  • ¿Disminuyen la velocidad del Proceso de Desarrollo?
  • ¿Son eficaces en el logro de nuestros objetivos de calidad?

2 thoughts on “Algo de Testing Automatizado

  1. Estimado Javo, estoy en la actividad del testing y necesito saber si conoces algún software que permita realizar pruebas (funcionales) automatizadas de websites: open source y aranceladas. Muchas gracias y muy buena la info que has subido.

  2. Gustavo, me han gustado JMeter para hacer pruebas de stress en aplicaciones WEB y también BAD Boy para hacer pruebas en GUI. Esta última que te menciono, es una herramienta bastante potente que podrías probar (www.badboy.com.au/download) puesto a que se integra bastante bien con JMEter o bien puedes utilizar sus propios resultados ya que hace mediciones mientras ejecuta.
    He probado SWAT también y tiene algo interesante ya que te permite hacer “record and play” y genera un scripting basado en Fitnesse.

    Saludos, Javo.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s