Un requisito común en los sistemas de pruebas automatizadas es generar un informe completo que contenga toda la información del resultado para responder las preguntas "¿qué es lo que prueba la secuencia?" y "¿qué resultados se lograron con cada unidad bajo prueba (UUT)?".
Este documento ofrece información sobre los informes de TestStand, explica cómo configurar diferentes formatos, añadir datos y personalizar los informes.
Antes de explorar las opciones disponibles para la personalización de informes de TestStand, es importante comprender primero cómo funciona el proceso de generación de informes de TestStand.
TestStand utiliza un enfoque de dos pasos para generar informes de prueba:
Se muestra un diagrama de este proceso en la siguiente figura:
TestStand recopila los resultados de la prueba en la variable ResultList, la cual utiliza el generador de informes para crear un informe legible de la prueba
A medida que TestStand ejecuta secuencias, recopila los resultados de los pasos e información adicional para incluirlos en el informe. La recopilación de resultados se lleva a cabo directamente mediante el motor TestStand y se produce independientemente del procesamiento de los resultados, como la generación de informes o el registro de la base de datos.
Las secuencias usan Locals.ResultList, que se crea automáticamente en todas las secuencias nuevas, para almacenar los datos del resultado. TestStand llena la ResultList durante la ejecución de la secuencia y la almacena en la memoria (RAM).
En principio, la variable local ResultList es una matriz de contenedores vacíos. Después de que se ejecute cada uno de los pasos, TestStand añade un nuevo elemento contenedor al final de la matriz para almacenar los resultados del paso ejecutado, y rellena los datos a través de dos fuentes:
Algunos datos de ResultList se obtienen de las propiedades de los pasos. De forma predeterminada, solo las propiedades del contenedor Resultado de las propiedades de pasos se incluyen en la recopilación de resultados. Por ejemplo, dos elementos importantes en el contenedor de resultados del paso son:
Las propiedades de los pasos pueden variar según el tipo de paso; además, muchas propiedades de pasos están presentes solo para determinados tipos de paso. Por ejemplo, la propiedad Step.Result.Numeric es específica del tipo de paso Prueba de límite numérico.
Además de copiar las propiedades de pasos en ResultList, TestStand también agrega un conjunto de Propiedades de resultados estándar a cada paso. El motor TestStand añade estos resultados como subpropiedades de la propiedad Step.Result.TS. Estas propiedades incluyen información de identificación sobre el paso, como el nombre del paso, el tipo y la información de temporización.
El siguiente diagrama muestra cómo se rellena ResultList con propiedades de resultados de pasos y propiedades de resultados estándares.
Los datos de los resultados se generan a partir de propiedades personalizadas de los resultados que dependen del tipo de paso y las propiedades de resultados estándares que son las mismas para todos los pasos.
Puede usar el método Execution.AddExtraResult para añadir determinadas propiedades de pasos a ResultList. Este método le permite especificar una cadena de búsqueda de propiedades (por ejemplo, “Step.myStepData”) e incluye esta propiedad en la lista de resultados para todos los pasos en la ejecución que tienen la propiedad. El método también le permite especificar el nombre que se usará para la propiedad en ResultList.
Por ejemplo, el modelo de proceso llama al método Execution.AddExtraResult para incluir los valores Step.Limits y Step.Comp en ResultList. Dado que estas propiedades no están en el contenedor Step.Result, no se recopilan de forma predeterminada. Con a esta llamada, estas propiedades se agregarán a ResultList para todos los pasos de la ejecución que contienen estas propiedades.
Use AddExtraResult para agregar propiedades de pasos adicionales a la lista de resultados
Para obtener más información sobre otras propiedades del informe, consulte el tema Propiedades de resultados personalizadas en la ayuda de TestStand.
La recopilación de resultados de TestStand tiene lugar independientemente de si genera un informe o inicia sesión en una base de datos. En algunos casos, es posible que desee deshabilitar la recopilación de resultados en determinados pasos o secuencias si no es necesario registrar los resultados. Las siguientes configuraciones están disponibles para controlar qué resultados se registran:
Si le preocupa el rendimiento del sistema de pruebas o el uso de la memoria del sistema, plantéese la posibilidad de deshabilitar la grabación de resultados para los pasos que se ejecutan con frecuencia para evitar el almacenamiento innecesario de resultados.
A diferencia del proceso Recopilación de resultados que forma parte del motor TestStand, los modelos de proceso de TestStand implementan el generador de informes a través del complemento de generación de informes. Para obtener información detallada sobre la implementación del generador de informes, consulte el artículo Report Generation Explained.
El generador de informes utiliza los datos de resultados en la variable ResultList generada por el proceso de recopilación de resultados (consulte la sección Recopilación de resultados de este documento para obtener más información) para generar el informe. Esta sección proporciona una descripción general del generador de informes predeterminado en TestStand.
El generador de informes utiliza los indicadores de propiedad de las propiedades de resultados recopilados en la ResultList para determinar si deben incluirse en el informe. Los indicadores de propiedad le permiten configurar el comportamiento de PropertyObjects, incluida la forma en la que se incluyen en el informe de prueba.
Los indicadores de un PropertyObject se pueden ver y configurar de dos maneras:
Usar del cuadro de diálogo Edit Flags para configurar las PropertyObject Flags
Cada indicador tiene un valor único, y el estado actual del indicador de una propiedad es la suma de todos los valores del indicador. Por ejemplo, una propiedad con los indicadores PropFlags_IsLimit–(Value: 0x1000) y PropFlags_IncludeInReport–(Value: 0x2000) habilitados tiene un valor de indicador de 0x3000. Consulte el tema de ayuda Constantes de PropertyFlags para obtener información adicional sobre cada indicador.
El generador de informes utiliza los siguientes indicadores para determinar si los resultados recopilados deben añadirse al informe. Consulte Indicadores de propiedad que afectan a los informes para obtener más información.
TestStand ofrece informes de muchos formatos, cada uno con ventajas y desventajas. El generador de informes llama a archivos de secuencia de formato específico para generar el texto del informe (por ejemplo, ReportGen_ATML.seq). En la tabla siguiente se muestra más información sobre cada formato de informe.
Formato de informe | Legibilidad | Tamaño del archivo | Rendimiento | Análisis1 | Personalización |
---|---|---|---|---|---|
ASCII (.txt) formato de informe de texto básico | Básico | Muy pequeño | El más rápido | Moderado: requiere un analizador personalizado, pero información de formato limitada | Difícil: requiere anular o modificar las devoluciones de llamada del modelo de proceso o DLL/td> |
HTML (.html) formato de informe de texto enriquecido | Texto enriquecido | Grande | Moderado | Difícil: los datos y el formato del informe están estrechamente acoplados; requiere un analizador personalizado | Difícil: requiere anular o modificar las secuencias del modelo de proceso o DLL |
XML (.xml) Formato de archivo de solo datos con hoja de estilo XSL para generar texto enriquecido | Texto enriquecido | El más grande | El más lento | Fácil: utiliza un esquema XML estándar, que se analiza fácilmente mediante una API para XML | Moderado: usa hojas de estilo para personalizar el formato sin cambios en el modelo del proceso |
ATML (.xml): lenguaje de marcado de pruebas automatizadas | Texto enriquecido | Moderado | Rápido | Fácil: utiliza un esquema XML estándar, que se analiza fácilmente mediante una API para XML | Moderado: use hojas de estilo para personalizar el formato sin cambios en el modelo de proceso |
1 Puede usar archivos de informe para el análisis de informes automatizados, especialmente archivos de informe XML y ATML, pero el uso de bases de datos para análisis automatizados suele ser más eficaz. Consulte el tema de ayuda Database Logging para obtener más información sobre las características de TestStand para iniciar sesión en una base de datos.
A partir de TestStand 2019, usted también tiene la opción de generar un informe en PDF para cada formato, excepto ASCII (.txt).
Para obtener información más detallada sobre cómo elegir la mejor estrategia de generación de informes para su aplicación, consulte Elegir la estrategia adecuada para generación de informes de NI TestStand.
Cuando habilita la opción On-The-Fly Reporting en la pestaña Contents del cuadro de diálogo Report Options, los modelos de proceso generan progresivamente el informe simultáneamente con la ejecución en lugar de esperar hasta que finalicen las pruebas UUT. Cuando utiliza informes sobre la marcha, puede hacer clic en el panel Report de la ventana Execution para ver el informe durante la ejecución. Debido a que el informe se actualiza a medida que se ejecuta la prueba, la vista del informe se actualiza periódicamente con nuevos resultados a medida que se ejecuta la secuencia de prueba.
Por lo general, los informes sobre la marcha son una opción mejor para pruebas más largas donde el rendimiento de las mismas no es una cuestión tan importante como el uso de memoria y la prevención de pérdida de datos.
Ventajas | Desventajas |
---|---|
|
|
1 Evitar el aumento de la memoria requiere una configuración adicional. Consulte Abordar problemas de memoria con la generación de informes en TestStand para obtener más información sobre cómo evitar el aumento de la memoria en la generación de informes.
2 Este problema se mitiga en TestStand 2012 y versiones posteriores, que proporcionan ajustes para configurar la frecuencia con la que el generador de informes sobre la marcha vuelve a generar el informe. Consulte el tema de ayuda del Advanced Result Processing Settings Dialog Box para obtener más información sobre esta configuración. De forma predeterminada, TestStand 2012 y versiones posteriores generan y continúan con el informe sobre la marcha después de recopilar 500 resultados de pasos o después de cada 1.5 segundos de tiempo de ejecución, lo que ocurra primero. En TestStand 2010 SP1 y anteriores, el informe se volvía a generar después de cada paso.
En TestStand 2012 y versiones posteriores, el generador de informes (y otros complementos de procesamiento de resultados) se puede ejecutar de forma asíncrona para mejorar el rendimiento de las pruebas. Para configurar esta opción, seleccione Configure » Result Processing y seleccione la casilla Show More Options. La columna New Thread indica la configuración actual de cada complemento.
Al usar esta función, la ejecución puede comenzar inmediatamente a probar la siguiente UUT mientras se genera el informe para la UUT actual, como se muestra en la siguiente imagen.
Nota: Los informes asíncronos no están disponibles al generar informes sobre la marcha.
El procesamiento asíncrono de resultados permite un rendimiento de las pruebas más rápido, ya que la prueba de la siguiente unidad puede comenzar de inmediato.
El proceso de generación de informes de TestStand es altamente personalizable, lo que le permite adaptar el informe generado a los requisitos de su aplicación TestStand. Utilice los siguientes enfoques al personalizar el informe:
Los informes de TestStand se pueden personalizar sin cambios de código mediante las opciones de generación de informes a las que se accede a través del cuadro de diálogo Report Options. Para acceder al cuadro de diálogo en TestStand 2012 y versiones posteriores, vaya a Configure » Result Processing para iniciar el cuadro de diálogo Report Options; después, seleccione el icono Settings para el complemento Report Generation. En TestStand 2010 SP1 y versiones anteriores, seleccione Configure » Report Options.
Puede usar el cuadro de diálogo de opciones de informe para configurar el informe haciendo lo siguiente:
Las siguientes secciones proporcionan detalles sobre cada uno de estos tipos de configuración.
Cuadro de diálogo Report Options: pestaña de contenido
El cuadro de diálogo Report Options le permite seleccionar el formato del informe. Para obtener más información sobre los formatos de informe disponibles, consulte la sección Formato de informe de la sección de generación de informes de este documento. Algunas opciones de informe solo están disponibles en informes de determinados formatos.
Los informes ASCII y HTML se pueden generar de una de dos maneras:
A diferencia de los informes HTML, los informes XML y ATML no contienen ninguna información de formato. Para presentar los datos sin formato del formato XML en un informe legible, se utiliza una hoja de estilo XSL. Esta hoja de estilo define el estilo del informe y extrae datos del archivo XML. Al usar una hoja de estilo, puede cambiar la apariencia del informe sin hacer ninguna modificación en el archivo de datos XML. Por ejemplo, las imágenes siguientes muestran un ejemplo del mismo informe XML utilizando dos hojas de estilo diferentes proporcionadas con TestStand.
TestStand proporciona una variedad de hojas de estilo que puede usar para visualizar datos de informes XML y ATML de diferentes maneras, que puede especificar en el cuadro de diálogo Report Options. También puede crear hojas de estilo personalizadas para usar con sus informes de TestStand. Para obtener más información y ejemplos de personalización de hojas de estilo, consulte la sección Informes XML de la ayuda de TestStand.
Sección del Informe ATML utilizando la hoja de estilo horizontal
Sección del Informe ATML utilizando la hoja de estilo de informe
Puede elegir filtrar tipos específicos de información de resultados de pasos dentro del cuadro de diálogo Report Options, como:
Además, puede usar la expresión de filtrado de resultados para crear filtros personalizados. TestStand evalúa esta expresión para cada resultado de pasos e incluye el paso en el informe cuando la expresión se evalúa como Verdadera. Use el control de anillo Result Filtering para elegir expresiones comunes, como excluir los pasos de control de flujo (que se muestran en la figura siguiente).
Nota: La expresión de filtrado de resultados no está disponible cuando se utiliza el formato XML o cuando se utiliza el formato ATML con TestStand 2010 SP1 o versiones anteriores. En estos casos, usted puede filtrar los resultados modificando la hoja de estilo del informe.
El cuadro de diálogo de opciones de informe proporciona configuraciones para personalizar la apariencia del informe, por ejemplo:
Nota: Los informes de TestStand usan un control ActiveX para generar gráficos a partir de datos de matriz. Si este control no está disponible al ver el informe, los datos se seguirán viendo como una tabla.
En la pestaña Report File Pathname del cuadro de diálogo Report Options, usted puede configurar el nombre del archivo del informe y la ruta donde está almacenado. Use las opciones de archivo o directorio para seleccionar la ubicación para almacenar el informe; después utilice el campo Informe de la UUT para obtener una vista previa del nombre del archivo del informe de acuerdo a las opciones que usted haya seleccionado.
Puede controlar aún más el nombre y la ruta del archivo del informe seleccionando la opción Specify Report File Path by Expression en el control File/Directory Options. Con esta configuración, puede crear una expresión que TestStand evalúa para determinar dónde se almacena el informe. Esta expresión puede incluir macros predefinidas, accesibles en el control menú de la ruta del archivo del informe.
Nota: Al configurar la expresión del informe, utilice el campo Evaluated Report File Path y la imagen previa para ver el comportamiento de la expresión actual.
Puede crear ubicaciones de archivo separadas para informes aprobados e informes no aprobados utilizando la macro UUTStatus en la expresión de ruta del archivo del informe. Por ejemplo, puede usar esta macro en la ruta de su archivo para crear diferentes ubicaciones para informes aprobados e informes no aprobados. Cuando esta macro está presente, TestStand vuelve a evaluar la expresión de ruta del archivo del informe después de que se completa la ejecución de la prueba, ya que el estado de UUT es desconocido antes de este punto.
Configurar un nombre de ruta del archivo del informe diferente en función del resultado de la UUT
Para las pruebas que utilizan el modelo de proceso por lotes, puede configurar aún más el comportamiento de la ruta del archivo del informe para lotes y UUT individuales dentro del lote. Para acceder a esta configuración, seleccione lote en el campo Type of Model. Por ejemplo, el New UUT Report para cada configuración de lote le permite crear un archivo del informe separado para cada lote. Para obtener más información sobre todas las configuraciones disponibles, consulte el tema de ayuda Report Options Dialog Box.
En muchos casos, una aplicación de prueba requerirá que registre datos adicionales en el informe más allá de los resultados que TestStand registra de forma predeterminada. Para abordar esta necesidad, TestStand proporciona varias funciones integradas para registrar fácilmente datos personalizados en el informe:
Las siguientes secciones contienen más detalles sobre estas funciones.
Puede registrar fácilmente datos de parámetros para sus pasos de prueba si selecciona la casilla Log dentro de la pestaña Module al configurar los parámetros del módulo de código, como se muestra a continuación. Al habilitar esta casilla, se configura el parámetro seleccionado para que se muestre en informes o registros de la base de datos automáticamente sin más configuración.
Módulo de código: casilla de Enable Log
Puede incluir datos personalizados adicionales para los resultados de cualquier paso a través del panel Additional Results, ubicado en la pestaña de propiedades del panel configuración de pasos, como se muestra a continuación.
Configurar resultados adicionales
TestStand proporciona varios resultados adicionales preconfigurados para registrar propiedades comunes, como el comentario del paso y la información de los requisitos. Para acceder a estos resultados preconfigurados, seleccione el botón Add Result From y elija un elemento de la lista. También puede especificar una expresión de condición para cada entrada de resultado adicional. El resultado solo se registrará si la expresión se evalúa como Verdadera.
Para obtener más información sobre configuraciones de resultados adicionales, consulte el tema Additional Results Edit Tab en la ayuda de TestStand.
Result.ReportText es un elemento de cadena adicional en el contenedor Resultado para almacenar información personalizada para el paso. Si la cadena no está vacía, el generador de informes incluye la cadena ReportText como un campo del informe. El campo ReportText soporta etiquetas HTML para todos los formatos de informe, excepto ASCII, por lo que usted puede utilizar este campo para incluir elementos de texto enriquecido, como imágenes relacionadas o hipervínculos.
Para obtener más información sobre cómo insertar una imagen en un reporte, consulte Inserting Images into a TestStand Report.
La siguiente imagen muestra un ejemplo de incorporar una imagen en un resultado de pasos utilizando HTML en la propiedad ReportText.
Informe que muestra una imagen en Result.ReportText
TestStand le permite crear sus propios tipos de pasos personalizados para implementar una funcionalidad específica. En este caso, a menudo es necesario registrar datos de tipo de paso personalizado en el informe.
Nota: Si no está familiarizado con los tipos de pasos personalizados en TestStand, consulte el artículo Prácticas recomendadas para el desarrollo de tipos de pasos personalizados para obtener más información antes de leer esta sección.
Para crear una propiedad de paso personalizada que aparecerá en el informe, siga estos pasos:
Los modelos de proceso proporcionan una cantidad de devoluciones de llamada que puede anular para cambiar la funcionalidad del modelo para un archivo de secuencia del cliente particular. Este mecanismo también puede servir para personalizar el generador de informes. Esta sección describe los siguientes métodos de personalización comunes:
Nota: Si no está familiarizado con las devoluciones de llamada del modelo de proceso, consulte el tema de ayuda Uso de secuencias de devolución de llamada para modificar modelos de proceso antes de continuar con esta sección.
Además de utilizar el cuadro de diálogo Report Options, puede establecer las opciones de informe mediante programación anulando la devolución de llamada de ReportOptions en su. secuencia de prueba. Para anular la devolución de llamada en su archivo de secuencia, siga estos pasos:
Cuando usted ejecuta su secuencia, el modelo de proceso llama a esta secuencia de devolución de llamada inmediatamente después de cargar las opciones de informe actuales, establecidas en el cuadro de diálogo de opciones de informe. Las opciones de informe actuales figuran en la variable Parameters.ReportOptions. Puede modificar los valores de estas propiedades para cambiar las opciones de informe para la ejecución actual. Estas opciones no afectan a la configuración del cuadro de diálogo Report Options ni a otras ejecuciones. Por ejemplo, para habilitar informes sobre la marcha para un archivo de secuencia, puede crear un paso de declaración con la siguiente expresión:
Parameters.ReportOptions.UseOnTheFlyReporting =True
Una aplicación de prueba puede requerir que incluya información de identificación adicional sobre la UUT, como, por ejemplo, la ubicación del fabricante. El modelo de proceso almacena los datos sobre UUT y Estación en las variables Parameters.UUT y Parameters.ModelData.StationInfo. La mayoría de las devoluciones de llamada del modelo que crea contienen estas propiedades como parámetros para permitirle acceder a estos datos en la devolución de llamada. En TestStand 2013 y versiones posteriores, las propiedades UUT y StationInfo contienen una subpropiedad AdditionalData, que es un contenedor no estructurado. Puede agregar datos a esta propiedad en el tiempo de ejecución sin realizar ningún cambio en los tipos de datos UUT y StationInfo.
Para usar el contenedor AdditionalData para agregar mediante programación datos UUT personalizados al encabezado, siga estos pasos:
Parameters.UUT.AdditionalData.SetValString(“Manufacturer.Name”,1,“National Instruments”),
Parameters.UUT.AdditionalData.SetValString(“Manufacturer.Location”,1,“Debrecen, Hungary”),
Nota: El uso del método SetValString con 1 como PropertyOption crea una propiedad si esta no existe.
Parameters.UUT.AdditionalData.SetFlags("",0,PropFlags_IncludeInReport)
El siguiente informe incluye los datos personalizados en el contenedor AdditionalData. El proceso para agregar datos de Estación personalizados es similar, pero utiliza la propiedad Parameters.ModelData.StationInfo en lugar de Parameters.UUT.
Agregar información del fabricante al encabezado del informe utilizando el contenedor UUT.AdditionalData.
Nota: Como alternativa, puede agregar datos manualmente y habilitar el indicador IncludeInReport para el contenedor Locals.UUT o Locals.ModelData.StationInfo de un punto de entrada del modelo de proceso en el tiempo de edición para agregar datos de UUT o Estación para todos los archivos de secuencia del cliente.
El generador de informes define muchas devoluciones de llamada que puede anular en un archivo de secuencia del cliente. Cada una de estas devoluciones de llamada se ejecuta después de que se genera el texto del informe correspondiente y le permite modificar la salida predeterminada del generador de informes. Solo debe usar estas devoluciones de llamada para agregar datos personalizados cuando ninguno de los métodos descritos anteriormente es posible.
Estas devoluciones de llamada se ejecutan solo cuando habilita la opción Sequence de la opción Select a Report Generator for Producing the Report Body en la pestaña Contents del cuadro de diálogo Report Options. Esta opción está disponible para informes HTML y ASCII.
El método para personalizar la apariencia del informe depende en gran medida del formato del informe. Para los informes ASCII y HTML, la información de apariencia y los datos del informe están estrechamente relacionados. Como resultado, cambiar la apariencia del informe requiere modificar el código del generador de informes directamente, lo que requiere un bajo nivel de comprensión del generador de informes y está más allá del alcance de este documento. Para obtener más información sobre la implementación del generador de informes, consulte el artículo Report Generation Explained.
Como se describe en la sección Report Options de este documento, los informes XML y ATML utilizan hojas de estilo para generar un informe legible a partir de los datos de informe sin procesar. Usted puede personalizar la apariencia de estos informes editando la hoja de estilo, sin la necesidad de modificar el generador de informes. Para obtener más información y ejemplos de personalización de hojas de estilo, consulte la sección Informes XML de la ayuda de TestStand.
La personalización de informes en TestStand es una tarea común, y TestStand proporciona muchas funciones para personalizar el contenido, la funcionalidad y el estilo del informe. Consulte el siguiente diagrama de flujo para que le ayude a tomar decisiones sobre cómo implementar informes personalizados.
Diagrama de flujo para seleccionar la técnica correcta para personalizar informes