Trinidad Choque Tucupa

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Investigación, Ciencia y Tecnología en Informática

Modelo para identificar defectos en Control


de Calidad, basado en Oráculos de pruebas y
Sistemas Expertos
Trinidad Choque Tucupa
Postgrado en Informática
Universidad Mayor de San Andrés
La Paz – Bolivia
[email protected]

Resumen—El objetivo principal del proceso de control de basados en XML. Este trabajo propone un oráculo de prueba
calidad es la identificación de defectos; para mejorar y automatizado dirigido a la prueba de programas de
perfeccionar las tareas del proceso se plantea la aplicación de procesamiento de XML, el oráculo propuesto en este trabajo
oráculos de pruebas basados en sistemas expertos; donde el opera con una especificación del programa bajo prueba
sistema experto opera sobre la lógica de negocios del programa combinando dos niveles de especificación: uno de los requisitos
bajo prueba; pero ¿Cómo relacionar el concepto y estructura de de comportamiento particulares del programa bajo prueba,
un caso de prueba con un sistema experto?; para tal objetivo se proporcionada por el ingeniero de pruebas, y una especificación
plantea el diseño de un modelo de variables; variables que forman invariante del mecanismo de evaluación del oráculo programada
la conexión entre ambos conceptos con el fin de obtener casos de
en jquery, el cual determina si el programa cumple los requisitos
pruebas evaluados sin la participación de un operador externo.
de comportamiento suministrados, la automatización de este
Palabras clave—Buchanan, Ciclo de vida detallado, Control de oráculo está determinado por el uso de un lenguaje de
calidad, Oráculo de prueba, Sistema experto. especificación [3].
Ante estas consideraciones, el presente trabajo está enfocado
I. INTRODUCCIÓN
en la definición, obtención y evaluación de un oráculo de prueba
Cuando el software es un producto que se encuentra destinado a apoyar el desarrollo de las pruebas de software. Así
continuamente en procesos de mantenimiento, se puede también el oráculo de prueba basara su validación en el
identificar que dentro del proceso de control de calidad existen conocimiento almacenado en un sistema experto, con el objetivo
pruebas que deben ser ejecutadas en diferentes líneas de tiempo de evaluar las salidas de las pruebas sin la intervención de un
[1] con el objetivo de encontrar defectos críticos que pueden operador externo.
afectar al inicio de pruebas; también el personal que forma parte
del equipo debe tener conocimiento sobre la funcionalidad En base a lo descrito anteriormente se toma sistemas
actual del sistema y los nuevos cambios aplicados. Ante estas expertos basados en reglas [4] para aplicar el modelo y el
características se identifica que la aplicación de pruebas en la concepto de oráculos de prueba. Se selecciona sistemas expertos
etapa inicial demora en su ejecución debido a que las pruebas por contar con los subsistemas de: control de coherencia y de
son ejecutadas manualmente y ante un defecto encontrado se explicación, con el primer subsistema se pretende validar la
debe identificar el motivo o causa del mismo, aspectos que relación coherente de las reglas de negocio al momento de
generan una retroalimentación tardía de los defectos hallados; ingresar nuevo conocimiento al sistema; y el segundo
entonces ¿Cómo se podría minimizar el trabajo manual de testeo subsistema nos permitirá proporcionar una explicación clara del
sin tener que usar personal para validar las salidas de las resultado emitido luego de validar la salida de la prueba
pruebas?, en este sentido se identificó los siguientes trabajos inicial[5], este resultado será base para la toma de decisiones en
relacionados con esta problemática. el inicio o no de pruebas de control de calidad.

Oráculos de prueba con un planteamiento heurístico de II. MÉTODOS


apoyo a la decisión, en este trabajo se plantea el estudio de La Figura 1 muestra los procesos llevados a cabo para el
modelos heurísticos para el diseño de oráculos que apoyan a la desarrollo del tema de investigación, y luego, se detallan las
decisión de la aceptabilidad de una prueba en el ámbito de las tareas realizadas en cada proceso.
aplicaciones Web, con la implementación de modelos
heurísticos que validaran los diferentes caminos de aceptación
del código con relación a las pruebas del software; se pretende
validar si existen cambios en la funcionalidad del producto [2]. Sistema Experto Casos de prueba Modelo Reglas lógicas Pruebas

También se tiene el trabajo: Aplicación de un oráculo de


prueba automatizado a la evaluación de salidas de programas Fig. 1. Procesos realizados. Fuente: Elaboración propia.

Para referenciar este artículo (IEEE):


[N] T. Choque, «Modelo para identificar defectos en Control de Calidad, basado en Oráculos de pruebas y
Sistemas Expertos», Revista PGI. Investigación, Ciencia y Tecnología en Informática, nº 8, pp. 193-195,
2020.
193
Postgrado en Informática

A. Sistema Experto 4. Considerar como serán obtenidos los valores de cada


