Inferencia inductiva de la especificación : una propuesta para evaluar pruebas de caja negra

Triñanes, Jorge

Supervisor(es): Vallespir, Diego

Resumen:

Las pruebas de software constituyen una actividad relevante para producir software de calidad. En la ejecución de las pruebas juega un rol importante la selección de los casos de prueba, actividad para la que se han propuesto diversas técnicas. El estudio de la efectividad de cada una de esas técnicas para detectar defectos en los programas también constituye un área de investigación abierta. Se han llevado a cabo diversos experimentos con el objetivo de evaluar esa efectividad, pero hasta el momento estos no han permitido extraer conclusiones claras. Existen dos grandes grupos de técnicas de selección de casos de prueba: las que toman en cuenta el código del programa (llamadas de caja blanca) y las que no lo toman en cuenta y solo consideran la especificación de lo que el programa debe hacer (llamadas de caja negra). Las técnicas de caja negra no hacen uso del código del programa por lo que pueden ser usadas incluso antes de que este exista. Cada técnica de caja blanca tiene asociado un criterio de aceptación de conjuntos de casos de prueba basado en el comportamiento del programa cuando ejecuta cada caso del conjunto. El criterio de aceptación permite evaluar si el conjunto de casos de prueba se puede considerar adecuado o no. Para evaluar la efectividad de las técnicas de caja blanca es posible generar de forma automática casos y evaluar los criterios de aceptación, lo que habilita a la experimentación sin recurrir a sujetos que apliquen la técnica. Por el contrario, los experimentos destinados a evaluar la efectividad de técnicas de selección de caja negra han requerido de la participación de sujetos que utilicen esas técnicas. En los experimentos llevados a cabo hasta el momento en los que participaron sujetos aplicando una técnica dada, en general no se ha llevado a cabo un análisis de cuán bien fue aplicada dicha técnica. Sin este análisis los resultados de los experimentos pueden estar brindando información acerca de cuán efectiva es la técnica aplicada por sujetos con determinadas características y en cierto contexto, pero esta pudiera resultar diferente de la efectividad de la técnica en sí. En este trabajo se define un criterio de aceptación de conjuntos de casos de prueba que no toma en cuenta el programa, sino tan solo la especificación. Un conjunto de casos de prueba cumple el criterio si una máquina de inferencia inductiva es capaz de inferir un programa correcto respecto a la especificación a partir de ese conjunto. Este criterio de aceptación puede ser aplicado a técnicas de caja negra y permite evaluar si el conjunto de casos de prueba generado resulta o no adecuado. Este criterio fue aplicado en la evaluación de conjuntos de casos de prueba generados por sujetos en un experimento destinado a estudiar la efectividad de técnicas de selección de casos de prueba de caja negra. A partir de esa evaluación se mostró la factibilidad de la aplicación del criterio con tecnologías actualmente disponibles, al menos para su uso en un ambiente académico. La aplicación del criterio y el análisis de los conjuntos de casos de prueba mostró una gran dispersión en la cantidad y características de los casos. Varios sujetos aplicaron la técnica de forma inadecuada y algunos sujetos generaron casos más allá de lo requerido por la técnica, lo que muestra la conveniencia de que en experimentos de ese tipo se evalúe la forma en que fue aplicada la técnica si se pretende extraer conclusiones sobre la efectividad de la misma. A partir de los resultados obtenidos se identifican diversas posibilidades de trabajo futuro referidas al perfeccionamiento en la aplicación del criterio, a su aplicación en la enseñanza de técnicas de selección de casos de prueba y al desarrollo teórico.


Detalles Bibliográficos
2017
Pruebas de software
Criterios de aceptación de casos de prueba
Inferencia inductiva
Efectividad de un conjunto de casos de prueba
Español
Universidad de la República
COLIBRI
https://hdl.handle.net/20.500.12008/40425
Acceso abierto
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0)
Resumen:
Sumario:Las pruebas de software constituyen una actividad relevante para producir software de calidad. En la ejecución de las pruebas juega un rol importante la selección de los casos de prueba, actividad para la que se han propuesto diversas técnicas. El estudio de la efectividad de cada una de esas técnicas para detectar defectos en los programas también constituye un área de investigación abierta. Se han llevado a cabo diversos experimentos con el objetivo de evaluar esa efectividad, pero hasta el momento estos no han permitido extraer conclusiones claras. Existen dos grandes grupos de técnicas de selección de casos de prueba: las que toman en cuenta el código del programa (llamadas de caja blanca) y las que no lo toman en cuenta y solo consideran la especificación de lo que el programa debe hacer (llamadas de caja negra). Las técnicas de caja negra no hacen uso del código del programa por lo que pueden ser usadas incluso antes de que este exista. Cada técnica de caja blanca tiene asociado un criterio de aceptación de conjuntos de casos de prueba basado en el comportamiento del programa cuando ejecuta cada caso del conjunto. El criterio de aceptación permite evaluar si el conjunto de casos de prueba se puede considerar adecuado o no. Para evaluar la efectividad de las técnicas de caja blanca es posible generar de forma automática casos y evaluar los criterios de aceptación, lo que habilita a la experimentación sin recurrir a sujetos que apliquen la técnica. Por el contrario, los experimentos destinados a evaluar la efectividad de técnicas de selección de caja negra han requerido de la participación de sujetos que utilicen esas técnicas. En los experimentos llevados a cabo hasta el momento en los que participaron sujetos aplicando una técnica dada, en general no se ha llevado a cabo un análisis de cuán bien fue aplicada dicha técnica. Sin este análisis los resultados de los experimentos pueden estar brindando información acerca de cuán efectiva es la técnica aplicada por sujetos con determinadas características y en cierto contexto, pero esta pudiera resultar diferente de la efectividad de la técnica en sí. En este trabajo se define un criterio de aceptación de conjuntos de casos de prueba que no toma en cuenta el programa, sino tan solo la especificación. Un conjunto de casos de prueba cumple el criterio si una máquina de inferencia inductiva es capaz de inferir un programa correcto respecto a la especificación a partir de ese conjunto. Este criterio de aceptación puede ser aplicado a técnicas de caja negra y permite evaluar si el conjunto de casos de prueba generado resulta o no adecuado. Este criterio fue aplicado en la evaluación de conjuntos de casos de prueba generados por sujetos en un experimento destinado a estudiar la efectividad de técnicas de selección de casos de prueba de caja negra. A partir de esa evaluación se mostró la factibilidad de la aplicación del criterio con tecnologías actualmente disponibles, al menos para su uso en un ambiente académico. La aplicación del criterio y el análisis de los conjuntos de casos de prueba mostró una gran dispersión en la cantidad y características de los casos. Varios sujetos aplicaron la técnica de forma inadecuada y algunos sujetos generaron casos más allá de lo requerido por la técnica, lo que muestra la conveniencia de que en experimentos de ese tipo se evalúe la forma en que fue aplicada la técnica si se pretende extraer conclusiones sobre la efectividad de la misma. A partir de los resultados obtenidos se identifican diversas posibilidades de trabajo futuro referidas al perfeccionamiento en la aplicación del criterio, a su aplicación en la enseñanza de técnicas de selección de casos de prueba y al desarrollo teórico.