15.11.2014 Views

1999 n. 1-99 - Archivo Digital del COIT

1999 n. 1-99 - Archivo Digital del COIT

1999 n. 1-99 - Archivo Digital del COIT

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Revista de Telecomunicaciones de Alcatel – 1 Trimestre <strong>1<strong>99</strong>9</strong><br />

resultados de la prueba permitirán una<br />

estimación de la fiabilidad.<br />

■ Gestión de la<br />

Complejidad de los<br />

Mo<strong>del</strong>os <strong>del</strong> Uso<br />

Normalmente, es difícil mo<strong>del</strong>ar un sistema<br />

con Cadenas de Markov porque<br />

tienden rápidamente a ser muy complejas.<br />

La única forma de hacer frente a la<br />

creciente complejidad es a través de una<br />

estrategia de "divide y vencerás". Son posibles<br />

varias aprox i m a c i o n e s :<br />

• Abstracción, que significa concentrarse<br />

en las cosas esenciales y omitir los detalles<br />

que pueden añadirse durante la<br />

ejecución de las pruebas;<br />

• Estratificación, que significa crear mo<strong>del</strong>os<br />

diferentes para aspectos diferentes<br />

<strong>del</strong> sistema;<br />

• Mo<strong>del</strong>os jerárquicos.<br />

La aproximación jerárquica es muy<br />

potente. El uso <strong>del</strong> sistema se describe<br />

primero de una forma sumamente resumida.<br />

En el segundo paso, las transiciones<br />

entre estados se amplían, donde sea<br />

apropiado, a mo<strong>del</strong>os <strong>del</strong> uso. Este es un<br />

proceso recursivo. En cada nivel se añaden<br />

más detalles, lo que conduce a un<br />

árbol de mo<strong>del</strong>os <strong>del</strong> uso.<br />

Por desgracia, no existe un soporte de<br />

herramientas para manejar mo<strong>del</strong>os jerárquicos.<br />

Para trabajar con ellos, pueden<br />

ampliarse los mo<strong>del</strong>os o pueden generarse<br />

casos de prueba para submo<strong>del</strong>os<br />

y después ampliarse a casos de prueba<br />

completos.<br />

Una forma especial de ampliar los casos<br />

de prueba es la combinación de Cadenas<br />

de Markov y expresiones gramaticales.<br />

Esta solución funciona bien para<br />

manejar órdenes <strong>del</strong> operador. Se comienza<br />

con un mo<strong>del</strong>o <strong>del</strong> uso de alto nivel<br />

en el que cada estado describe un estado<br />

<strong>del</strong> objeto manejado. [ Ejemplo: un<br />

n ú m e ro de abonado telefónico puede<br />

ser inexistente, estar asignado a un<br />

abonado analógico, estar asignado a<br />

un abonado a la red RDSI (Red <strong>Digital</strong><br />

de Servicios Integrados) o a una PA B X ,<br />

e t c . ] . Los casos de prueba generados por<br />

un mo<strong>del</strong>o de este tipo son completamente<br />

de alto nivel. Se amplían a casos<br />

de prueba ejecutables por medio de una<br />

expresión gramatical que describe las<br />

posibles órdenes <strong>del</strong> operador.<br />

Las cartas de estados son una notación<br />

adecuada para máquinas de estados<br />

jerárquicos, estados con registros con la<br />

historia y estados concurrentes. Simplificarían<br />

enormemente los mo<strong>del</strong>os.<br />

■ Pruebas Funcionales<br />

El objetivo de las pruebas funcionales<br />

es verificar la corrección de todas las<br />

facilidades implementadas. Se detectarán<br />

muchos defectos y serán necesarias<br />

muchas actualizaciones <strong>del</strong> programa<br />

para corregirlos. Esto hace inútil la aplicación<br />

de la teoría de Markov para predicción<br />

de la fiabilidad. Sin embargo,<br />

las pruebas orientadas al uso son útiles<br />

cuando la cobertura es un tema importante<br />

durante las pruebas funcionales.<br />

La cobertura <strong>del</strong> código no tiene sentido<br />

en esta etapa <strong>del</strong> proceso de pruebas.<br />

Se define cobertura de la prueba como<br />

cobertura <strong>del</strong> mo<strong>del</strong>o. La cobertura <strong>del</strong><br />

mo<strong>del</strong>o (estados y arcos) puede seguirse<br />

fácilmente y el progreso es más significativo<br />

que en una lista de pruebas.<br />

Para alcanzar la cobertura completa <strong>del</strong><br />

mo<strong>del</strong>o, normalmente es necesario un<br />

elevado número de casos de prueba<br />

generados aleatoriamente, la mayoría<br />

de los cuales están duplicados. La ejecución<br />

de todos estos casos de prueba<br />

no es posible. Alternativamente, podría<br />

generarse un conjunto mínimo de casos<br />

de prueba que cubriera el mo<strong>del</strong>o. Esto<br />

último tiene la desventaja de no ser realista.<br />

Como compromiso, se generaron<br />

suficientes casos de prueba para alcanzar<br />

una cobertura completa <strong>del</strong> mo<strong>del</strong>o<br />

y se descartaron todas las duplicaciones.<br />

Esto disminuye espectacularmente<br />

el número de casos de prueba sin deteriorar<br />

la calidad.<br />

■ Pruebas de Certificación<br />

El objetivo de las pruebas de certificación<br />

es valorar la calidad <strong>del</strong> programa,<br />

no depurarlo. No deberían comenzarse a<br />

no ser que el programa sea estable y casi<br />

libre de errores. Las pruebas de certificación<br />

son pruebas de calificación interna<br />

que afectan a la decisión sobre la<br />

entrega <strong>del</strong> programa.<br />

La teoría de Markov permite una predicción<br />

precisa de la fiabilidad. La fiabilidad<br />

calculada se representa en función<br />

<strong>del</strong> número de casos de prueba ejecutados.<br />

Esta representación se utiliza para<br />

o b s e rvar el progreso de la prueba. Si no<br />

se observan fallos (o sólo fallos menores),<br />

la fiabilidad aumentará continuamente;<br />

pero si los fallos son más frecuentes (o<br />

más serios), la reducción de la fiabilidad<br />

con cada fallo observado hará que disminuya<br />

el valor total. Si la fiabilidad converge,<br />

puede pararse la prueba. Si la fiabilidad<br />

estimada es suficientemente<br />

buena, el programa puede entregarse<br />

después de corregir y eliminar los defectos<br />

detectados. Si no, debe pasarse un<br />

nuevo conjunto completo de pruebas después<br />

de rehacer el programa.<br />

■ Resultados<br />

El experimento mostró que las facilidades<br />

típicas de un conmutador RDSI pueden<br />

mo<strong>del</strong>arse con máquinas de estados<br />

finitos “planas”. La realización <strong>del</strong> mo<strong>del</strong>o<br />

<strong>del</strong> uso de una facilidad condujo a<br />

la detección de algunos problemas de diseño<br />

con anterioridad a las pruebas. Las<br />

pruebas funcionales basadas en mo<strong>del</strong>os<br />

fueron un 30% más eficaces que la integración<br />

convencional y las pruebas de facilidades<br />

(en términos de defectos por<br />

caso de prueba). Adicionalmente, los defectos<br />

fueron detectados antes. En aquellas<br />

facilidades que se probaron con<br />

U SS T, se encontraron solamente muy pocos<br />

defectos durante las pruebas de certificación.<br />

Los pocos problemas detectados<br />

después de la entrega fueron resultado<br />

de la integración con otras facilidades<br />

que habían sido probadas de forma<br />

c o n v e n c i o n a l .<br />

En conclusión, podemos afirmar que<br />

U SST proporciona buenos resultados.<br />

No obstante, la solución elegida también<br />

mostró limitaciones prácticas. Mo<strong>del</strong>os<br />

multiusuario, interacciones entre<br />

facilidades y entradas complejas condujeron<br />

muy pronto a mo<strong>del</strong>os “que ex p l o-<br />

taban”. Se encontró una solución para<br />

entradas complejas (combinaciones con<br />

expresiones gramaticales), pero los mo<strong>del</strong>os<br />

multiusuario y las interacciones<br />

14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!