Para iniciar con el desarrollo se llevó a cabo la obtención y variable a través del software probado.
consolidación del conocimiento del software a probar, para esto 5. Agrupar las variables de modo que al ser relacionadas
se hizo uso de la metodología Buchanan [6] y Modelo de ciclo entre sí, puedan emitir un resultado en base a la lógica
de vida detallado [7]. Se aplicó ambas metodologías con el de negocios.
objetivo de estructurar las tareas que se ejecutarían, se Con la aplicación de este proceso se identificaron las
desarrollaron las tres primeras fases de la metodología variables que formaran parte de los hechos del sistema experto.
Buchanan.
D. Reglas Lógicas
Identificación: Se identifica el alcance y los actores con los Al tener identificadas las variables y los estados que estos
cuales se trabajarán para la obtención de conocimiento. Se pueden tener al ser procesados por el software. Se hace uso del
identifican las fuentes y repositorios de conocimiento, así como método combinatorio para establecer el número de combinación
las técnicas que serán aplicadas para dicha tarea. que se realizara y ante cada combinación se establece la salida
Conceptualización: Se hace uso de las tareas descritas en el evaluada en base al conocimiento adquirido; esto significa que
modelo de ciclo de vida detallado. Se aplican plantillas en las cada salida representa una verdad o un defecto del caso de
cuales se documentan las tareas y objetivos alcanzados en las prueba; así el sistema experto actúa como un generador,
diferentes iteraciones realizadas. Se hace uso de entrevistas y comparador y evaluador de casos de prueba.
cuestionarios para validar el conocimiento adquirido. E. Pruebas
Formalización: Se diseñan arboles de decisión [8]; con el A la conclusión del diseño de las reglas del sistema experto
objetivo de comprender y plasmar de mejor manera la se realiza el análisis y codificación de pruebas automatizadas en
funcionalidad del software a probar. Con este diseño se valida el software a probar. Los casos de prueba que fueron diseñados
los cambios que sufren los objetos al ser procesados por el en el paso B, son los casos que se encuentran automatizados.
software. Se identifican estados iniciales y finales.
Se establece la relación entre las salidas emitidas por el caso
B. Casos de Prueba de prueba automatizado como entradas al sistema experto.
En base al conocimiento obtenido se diseñan los casos de El diseño de las salidas que emite la prueba automatizada
prueba con el objetivo de validar el razonamiento modelado en hace uso del modelo propuesto. De este modo el sistema
el sistema experto. Los casos de prueba tienen la estructura de experto es retroalimentado con entradas, acciones y salidas,
entradas, acciones y salidas esperadas. las cuales evaluara como oráculo de prueba. Proporcionando
un resultado de defecto o validez para el caso de prueba
C. Modelo ejecutado. El caso de prueba presenta defecto cuando la
Como relacionar la estructura del caso de prueba con el salida no es la misma que establece la lógica del sistema
sistema experto; para que dicho sistema experto actúe bajo las experto. El sistema experto proporciona información del
características de un oráculo de prueba (Generador. - motivo por el cual la salida es defectuosa.
Proporciona los resultados esperados para cada prueba;
Para las pruebas realizadas se generaron aleatoriamente
Comparador. -Compara los resultados obtenidos con los
objetos de prueba los cuales simulan todos los estados validos e
resultados esperados y Evaluador. -Determina si la comparación
inválidos que son prosados por el software. Para realizar las
de los resultados es suficientemente cercana para considerar
pruebas se hizo uso de pruebas de parwaise [9] y tabla de
pasada la prueba [2]). Según lo comprendido hasta este punto se
decisiones; con el objetivo de identificar algún error o la falta de
plantea el siguiente proceso para identificar las variables que nos
respuesta ante cierta combinación de entradas.
permitirán realizar el nexo como se muestra en la figura 2.
III. RESULTADOS
Variables Estados Depuración Agrupación A continuación, se define el tamaño de la muestra haciendo
uso de la ecuación estadística [10]:
Indentificar las Indentificar los No repetir Agruparlas de
variables de estados que variables modo que al ser
entrada tomara cada Afectan en el relacionadas se
variable pueda emitir un
proceso de
lógica resultado en
(1)
Como seran base a la lógica
obtenidos de negocios Donde: N=314984 k=1.65
e=5% p=0.5
q=0.5
Fig. 2. Modelo para la obtención de variables. Fuente Elaboración Propia. Por tanto, se tiene que: n = 272 es el tamaño de la muestra
1. Identificar las variables de entrada que se desea Se ejecutó la prueba automatizada en los escenarios descritos
combinar para las pruebas, cada variable tiene una en la tabla 1 obteniendo sus correspondientes resultados.
cantidad determinada de valores.
TABLA I. RESULTADOS DE PRUEBAS
2. Determinar los valores de cada variable
3. Depurar las variables considerando: Base de conocimiento Exitosos Defecto Sin resultado
a) No repetir variables Sin modelo 50 0 222
b) Las variables en sus diferentes valores deben Con modelo 149 123 0
afectar en el proceso de lógica de negocio

