fbpx
Wikipedia

Automatización de pruebas

En las pruebas de software, la automatización de pruebas consiste en el uso de software especial (casi siempre separado del software que se prueba) para controlar la ejecución de pruebas y la comparación entre los resultados obtenidos y los resultados esperados.[1]​ La automatización de pruebas permite incluir pruebas repetitivas y necesarias dentro de un proceso formal de pruebas ya existente o bien adicionar pruebas cuya ejecución manual resultaría difícil.

Generalidades

Algunas pruebas de software tales como las pruebas de regresión intensivas de bajo nivel pueden ser laboriosas y consumir mucho tiempo para su ejecución si se realizan manualmente. Adicionalmente, una aproximación manual puede no ser efectiva para encontrar ciertos tipos de defectos, mientras que las pruebas automatizadas ofrecen una alternativa que lo permite. Una vez que una prueba ha sido automatizada, esta puede ejecutarse repetitiva y rápidamente en particular con productos de software que tienen ciclos de mantenimiento largo, ya que incluso cambios relativamente menores en la vida de una aplicación pueden inducir fallos en funcionalidades que anteriormente operaban de manera correcta. Existen dos aproximaciones a las pruebas automatizadas:

  • Pruebas manejadas por el código: Se prueban las interfaces públicas de las clases, módulos o bibliotecas con una variedad amplia de argumentos de entrada y se valida que los resultados obtenidos sean los esperados.
  • Pruebas de Interfaz de Usuario: Un marco de pruebas genera un conjunto de eventos de la interfaz de usuario, tales como teclear, hacer click con el ratón e interactuar de otras formas con el software y se observan los cambios resultantes en la interfaz de usuario, validando que el comportamiento observable del programa sea el correcto.

La elección misma entre automatización y ejecución manual de pruebas, los componentes cuya prueba será automatizada, las herramientas de automatización y otros elementos son críticos en el éxito de las pruebas, y por lo regular deben provenir de una elección conjunta de los equipos de desarrollo, control de calidad y administración. Un ejemplo de mala elección para automatizar, sería escoger componentes cuyas características son inestables o su proceso de desarrollo implica cambios continuos.

Pruebas manejadas por el código

En el desarrollo contemporáneo de software existe una tendencia creciente a usar Frameworks como los denominados XUnit (por ejemplo JUnit y NUnit) que permiten la ejecución de pruebas unitarias para determinar cuándo varias secciones del código se comportan como es esperado en circunstancias específicas. Los casos de prueba describen las pruebas que han de ejecutarse sobre el programa para verificar que este se ejecuta tal y como se espera. La automatización de pruebas es una característica clave del desarrollo ágil de software en donde se le conoce como "desarrollo guiado por pruebas". En ellas, las pruebas unitarias se escriben antes que el código que genera la funcionalidad. Solo cuando el código pasa exitosamente las pruebas se considera completo. Cuando hay cambios, el programador descubre inmediatamente cualquier defecto que rompa los casos de prueba lo cual baja el costo de la reparación. Dos inconvenientes de este estilo de trabajo son:

  1. Algunas veces se "desperdicia" la capacidad del programador escribiendo las pruebas unitarias. El entrecomillado se debe precisamente que asegurar la calidad del producto no es desperdicio alguno.
  2. Normalmente se prueban los requerimientos básicos o el flujo normal del caso de uso en vez de todos los flujos alternativos, dado que extender las pruebas más allá de la prueba base eleva el costo del producto. En algunas ocasiones los flujos alternativos son probados por un equipo de pruebas más o menos independiente del equipo de desarrollo.

Pruebas de Interfaz de Usuario

Muchas herramientas de automatización de pruebas proveen características para grabar y reproducir acciones del usuario para posteriormente ejecutarlas un número indefinido de veces, comparando resultados obtenidos con resultados esperados. La ventaja de esta aproximación a la automatización es que requiere de menos desarrollo de software, sin embargo el confiar en estas características del software lo hace menos confiable en la medida que muchas veces dependen de la etiqueta o posición del elemento de interfaz, y, al cambiar, el caso de prueba debe ser adaptado al cambio o probablemente fallar. Una variante de estas pruebas es la prueba de sistemas basados en la web en las que la herramienta de prueba ejecuta acciones sobre el navegador e interpreta el HTML resultante. Una variación más es la automatización sin scripts, que no usa grabación y reproducción de acciones sino que construye un modelo de la Aplicación Bajo Prueba ABP (AUT en sus siglas en inglés) que permite a la persona que verifica ("tester") crear pruebas simplemente editando parámetros y condiciones.

Referencias

  1. Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. p. 74. ISBN 978-0-470-04212-0. 
  •   Datos: Q1475717

