Instrucciones de la herramienta: Implementación de pruebas de desarrollador utilizando Rational Test RealTime
En esta guía de la herramienta se describe cómo implementar pruebas utilizando RationalTest RealTime.
Herramienta: Rational Test RealTime
Relaciones
Descripción principal

Visión general

Test RealTime integra tres herramientas de prueba:

  • La prueba de unidad automatiza la prueba de componentes de software C y Ada.
  • La prueba de objetos es una propuesta orientada a objetos para probar el comportamiento de código C++.
  • La prueba del sistema es un entorno eficaz para probar aplicaciones basadas en mensajes.

La elección de la herramienta de prueba que se debe utilizar con la aplicación depende del entorno de desarrollo y la naturaleza de la aplicación. Para cada herramienta de prueba, debe desarrollar un script de prueba dedicado.

Antes de escribir las pruebas reales para la aplicación, Test RealTime necesita que cree el proyecto de prueba y enlace el proyecto a la aplicación que se somete a prueba.

Pasos de la herramienta

Para crear un script de prueba en Test RealTime, debe llevar a cabo las acciones siguientes:

  1. Ejecutar el asistente para la prueba de componentes
  2. Entrar datos de prueba y resultados esperados
  3. Modificar el comportamiento de los fragmentos

1. Ejecutar el asistente para la prueba de componentes

Test RealTime proporciona un asistente para la prueba de componentes que, cuando se ejecuta, analiza código fuente especificado y genera aprovechamiento de prueba totalmente ejecutable. El objetivo de todo ello es que el desarrollador garantice que el código destino se ha probado tal como se esperaba, se defina comportamiento de fragmentos (consulte el segundo paso) y se entren datos de prueba y resultados esperados (consulte el tercer paso).

NOTA: No es obligatorio utilizar el asistente para la prueba de componentes. Todos los archivos y el código necesario para dar soporte a una prueba se pueden generar manualmente. Sin embargo, el asistente puede evitar un esfuerzo considerable. De cualquier modo, la ejecución y el informe de la prueba se han automatizado.

Puede acceder al asistente para la prueba de componentes de dos modos, y en cualquier método se da por supuesto que ha se ha abierto un proyecto de Test RealTime.

  • Seleccione el enlace Actividades, que se encuentra en la parte derecha de la página Inicio de Test RealTime. La selección de este enlace proporciona una lista de las tres principales actividades que puede elegir el desarrollador. Para realizar la prueba de componentes, el desarrollador debe seleccionar el enlace Prueba de componentes.

  • Pulse el botón derecho del ratón sobre cualquier archivo de origen/clase/método/función/procedimiento de la ventana Proyectos, situada en la parte derecha de Test RealTime. Al seleccionar la opción Probar... del menú emergente se abre el asistente para la prueba de componentes.

La diferencia básica entre ambos métodos de inicialización del asistente para la prueba de componentes es que la primera opción requiere que el usuario seleccione los archivos de origen que contienen las funciones/métodos/procedimientos que se van a probar, y en la segunda opción ya se sabe el archivo de origen que se va a utilizar, por lo que se saltan los pasos iniciales del asistente para la prueba de componentes.

En cualquier caso, se solicita al desarrollador que seleccione una Modalidad de prueba, Típica o Experta. La diferencia está en el comportamiento de los fragmentos deseado. Como recordatorio, un fragmento es "un componente que contiene funcionalidad para objetivos de prueba", es decir, un componente designado para actuar de un modo predefinido con el objeto de facilitar la prueba de algún otro componente del sistema. En la modalidad típica, Test RealTime genera, automáticamente, una plantilla de fragmento para cualquier función/método/procedimiento al que se haya hecho referencia explícita en los archivos de origen seleccionados. La modalidad experta le permite seleccionar, además, componentes a los que no se ha hecho referencia explícita en los archivos de origen elegidos. De cualquier modo, más adelante se define la funcionalidad real de los fragmentos. Consulte más abajo el segundo paso de la herramienta.

Después de ejecutar el asistente hasta su conclusión, Test RealTime crea un nodo en el proyecto activo. Dicho nodo contiene una referencia a los archivos de origen seleccionados, así como a los archivos que se necesitan para la creación del aprovechamiento de prueba. Estos archivos adicionales se deben modificar para:

  • definir el comportamiento de los fragmentos
  • especificar la fecha para dirigir las funciones/métodos/procedimientos que se someten a prueba
  • especificar los resultados esperados para cada conjunto de datos de entrada

Para C, C++ y Ada, el software Rational compila el aprovechamiento de prueba, los fragmentos de prueba y los lenguajes de script de prueba para adaptar las complejidades específicas de dichos lenguajes. Para Java, Test RealTime utiliza Java como lenguaje del script de prueba y basa las infraestructuras de fragmentos de prueba y aprovechamiento de prueba en la infraestructura JUnit (http://www.junit.org).

icono de publicación de ayuda Para obtener información detallada, consulte en la publicación Rational Test RealTime User Guide, el capítulo que trata sobre la interfaz gráfica de usuario->asistentes para la actividad->Asistente para la prueba de componentes.

2. Entrar datos de prueba y resultados esperados

Los scripts de prueba que genera el asistente para la prueba de componentes se pueden ejecutar inmediatamente. Sin embargo, hasta que el desarrollador especifica los datos reales con los que dirigir el componente que se somete a prueba, así como los valores de salida esperados, la prueba no resulta ni útil ni informativa.

Cada lenguaje para el que Test RealTime ofrece soporte facilita la creación de pruebas de un modo diferente; se han optimizado todas las propuesta para las características exclusivas de cada lenguaje. Además, C++ es exclusivo, puesto que se pueden generar y ejecutar pruebas estándar, sino también se pueden realizar comprobaciones de contrato opcionales. Las comprobaciones de contrato actúan como aserciones, es decir, se utilizan para verificar elementos como, por ejemplo, condiciones previas y condiciones posteriores e invariables.

icono de publicación de ayuda Para obtener información detallada relacionada con C y Ada, consulte el capítulo de la publicación Rational Test RealTime User Guide que trata sobre:

  • Prueba automatizada->Prueba de componentes para C y Ada->Script de prueba C y Ada->Visión general->Estructura del script de prueba
  • Prueba automatizada->Prueba de componentes para C y Ada->Script de prueba C y Ada->Ada

    icono de publicación de ayuda y consulte los capítulos de la publicación Rational Test RealTime Reference Guide que tratan sobre:

  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba C->Palabras clave del lenguaje de script de prueba C->ELEMENT...END ELEMENT
  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba C->Palabras clave del lenguaje de script de prueba C->ENVIRONMENT...END ENVIRONMENT
  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba Ada->Palabras clave del lenguaje de script de prueba Ada->ELEMENT...END ELEMENT
  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba Ada->Palabras clave del lenguaje de script de prueba Ada->ENVIRONMENT...END ENVIRONMENT

icono de publicación Para obtener información detallada relacionada con C++, consulte los capítulos de la publicación Rational Test RealTime User Guide que tratan sobre:

  • Prueba automatizada->Prueba de componentes para C++->Visión general de la prueba de componentes de C++

    icono de publicación de ayuda y consulte los capítulos de la publicación Rational Test RealTime Reference Guide que tratan sobre:

  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba C++ ->Scripts de controlador de prueba C++

icono de publicación Para obtener información detallada relacionada con Java, consulte los capítulos de la publicación Rational Test RealTime User Guide que tratan sobre:

  • Prueba automatizada->Prueba de componentes para Java->Visión general de la prueba de Java->Acerca de JUnit

    icono de publicación de ayuda y consulte los capítulos de la publicación Rational Test RealTime Reference Guide que tratan sobre:

  • Lenguajes de script de prueba de componentes->Primitivos de prueba Java

3. Modificar el comportamiento de los fragmentos

Los componentes se han diseñado para actuar de un modo determinado. Independiente de su nivel de granularidad, los componentes deben responder a un conjunto de entradas dado con un conjunto de salidas predefinible determinado. "Predefinible" significa que se pueden especificar los resultados, explícita o algorítmicamente, antes de la ejecución de la prueba.

Muy a menudo, los componentes requieren la asistencia de otros componentes del sistema a fin de llevar a cabo su funcionalidad. Los otros componentes pueden ser tan simples como una función adicional o tan vastos como un subsistema completo ubicado en otra parte del sistema. De cualquier modo, es bastante común que un desarrollador descubra que sus esfuerzos en la prueba de componentes se ven entorpecidos por el hecho de que los componentes de los que depende el código aún no existen o, como mínimo, su funcionamiento aún no es fiable. La acción de fragmentar compensa esta dificultad. (De hecho, la fragmentación se puede utilizar para garantizar el funcionamiento correcto eliminando toda dependencia con respecto al código de terceros).

Es responsabilidad del desarrollador simular correctamente los componentes de los que depende el componente que se somete a prueba. La simulación correcta significa que la funcionalidad fragmentada debe ser lo bastante precisa como para garantizar que el componente en sí mismo puede rastrear el éxito o la anomalía del componente que se somete a prueba, en lugar de que los fragmentos produzcan información incorrecta.

Rational Test RealTime facilita la creación de fragmentos a través de los lenguajes de script de prueba soportados. En especial, para obtener información sobre la creación de los fragmentos de prueba:

icono de publicación de ayuda Para obtener información detallada relacionada con C y Ada, consulte el capítulo de la publicación Rational Test RealTime User Guide que trata sobre:

  • Prueba automatizada->Prueba de componentes para C y Ada->Script de prueba C y Ada->Simulaciones->Visión general de la simulación de fragmentos

    icono de publicación de ayuda y consulte los capítulos de la publicación Rational Test RealTime Reference Guide que tratan sobre:

  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba C->Palabras clave del lenguaje de script de prueba C->STUB
  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba Ada->Palabras clave del lenguaje de script de prueba Ada->STUB

icono de publicación Para obtener información detallada relacionada con C++, consulte los capítulos de la publicación Rational Test RealTime User Guide que tratan sobre:

  • Prueba automatizada->Prueba de componentes para C++->Visión general de la prueba de C++->Script de controlador de prueba C++

    icono de publicación de ayuda y consulte los capítulos de la publicación Rational Test RealTime Reference Guide que tratan sobre:

  • Lenguajes de script de prueba de componentes->Lenguaje de script de prueba C++->Palabras clave del lenguaje de script de prueba C++->STUB

icono de publicación Para obtener información detallada relacionada con Java, consulte los capítulos de la publicación Rational Test RealTime User Guide que tratan sobre:

  • Prueba automatizada->Prueba de componentes para Java->Visión general de la prueba de Java->Aprovechamiento de fragmentos de Java

Para obtener más información

Para obtener información detallada sobre cómo ejecutar la campaña de prueba, consulte la Guía de la herramienta titulada Ejecución de pruebas utilizando Rational Test RealTime.