194
Investigación, Ciencia y Tecnología en Informática

IV. DISCUSIÓN salida valida, requiere que para cada caso de prueba
En base a los resultados obtenidos se puede apreciar que todo automatizado se describa la salida esperada y si la salida es
el conjunto de casos de prueba fue evaluado, proporcionando incorrecta esta debe ser evaluada por una persona externa. El
información del resultado para cada caso de prueba; al evaluar sistema experto hace la diferencia debido a que no requiere de
los resultados obtenidos se verifico que los datos son correctos. un operador externo para validar la salida del caso de prueba, el
El uso de un sistema experto basado en reglas es útil cuando el sistema experto valida el caso en función del conocimiento
software a probar se basa en reglas de negocio fija. Falta adquirió y emite un resultado para la toma decisiones en cuanto
determinar si el enfoque de construcción del modelo es válido a la aplicación de los cambios. Así también explica donde se
para un oráculo de prueba basado en otra área de la inteligencia encuentra el defecto hallado.
artificial. Donde las reglas de negocio serán variables y el REFERENCIAS
conocimiento modelado pueda actuar ante incertidumbres.
[1] M. J. E. M. M. J. J. G. Arturo H. Torres, «Oráculos de prueba: Un
V. CONCLUSIONES planteamiento heurístico de apoyo a decisión.,» de Actas de los Talleres
de las Jornadas de Ingeniería del Software y Bases de Datos, Vol. 3, No.
La aplicación de un modelo de variables para el diseño de 1, Sevilla, España, 2009.
oráculos de prueba apoyo el proceso de elaboración de reglas de [2] C. d. l. R. y. J. T. Dae S. Kim-Park, «Aplicación de un oráculo de prueba
lógica del sistema experto, debido a que se enfocó en la relación automatizado a la evaluación de salidas de programas basados en
de las reglas con los procesos que realiza el software a probar y XML,» Revista Española de Innovación, Calidad e Ingeniería del
así relacionarlos con casos de prueba. La implementación de un Software, p. 22, 2011.
sistema experto como un validador de casos de prueba es [3] G. Sandoval, Analista de Pruebas ISTQB Nivel Avanzado, Bolivia:
eficiente cuando los cambios del software son considerables en Businnes Innovations, 2012.
su lógica. [4] G. o. M. A. S. H. Castillo Enrique, Sistemas Expertos y Modelos de
Redes Probabilísticas, España: Universidad de Cantabria, 2011.
El sistema experto basado en reglas es una base adecuada
para la construcción de reglas que tienen características [5] S. V. Soto, Inteligencia Artificial, Córdoba: Universidad de Córdoba.
relacionadas con las entradas de los casos de prueba [6] L. Delgado, A. Cortez y E. Ibáñez, Aplicación de metodología Buchanan
para la construcción de un sistema experto con redes bayesianas para
Se obtiene una respuesta validada sobre los defectos apoyo al diagnóstico de la Tetralogía de Fallot en el Perú, Lima, Perú:
encontrados en un tiempo mínimo. Dichas respuestas apoyan a Industrial Data, Universidad Nacional Mayor de San Marcos, 2015.
la toma de decisiones en cuanto a que si los cambios presentan
[7] J. Giarratano y G. Riley, Sistemas Expertos Principios y Programación,
defectos que pueden impedir el proceso de inicio de control de Universidad de Houston-Clear LAke, 2002.
calidad o si los cambios realizados pueden ser enviados a
[8] S. Norvig y J. Russell, Inteligencia Artificial un Enfoque Moderno,
producción para su uso por parte del cliente. Madrid: Pearson Educación, S.A., 2006.
Ante la existencia de herramientas que realizan el proceso de [9] M. Polo Usaola, B. Pérez Lamancha y P. Reales Mateo, Técnicas
pruebas automatizadas y validaciones, se observa que la combinatorias y de mutación para testing de sistemas de software,
diferencia radica en que un sistema experto evalúa todas las Madrid: RA-MA, 2012.
reglas del comportamiento del software en base al conocimiento [10] R. Moya y G. Saravia, Probabilidad e Inferencia Estadística., Perú: San
adquirido; una herramienta automatizada programada con su Marcos.

Breve CV de la autora
Trinidad Choque Tucupa es Licenciada en Informática por la Universidad Mayor de San Andes 2007.
Ejerce profesionalmente como desarrolladora, QA y en docencia universitaria. Obtuvo reconocimiento como docente en la
Universidad Privada Franz Tamayo 2011.
Autora de manuales de apoyo: programación básica y en análisis y diseño de software. Sus intereses investigativos son la inteligencia
artificial, patrones de control de calidad y arquitecturas de software.
Email: [email protected].

195

También podría gustarte