Resumen:
|
[ES] El grupo de Software Testing and Quality (STaQ) del centro de investigación PROS de la Universidad Politécnica de Valencia (UPV) ha desarrollado una herramienta, denominada TESTAR (www.testar.org) para el testing ...[+]
[ES] El grupo de Software Testing and Quality (STaQ) del centro de investigación PROS de la Universidad Politécnica de Valencia (UPV) ha desarrollado una herramienta, denominada TESTAR (www.testar.org) para el testing automatizada a nivel de Interfaz de Usuaria (IU). TESTAR es una herramienta "scriptless", no hace falta desarrollar scripts para le especificación de test cases. TESTAR genera y ejecuta casos de prueba automáticamente basado en un modelo de árbol derivado automáticamente desde la IU de la aplicación bajo prueba. Este árbol es construido con ayuda del API de accesibilidad del sistema operativo o el Selenium Webdriver que ayuda a reconocer todos los elementos gráficos de la IU (widgets).
Varias empresas que han deplorado la herramienta y están muy positivos y lo ven como un cambio de paradigma del testing a largo plazo que tiene el potencial de resolver muchos problemas que tienen las herramientas existentes. En la actualidad hay dos proyectos EU en ejecucion que extienden y evalúan la herramienta. DECODER(https://www.decoder-project.eu/) y iv4XR (https://iv4xr-project.eu/). Este trabajo TFM encajara en uno de los dos proyectos, lo que significa que trabajaras en un entorno internacional.
El funcionamiento básico de testeo de la herramienta TESTAR sigue una secuencia de pasos:
1. Arrancar el sistema que estamos testeando.
2. Obtener el estado de la IU (escanear IU y obtener árbol de
widgets). Calcular los widgets visibles en la IU actual junto a sus
propiedades como la posición, el tamaño, el foco, etc. y representarlos
como modelo en forma de un árbol de widgets.
3. Derivar un conjunto de acciones sensibles (p.e. clicks, entrada de
datos, gestos, etc.). A partir del estado actual de la IU se determina
las acciones que pueden ser ejecutadas.
4. Seleccionar y ejecutar una acción.
5. Aplicar un oráculo para comprobar si el estado del SUT es válido.
La última acción ejecutada a través de la IU del estado anterior puede
ser comprobada desde el estado actual de la IU. Si fuese inválido, se
para la generación de la secuencia de acciones actual y se guarda la
secuencia sospechosa en un recurso dedicado para posterior análisis y/o
reproducción.
6. Parar si se alcanza un umbral de secuencias generadas. En caso
contrario, ir al paso 4.
La estrategia por defecto de seleccion en el paso 4 es testeo aleatorio
que implica selección arbitraría de una acción entre las posibles del
paso anterior y su ejecución. Hemos empezado trabajos que investigan
estrategias más inteligentes para hacer seleccion de acciones.
En este proyecto queremos estudiar la adecuación de una estrategia basado en Inteligencia artificial. El alumno puede elegir la tecnica que más le gusta entre por ejemplo: re-inforcement learning, novelty search, optimizacion de hormigas, particle swarm optimization, etc.
[-]
[EN] TESTAR is a black box testing tool that performs automated sequences of tests to other
applications, in order to find bugs in their behavior. The task of this work is to modify
the way in which this tool makes ...[+]
[EN] TESTAR is a black box testing tool that performs automated sequences of tests to other
applications, in order to find bugs in their behavior. The task of this work is to modify
the way in which this tool makes decisions, with the aim of reducing randomness and
achieving a more intelligent execution.
[-]
|