Modelos de Pruebas para Pruebas del Sistemas
Abstract
Uno de los objetivos de la fase de pruebas del sistema es verificar que el comportamiento externo del sistema software satisface los requisitos establecidos por los clientes y futuros usuarios del mismo. A medida que aumenta la complejidad de los sistemas software y aumenta la demanda de calidad, se hacen necesarios procesos y métodos que permitan obtener buenos conjuntos de pruebas del sistema. Este trabajo describe los modelos necesarios para generar de manera sistemática un conjunto de pruebas que permitan verificar la implementación de los requisitos funcionales de un sistema software.
Full text
XV Jo nadas de Ingenie ía del So wa e y Bases de Da os
JISBD 2006
José Riquelme - Pe e Bo ella (Eds)
© CIMNE, Ba celona, 2006
MODELOS DE PRUEBAS PARA PRUEBAS DEL SISTEMA
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y An onia M. Reina
Depa amen o de Lenguajes y Sis emas In o má icos
Uni e sidad de Se illa
Escuela Supe io de Ingenie ía In o má ica
A d. Reina Me cedes sn. 41012. España.
{ja ie j, escalona, iso o, einaq}@lsi.us.es
Palab as cla e: P uebas del sis ema, modelos de p ueba, gene ación de p uebas.
Resumen. Uno de los obje i os de la ase de p uebas del sis ema es e i ica que el
compo amien o ex e no del sis ema so wa e sa is ace los equisi os es ablecidos po los
clien es y u u os usua ios del mismo. A medida que aumen a la complejidad de los
sis emas so wa e y aumen a la demanda de calidad, se hacen necesa ios p ocesos y
mé odos que pe mi an ob ene buenos conjun os de p uebas del sis ema. Es e abajo
desc ibe los modelos necesa ios pa a gene a de mane a sis emá ica un conjun o de
p uebas que pe mi an e i ica la implemen ación de los equisi os uncionales de un
sis ema so wa e.
1. INTRODUCCIÓN
La ase de p uebas del sis ema iene como obje i o e i ica el sis ema so wa e pa a
comp oba si es e cumple sus equisi os. Den o de es a ase pueden desa olla se a ios ipos
dis in os de p uebas en unción de los obje i os de las mismas. Algunos ipos son p uebas
uncionales, p uebas de usabilidad, p uebas de endimien o, p uebas de segu idad, e c. Es e
abajo se cen a en p uebas uncionales de aplicaciones con in e aces g á icas. Es as p uebas
e i ican que el sis ema so wa e o ece a los ac o es humanos la uncionalidad ecogida en su
especi icación.
Una de las écnicas más empleadas pa a la especi icación uncional de sis emas so wa e son
los casos de uso. Las p incipales en ajas de los casos de uso son que ocul an los de alles
in e nos del sis ema, son ápidos de cons ui , áciles de modi ica y en ende po los clien es
y u u os usua ios del sis ema [2] y pueden aplica se a dis in os ipos de sis emas [3] y [5].
Ac ualmen e, exis e un amplio núme o de p opues as que desc iben cómo gene a p uebas del
sis ema a pa i de los casos de uso. Aunque la gene ación de p uebas se adap a a la iloso ía
p opues a po MDA, al y como mos a emos a con inuación, ninguna de es as p opues as
de ine su p oceso en base a las écnicas de MDA. Po es e mo i o, una de las p incipales
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
2
ca encias es la al a de modelos que ecojan la in o mación necesa ia en el p oceso de
gene ación de p uebas. Es e abajo se cen a en la de inición de un conjun o de modelos que
den sopo e al p oceso de gene ación de p uebas del sis ema desde una pe spec i a MDA.
La es uc u a de es e abajo se de ine a con inuación. En la sección 2 se de inen las ideas
gene ales de un p oceso de gene ación de p uebas del sis ema. En la sección 3 se de allan los
dis in os modelos necesa ios pa a la gene ación de p uebas. En la sección 4 se de inen la
he amien a que hemos desa ollado. En la sección 5 se esumen o os abajos elacionados.
Finalmen e, en la sección 6 se exponen las conclusiones y abajos u u os.
2. EL PROCESO DE GENERACIÓN DE PRUEBAS DEL SISTEMA
Toda p ueba cons a adicionalmen e de es elemen os: in e acciones en e el sis ema y la
p ueba, alo es de p ueba y esul ados espe ados. Los dos p ime os elemen os pe mi en
ealiza la p ueba y el e ce elemen o pe mi e e alua si la p ueba se supe ó con éxi o o no.
Un p oceso de p uebas cons a gene almen e de cua o ases: la ase de diseño de p uebas, la
ase de codi icación, la ase de ejecución y la ase de análisis de los esul ados.
El obje i o de un p oceso de gene ación de p uebas del sis ema es desa olla las dos p ime as
ases y ob ene esos es elemen os a pa i del modelo de equisi os del p opio sis ema bajo
p ueba. Dicho p oceso oma como pun o de pa ida los equisi os y, a pa i de ellos gene a
los esul ados y cons uye las p uebas. La igu a 1 ilus a un p oceso gené ico que ecoge las
ideas p incipales de ex aídas después de ealiza un es udio compa a i o sob e 12 p opues as
[6]. Es e p oceso se desc ibe con mayo de alle en [7]. A pa i de es e es udio compa a i o y
de a ios casos p ác icos, se han iden i icado un conjun o de ac i idades pe enecien es al
p oceso de gene ación de p uebas de la igu a 1 que son independien es de la pla a o ma de la
implemen ación. Es deci , dichas ac i idades no se en a ec adas si, po ejemplo, el sis ema a
p ueba es un sis ema web o un sis ema de esc i o io monousua io. De es a mane a, es posible
gene a un conjun o de p uebas independien es de la pla a o ma. Sólo es necesa io conoce
los de alles de la pla a o ma a la ho a de implemen a las p uebas gene adas.
4. MODELOS DE PRUEBA
En es e pun o se desc iben un conjun o de modelos de p ueba independien es y
dependien es de la pla a o ma (PITs y PDTs). Los modelos desc i os se mues an en la
igu a 2.
Los ó alos de la igu a 2 ep esen an los dis in os modelos implicados. Los ó alos
somb eados ep esen an los modelos de equisi os, los ó alos cla os ep esen an los
modelos independien es de p ueba y los ó alos a ayas ep esen an los modelos
dependien es. Las líneas en e modelos implican las dependencias y las u u as
ans o maciones. Todos los modelos siguen el Tes ing P o ile de UML 2.0 [15] siemp e
que ha sido posible. Los modelos de la igu a 2 se desc iben en los siguien es pun os.
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
3
Figu a 1. P oceso de gene ación de p uebas.
A lo la go de es e abajo se mues an ejemplos basados en uno de los casos p ác icos
ealizado du an e el desa ollo de es os modelos. El sis ema a p ueba es una aplicación
web pa a la ges ión de un ca álogo de enlaces en-línea (www.codecha ge.com). En la
siguien e sección se de inen los modelos de p ueba necesa ios.
4.1. Modelos de equisi os
Los únicos modelos de equisi os necesa ios son los casos de uso y los equisi os de
almacenamien o, aunque o os modelos, como po ejemplo modelos de in e aces [3] o
modelos de na egación [5] pueden en iquece el p oceso de p ueba. Ac ualmen e exis en
a ias p opues as de modelos de equisi os. En conc e o, la p opues a que u ilizamos en
es e abajo es Web Requi emen (WebRE) [11], la cuál es á basada en Na iga ional
De elopmen Techniques (NDT) [5].
4.2. Modelo de compo amien o
Un g an núme o de écnicas de equisi os es án basadas en casos de uso de inidos en p osa
[2]. Uno de ellos es el modelo WebRE u ilizado en el pun o an e io . Pe o no es sencillo
manipula p og amá icamen e casos de uso esc i os en p osa. Po es e mo i o, el p ime
paso de nues o p oceso sis emá ico de gene ación de p uebas consis e en exp esa dicha
p osa median e un modelo o mal manipulable de mane a au omá ica.
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
4
Figu a 2. Modelos pa a la gene ación de p uebas.
El obje i o del modelo de compo amien o es exp esa la misma in o mación con enida en
una plan illa de caso de uso de una o ma ácilmen e manipulable. Las p opues as
es udiadas u ilizan como modelos de compo amien o diag amas UML de es ados,
diag amas UML de secuencia o diag amas UML de ac i idades [6]. En nues o abajo
hemos seleccionado diag amas de ac i idades ya que, a di e encia de los diag amas de
secuencia, pe mi en exp esa caminos al e na i os ácilmen e y, a di e encia de los
diag amas de es ados, pe mi en exp esa la in e acción en e el sis ema y los ac o es
ex e nos iden i icando cla amen e a cada uno de los pa icipan es.
En la abla 1 se mues a la de inición en XML de un caso de uso de una aplicación pa a
ges iona un ca álogo de enlaces. En la igu a 3 se mues a el diag ama de ac i idades
co espondien e. Dicho diag ama se ha ob enido au omá icamen e con la he amien a
Objec Gen desc i a en la sección 4 [8]. Dicha he amien a sólo sopo a casos de uso
edac ados en p osa inglesa. El p oceso de gene ación se desc ibe con más de alle en [8].
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
5
<useCase id="01-AddLink">
<desc ip ion> This use case allow o in oduce a new link. </desc ip ion>
<mainSequence>
<s ep id="1"> The use selec s he op ion o in oduce a new link.
</s ep>
<s ep id="2"> The Sys em selec s op ca ego y and shows he o m o
in oduce he in o ma ion o a link (SR-02). </s ep>
<s ep id="3"> The Use in oduces in o ma ion o he new link and p ess
inse bu on. </s ep>
<s ep id="4"> The Sys em s o es he new link and shows he main sc een o
he sys em.
</s ep>
</mainSequence>
<al e na i e>
<als ep id="3.1.i"> I he use p ess cancel bu on hen he use case ends.
</als ep>
<als ep id="3.2.i"> I he use selec s a di e en ca ego y (SR-01) hen
sys em changes he ca ego y and he esul is o show he o m again and execu e
s ep 2.
</als ep>
<als ep id="4.1.p"> I he link name o link u l is emp y, hen he sys em
shows an e o message wi h he esul o execu e s ep 2.
</als ep>
</al e na i e>
</useCase>
Tabla 1. Caso de uso en o ma o XML.
4.3. Modelo de da os de p ueba
Los casos de uso con ienen elemen os a iables cuyos alo es o compo amien o di ie e de
una ejecución de un caso de uso a o a [1]. Algunos ejemplos son la in o mación
suminis ada po un ac o , una opción seleccionada po un ac o , o la in o mación
mos ada po el sis ema como esul ado del caso de uso.
Los obje i os del modelo de da os de p ueba son dos. En p ime luga , el modelo de da os
de p ueba exp esa odas las a iables del caso de uso [1], su es uc u a si son ipos
complejos (como clien es o comp as), las es icciones que puedan exis i en e ellos y las
pa iciones de sus espec i os dominios [12]. Es o se ealiza median e un diag ama de
clases según la no ación p opues a en el Tes ing P o ile de UML [15] ( igu a 4a). Dicho
diag ama de clases puede ex ae se au omá icamen e. Las clases se ob ienen a pa i de los
equisi os uncionales y las dis in as pa iciones se ob ienen a pa i de las condiciones
e aluadas en las al e na i as del diag ama de compo amien o. Es e diag ama de clases
puede e ina se pos e io men e añadiendo pa iciones adicionales si ue a necesa io.
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
6
Figu a 3. Modelo de compo amien o.
En segundo luga el modelo de da os de p ueba exp esa los alo es de p ueba del sis ema
y los esul ados espe ados del mismo. Es o se modela median e un diag ama de obje os,
ins anciando las clases iden i icadas en el modelo de clases an e io ( igu a 4b).
Figu a 4. Ejemplo de modelo de da os de p ueba.
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
7
4.4. Modelo de in e az abs ac a
Los modelos an e io es nos indican lo que una p ueba debe hace (ejecu a un escena io
posible de un caso de uso), qué in o mación hay que suminis a le y qué in o mación nos
a a de ol e . Sin emba go es os modelos aún son demasiado abs ac os y no se pueden
con e i en modelos dependien es de la pla a o ma ni en p uebas ejecu ables de mane a
di ec a. Po es e mo i o, a pa i de los modelos an e io es, se ob ienen los modelos de
in e az abs ac a y de in e acción.
Lo p ime o que es necesa io sabe pa a pode implemen a las p uebas es cómo in e ac ua
con el sis ema, es deci , cuál a a se la in e az que el sis ema p esen a a la p ueba pa a
que es a pueda in e ac ua con él. El obje i o del modelo de in e az abs ac a es de ini
las in e aces que el sis ema o ece á pa a pode ealiza la uncionalidad exp esada en el
modelo de casos de uso y en el modelo de compo amien o. No es necesa io, sin emba go,
en a en de alles de la implemen ación de dichas in e aces.
Figu a 5. Modelo de componen es pa a la cons ucción de in e aces abs ac as.
Pa a log a la independencia de la pla a o ma es a modelo se cons uye a pa i de un
me amodelo de componen es que abs aen las ca ac e ís icas de los componen es
especí icos. Es e me amodelo puede adap a se y amplia se ácilmen e. En la igu a 5a se
mues a un ejemplo de me amodelo pa a in e aces g á icas de usua io y, en la igu a 5b,
un modelo de in e az abs ac a basada en dicho me amodelo.
4.5. Modelo de in e acción
Una ez que se conocen las in e aces con las que las p uebas in e ac ua án, exp esadas
median e el modelo de in e az abs ac a, se e ina el modelo de compo amien o pa a indica
cómo ealiza cada uno de los pasos del caso de uso sob e dicha in e az.
El obje i o del modelo de in e acción es de ini cómo ealiza las p uebas sus acciones y
de ini los á bi os. En el con ex o de las p uebas, un á bi o es elemen o enca gado de
comp oba si la p ueba ue supe ada o no.
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
8
Ins ucción Desc ipción
ClickOn(componen ) Rep esen a una pulsación con el bo ón izquie do sob e el componen e indicado
Se Field( ield, alue) Asigna al campo el alo indicado.
Tabla 1. Ins ucciones pa a exp esa la in e acción del usua io con el sis ema.
Ins ucción Desc ipción
Asse (componen .a ibu e, alue) Ve i ica que el a ibu o del componen e indicado coincide con el
alo .
Asse Table( able, index, GUIObjec ) Ve i ica que la ila indicada po index de la abla con iene odos los
a ibu os del obje o en el mismo o den y con el mismo alo .
Sc een(GUISc een) Ve i ica que la pan alla que mues a el sis ema coincide con la
pan alla indicada
Tabla 2. Ins ucciones pa a la de inición de á bi os.
Pa a log a la independencia an o de la pla a o ma como de cualquie he amien a conc e a
de p ueba, se ha de inido un conjun o de ins ucciones pa a exp esa las acciones en e la
p ueba y el sis ema y las dis in as comp obaciones que los á bi os pueden hace . Dichos
conjun os se mues an en las ablas 2 y 3 y puede se ácilmen e ex endido con nue as
ins ucciones.
Siguiendo el Tes ing P o ile de UML, los modelos de in e acción se exp esan median e
diag amas de secuencia. Los á bi os, según su complejidad y eusabilidad, pueden inclui se
en dicho diag ama de secuencia o de ini se apa e median e nue os diag amas de secuencia o
diag amas de ac i idades.
4.6. Modelo de in e az conc e a y modelo de acciones
Es os modelos pe mi en aduci las p uebas abs ac as a p uebas ejecu ables sob e el sis ema.
Pa ello es necesa io conoce las in e aces de ini i as, inclui los de alles de dichos in e aces
y comple a las p uebas abs ac as.
El obje i o del modelo de in e az conc e a es exp esa los elemen os de la in e az abs ac a
en unción de los componen es conc e os del sis ema a p ueba. A pa i de es e modelo, ya se
pueden exp esa las p uebas a ni el de implemen ación. El obje i o del modelo de acción es
exp esa los elemen os del modelo de in e acción median e un lenguaje de una he amien a de
p ueba conc e a.
Es os modelos dependen de la a qui ec u a y he amien a de p ueba que se u ilice pa a
ejecu a las p uebas gene adas, dado que las p uebas abs ac as deben se aducidas a p uebas
comp ensibles po dicha he amien a.
4. HERRAMIENTAS
Ac ualmen e se es á desa ollando un conjun o de he amien as pa a la gene ación de
p uebas basada en los modelos desc i os en la sección an e io . La p ime a he amien a
Ja ie J. Gu ié ez, Ma ía J. Escalona, Manuel Mejías y Jesús To es
9
desa ollada se llama Objec Gen [8] y pe mi e con e i un elemen o del modelo de casos
de uso en un elemen o del modelo de compo amien o. Un ejemplo de caso de uso y de
diag ama de ac i idades gene ado se ha mos ado en la abla 1 y en la igu a 3. Es a
he amien a es de código abie o y puede desca ga se lib emen e de
www.lsi.us.es/~ja ie j/
5. TRABAJOS RELACIONADOS
Como se ha comen ado con an e io idad, exis en nume osas p opues as pa a la gene ación
de p uebas del sis ema, sin emba go, no hemos encon ado ninguna p opues a pa a la
gene ación de p uebas a pa i de casos de uso que adop e una ap oximación MDA.
Algunas de las más ele an es se ci an a con inuación. Una compa a i a más comple a
puede encon a se en [6].
En [10] se p opone un p oceso consis en e en desa olla un diag ama de casos de uso de
UML y, a pa i de él, cons ui un diag ama de ansición del sis ema que e leja las
secuencias de casos de uso que pueden ejecu a se. Además, cada caso de uso se modela
median e diag amas de secuencia. Sin emba go es a p opues a no abo da el p oblema de
p oba el sis ema desde las in e aces g á icas del mismo.
En [14] Se u ilizan diag amas de ac i idades pa a ep esen a el o den en que deben
ejecu a se los casos de uso y, ambién, se u ilizan diag amas de secuencia pa a ep esen a
los pasos de cada caso de uso. Como sus p opios au o es econocen, es a es una p opues a
incomple a incapaz de gene a p uebas ejecu ables.
En [1] se iden i ican las a iables de un caso de uso, las cuales son elemen os que a ían
en e dos ejecuciones del mismo, se calculan odos sus posibles alo es y se de inen los
esul ados pa a cada posible combinación. Dado que es a p opues a abaja sólo con p osa,
es di ícil de au oma iza y no pe mi e la gene ación de p uebas ejecu ables.
Exis en ambién abajos cen ados en p uebas desde una pe spec i a en MDA. Po
ejemplo, en [9] ambién se abo da la gene ación de es o acles, pe o no la gene ación de
casos de p ueba. O o abajo es [13], el cuál de ine una he amien a llamada MODEST
pa a gene a p uebas ejecu ables a pa i de un modelo de especi icación del dominio, en
luga de los casos de uso u ilizados en es e abajo.
6. CONCLUSIONES
En es e abajo p oponemos un conjun o de PITs y PDTs de p ueba que pe mi en
desa olla un p oceso de gene ación de p uebas desde la iloso ía de MDA. En es e
abajo se han u ilizado p opues as exis en es como WebRE o UML Tes ing P o ile. Esos
modelos son la base pa a p opues as de gene ación de p uebas del sis ema que deseen
au oma iza los p ocesos.
Es e abajo es á siendo ex endido desa ollando un conjun o de ans o maciones pa a
gene a los dis in os modelos de mane a au omá ica. En es e sen ido, como se ha is o, ya
se han es ablecido el p oceso pa a ob ene el modelo de compo amien o a pa i de casos
de uso y se ha desa ollado una he amien a que implemen a dicho p oceso.