automatización, pruebas, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, septiembre, 2015, pruebas, software, automatización, pruebas, consiste, software, especial, casi, siempre, separado, software, pru. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 24 de septiembre de 2015 En las pruebas de software la automatizacion de pruebas consiste en el uso de software especial casi siempre separado del software que se prueba para controlar la ejecucion de pruebas y la comparacion entre los resultados obtenidos y los resultados esperados 1 La automatizacion de pruebas permite incluir pruebas repetitivas y necesarias dentro de un proceso formal de pruebas ya existente o bien adicionar pruebas cuya ejecucion manual resultaria dificil Indice 1 Generalidades 2 Pruebas manejadas por el codigo 3 Pruebas de Interfaz de Usuario 4 ReferenciasGeneralidades EditarAlgunas pruebas de software tales como las pruebas de regresion intensivas de bajo nivel pueden ser laboriosas y consumir mucho tiempo para su ejecucion si se realizan manualmente Adicionalmente una aproximacion manual puede no ser efectiva para encontrar ciertos tipos de defectos mientras que las pruebas automatizadas ofrecen una alternativa que lo permite Una vez que una prueba ha sido automatizada esta puede ejecutarse repetitiva y rapidamente en particular con productos de software que tienen ciclos de mantenimiento largo ya que incluso cambios relativamente menores en la vida de una aplicacion pueden inducir fallos en funcionalidades que anteriormente operaban de manera correcta Existen dos aproximaciones a las pruebas automatizadas Pruebas manejadas por el codigo Se prueban las interfaces publicas de las clases modulos o bibliotecas con una variedad amplia de argumentos de entrada y se valida que los resultados obtenidos sean los esperados Pruebas de Interfaz de Usuario Un marco de pruebas genera un conjunto de eventos de la interfaz de usuario tales como teclear hacer click con el raton e interactuar de otras formas con el software y se observan los cambios resultantes en la interfaz de usuario validando que el comportamiento observable del programa sea el correcto La eleccion misma entre automatizacion y ejecucion manual de pruebas los componentes cuya prueba sera automatizada las herramientas de automatizacion y otros elementos son criticos en el exito de las pruebas y por lo regular deben provenir de una eleccion conjunta de los equipos de desarrollo control de calidad y administracion Un ejemplo de mala eleccion para automatizar seria escoger componentes cuyas caracteristicas son inestables o su proceso de desarrollo implica cambios continuos Pruebas manejadas por el codigo EditarEn el desarrollo contemporaneo de software existe una tendencia creciente a usar Frameworks como los denominados XUnit por ejemplo JUnit y NUnit que permiten la ejecucion de pruebas unitarias para determinar cuando varias secciones del codigo se comportan como es esperado en circunstancias especificas Los casos de prueba describen las pruebas que han de ejecutarse sobre el programa para verificar que este se ejecuta tal y como se espera La automatizacion de pruebas es una caracteristica clave del desarrollo agil de software en donde se le conoce como desarrollo guiado por pruebas En ellas las pruebas unitarias se escriben antes que el codigo que genera la funcionalidad Solo cuando el codigo pasa exitosamente las pruebas se considera completo Cuando hay cambios el programador descubre inmediatamente cualquier defecto que rompa los casos de prueba lo cual baja el costo de la reparacion Dos inconvenientes de este estilo de trabajo son Algunas veces se desperdicia la capacidad del programador escribiendo las pruebas unitarias El entrecomillado se debe precisamente que asegurar la calidad del producto no es desperdicio alguno Normalmente se prueban los requerimientos basicos o el flujo normal del caso de uso en vez de todos los flujos alternativos dado que extender las pruebas mas alla de la prueba base eleva el costo del producto En algunas ocasiones los flujos alternativos son probados por un equipo de pruebas mas o menos independiente del equipo de desarrollo Pruebas de Interfaz de Usuario EditarMuchas herramientas de automatizacion de pruebas proveen caracteristicas para grabar y reproducir acciones del usuario para posteriormente ejecutarlas un numero indefinido de veces comparando resultados obtenidos con resultados esperados La ventaja de esta aproximacion a la automatizacion es que requiere de menos desarrollo de software sin embargo el confiar en estas caracteristicas del software lo hace menos confiable en la medida que muchas veces dependen de la etiqueta o posicion del elemento de interfaz y al cambiar el caso de prueba debe ser adaptado al cambio o probablemente fallar Una variante de estas pruebas es la prueba de sistemas basados en la web en las que la herramienta de prueba ejecuta acciones sobre el navegador e interpreta el HTML resultante Una variacion mas es la automatizacion sin scripts que no usa grabacion y reproduccion de acciones sino que construye un modelo de la Aplicacion Bajo Prueba ABP AUT en sus siglas en ingles que permite a la persona que verifica tester crear pruebas simplemente editando parametros y condiciones Referencias Editar Kolawa Adam Huizinga Dorota 2007 Automated Defect Prevention Best Practices in Software Management Wiley IEEE Computer Society Press p 74 ISBN 978 0 470 04212 0 Datos Q1475717 Obtenido de https es wikipedia org w index php title Automatizacion de pruebas amp oldid 139182661, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos