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.