AUTOMATIZACIÓN DE PRUEBAS DE SOFTWARE: ¿CUÁNDO? Y ¿CÓMO?

Las soluciones de software y sistemas computacionales están en constante evolución. Desde sus inicios en la década de los 40, la confección de sistemas de información se ha vuelto una práctica que, además de ser necesaria, se realiza en forma periódica. Esto alude a que, los entornos en los que cada software se desenvuelve, forman parte de un cambio continuo.

Cada vez que se pretende hacer que un sistema de software aumente su alcance y capacidades, se requieren actividades clave tales como:

  • Identificación de requerimientos.
  • Diseño de la solución.
  • Codificación.
  • Certificación y aseguramiento de calidad.
  • Despliegue, monitoreo y continuidad operacional.

Lo anterior, genera que el esfuerzo humano para asegurar que el comportamiento de un sistema responda conforme a su definición y especificación aumente.

Es allí donde nace el concepto de automatización de pruebas de software, que consiste en apoyar las etapas de certificación mediante el uso de herramientas que permitan simplificar el trabajo dispendioso y repetitivo, disminuyendo los tiempos y recursos humanos necesarios en dicha etapa.

¿Cuándo es conveniente automatizar pruebas?

Uno de los requisitos indispensables es que el equipo de certificación entienda y se vuelva experto en los procesos de pruebas realizados en forma manual. Conocer un proceso sistematizado a cabalidad permite detectar elementos, secciones y piezas de software que poseen un comportamiento repetitivo (y que además no suelen sufrir cambios en su codificación).

Por lo demás, las actividades requeridas para lograr automatizar un software requieren de un tiempo considerable, por lo que es prudente invertir dichos recursos en actividades y módulos en los que se les sacará el debido provecho en etapas sucesivas.

Un error común es pretender “automatizar todo tipo de pruebas”. De acuerdo a la ISO/IEC/IEEE 29119 (Estándar internacional para pruebas de software), se establecen diferentes universos respecto a las pruebas de software en relación a su tipificación y alcance, entre otras:

Mike Cohn, uno de los principales exponentes del método SCRUM, diseñó un modelo representativo el cual busca plantear un escenario ideal para automatizar pruebas dependiendo de su tipo y alcance. Esto permite, mediante ciclos continuos, automatizar pruebas sobre productos y piezas de software que no sostienen cambios en el tiempo y dejando únicamente la necesidad de destinar recursos humanos para efectuar pruebas manuales en lo que él define como “Pruebas Exploratorias”.

¿Qué herramientas de automatización existen?

Existe una multitud de herramientas y sistemas que apoyan la automatización de pruebas.

A continuación, te señalamos algunas herramientas más conocidas y disponibles en el mercado:

  • Selenium: Herramienta de código abierto para pruebas en entornos web.
  • Appium: Herramienta basada en Selenium y que está orientada principalmente a pruebas en entornos móviles (iOS y Android).
  • Cucumber: Herramienta con versiones community y de pago, cuyas funciones principales están destinadas a realizar certificaciones automatizadas sobre Bases de Dato.

En Valuesite ofrecemos servicio de desarrollo de software con altos estándares de calidad, en la que junto a un equipo de profesionales con amplia experiencia desarrollando soluciones, aseguramos el correcto funcionamiento de este.

Contáctanos a través de nuestro correo contacto@valuesite.cl



¡Comparte este artículo!