2. La Interfaz de Usuario de Zanebug

La interfaz grafica de usuario de Zanebug es un interfaz utilizador rica en características. Esta sección le guiará con las numerosas opciones que proporciona.

2.1. Código De Colores

Las distintas piezas de la interfaz de usuario e Zanebug utilizan un sistema simple de la codificación de colores para exhibir el resultado de una prueba:

Table 1. Codificación de color para las pruebas

VerdePasado, Prueba exitosa
AmarilloIgnorada
RojoFallado, Prueba falló

Esta codificación de colores se aplica a todos los niveles de prueba.

2.2. File Menu (Menú de Archivos)

Figure 1. File Menu

File Menu

El menú de archivo proporciona las opciones siguientes:

  • File

    • Add Assembly (Ctrl+A)

      Proporciona una ventana de diálogo de búsqueda de archivos para elegir un assembly. Mientras el ensamblado contenga NUnit o Zanebug TestFixtures, cargará las pruebas y las exhibirá en el árbol de TestSuite

    • Add VS.NET Project (Ctrl+V)

      Proporciona una ventana de diálogo de búsqueda de archivos para localizar un archivo de proyecto de VS.NET. Mientras la salida del proyecto contenga NUnit o Zanebug TestFixtures, cargará las pruebas y las exhibirá en el árbol de TestSuite

    • Remove Assembly

      Quita el assembly seleccionado del árbol de TestSuite

    • Reload (Ctrl+L)

      Recarga a todos los assemblies

      Note

      Normalmente, el motor de Zanebug recargará automáticamente los ensamblados cuando estos cambian. Si por una cierta razón esto no sucede, utilice esta opción para recargar manualmente a los ensamblados.

    • Open Zanebug File (Ctrl+O)

      Abre el archivo .zanebug especificado, y carga todos los ensamblados listados en él.

    • Save Zanebug File (Ctrl+S)

      Guarda la lista de todos los ensamblados actualmente cargados a un archivo .zanebug para una recuperación más útil.

  • Mode (Ctrl+M)

    Interruptor de modo entre los dos modos siguientes:

    • Modo Desarrollador

      El modo desarrollador contraerá el GUI de Zanebug para exhibir solamente la prueba Test Bar, y coloca la interfaz GUI siempre sobre las demás ventanas. Esto permite que los desarrolladores trabajen fácilmente con las pruebas mientras que se desarrolla en VS.NET, etc. sin tener que constantemente cambiar entre aplicaciones

    • Modo Prueba

      Este es el modo por defecto.

  • Test

    • Run (Ctrl+R)

      Ejecuta todos los tests

    • Stop (Ctrl+Shift+S)

      Detiene todos los test

  • Options

    • Verbose Mode

      Exhibe el nombre de la prueba actualmente de funcionamiento sobre cualquier salida de la consola. Por ejemplo:

      ==================================================
      TEST: SomeTest
      ==================================================
      Some output

      Si el modo prolijo no se selecciona, entonces solamente una "Some output" aparecerá

    • Verbose Setup / Teardown

      Exhibe el nombre del método SetUp o TearDown cuando funciona. Por ejemplo:

      ==================================================
      TEST: SomeTest
      ==================================================
      ***** SomeTestSetUp
      Some output
      ***** SomeTestTearDown
      

      Esto permite que usted se asegure de que los métodos correctos de la disposición y del desmontaje estén funcionando, junto con diagnosticar donde ocurren en el proceso

  • Reports

    • Save to Text

      Guarda los resultados de TestSuite al texto ajustado a formato.

    • Save to Xml

      Guarda los resultados de TestSuite al formato de XML

      Note

      No hay transformación de XSLT para las salida XML actual. Esto será tratado en la versión siguiente

  • Help

    • Online Documentation

      Lo lleva a la documentación en línea

    • Product Website

      Lo lleva al homepage de Zanebug

    • Support

      Información de contacto para soporte.

2.3. Barra de Pruebas (Test Bar)

Figure 2. Test Bar

Test Bar

La barra de la prueba permite que usted comience y que pare las pruebas, y exhibe el progreso actual:

  • Run

    Inicia la ejecución del TestSuite.

  • Stop

    Detiene la ejecución del TestSuite

    Note

    Si se aborta el TestSuite (es decir, se detiene), las lengüetas de los resultados (All / Failed / Passed / Ignored) no serán pobladas.

  • Currently Running Test

    El nombre de la prueba actualmente en ejecucuón se exhibe en rojo debajo de los botones de detención del funcionamiento.

  • Overall Progress

    Exhibe el progreso total del TestSuite. El primer número ( 1 / 2 ) es el número de pruebas que se han ejecutado. El segundo número )( 1 / 2 ) es el número total de las pruebas que serán ejecutadas.

    Una barra roja significa que por lo menos una prueba ha fallado, así que el TestSuite total ha fallado. Una barra verde significa que ninguna de las pruebas ha fallado.

  • Assembly Iteration

    Exhibe el número de las veces que el TestSuite será ejecutado, y el número total de veces que se ha ejecutado. Ejemplo: el --> 1/2 el TestSuite ha terminado 1 de 2 iteraciones.

  • Fixture Iteration

    Exhibe el número de las veces que el TestFixture será ejeccuta, y el número total de veces que se ha ejecutado. Ejemplo: --> 1/2 el TestFixture ha terminado 1 de 2 iteraciones.

  • Test Iteration

    Exhibe el número de las veces que la prueba será ejecutad, y el número total de veces que ha funcionado. Ejemplo: --> 1/2 la prueba ha terminado 1 de 2 iteraciones.

2.4. Summary Tab

Figure 3. Summary Tab

Summary Tab

La lengüeta Summary se compone de tres bloques de contenido:

  • TestSuite TreeView

    El TreeView enumera la estructura de arbol del TestSuite, del TestAssemblies, del TestFixtures y de las pruebas. Cuand un TestSuite funciona, estos varios niveles serán puestos al día continuamente para exhibir los resultados actuales.

    Todos los items seleccionados serán ejecutados. Todos los artículos no seleccionados seran ignorados.

  • Summary Groupbox

    El Groupbox sumario exhibe los resultados totales de dos maneras. Primero, exhibe el número de las pruebas que han pasado y/o han fallado. En segundo lugar, exhibe una estadística de los porcentajes pasados. Esto es una estadística útil para seguir en el tiempo.

  • Run-Time Editor Groupbox

    El groupbox run-Time del editor permite que usted cambie las características de los items de la prueba en el tiempo de ejecución. Por ejemplo, usted puede ajustar el número de veces que una prueba debe funcionar, de la categoría que debe exhibir debajo, etc. Esto permite que usted fije valores específicos en el tiempo de diseño, pero los corrige en el tiempo de ejecución, en vez de más bien que cambiar y recompilar.

    Dependiendo del nodo del árbol seleccionado, usted verá diversas opciones más bien que cambiar y recompilar.

    Important

    La caja de excepciones le permite ingresar unaExpectedException. Ustede debe proporcionar el nombre completo de la clase, incluyendo el espacio de nombres. Ejemplo: System.Exception. Si usted sólo ingresa Excepción, Zanebug arrojará un error. Para remover una ExpectedException, simplemente borre todo el texto de la caja.

2.5. Resultados Ajustados a formato

Los resultados ajustados a formato tabulan listas todo el contenido en un bloque del texto bien-ajustado a formato. Esto permite la exploración rápida de todos los resultados, para incluir resúmenes de la prueba.

2.6. Result Tabs (All / Passed / Failed / Ignored)

Figure 4. All Tab

All Tab

2.6.1. Descripción de las lengüetas

Las lengüetas de los resultados proporcionan la información comprensiva en la ejecución de la prueba. Los resultados se separan en 4 lengüetas distintas:

  • All

    Todo exhibe todos los resultados de la prueba, sin importar si están para las pruebas pasadas, falladas o no hechas caso. Esto proporciona una gran manera de hacer de lado a lado comparaciones de los tipos múltiples del resultado.

  • Passed

    La lengüeta pasada exhibe los resultados de toda la prueba que han pasado

  • Failed

    La lengüeta fallada exhibe los resultados de todas las pruebas que han fallado

  • Ignored

    La lengüeta ignorados exhibe los resultados de toda la prueba se han no hecho caso que

2.6.2. Explicación de columnas

Las lengüetas All / Passed / Failed contienen columnas múltiples. Debajo está un resumen de cada uno:

Table 2. Explicación de columnas para las lengüetas All / Passed / Failed

Nombre De la ColumnaDescripción
FixtureEl nombre de la TestFixture a la cual pertenece el Test
TestEl nombre de la prueba
ResultCualquier salida del resultado. Por ejemplo, si se lanza una excepción, el mensaje de excepción sería exhibido aquí.
AvgEl tiempo de pasada medio para la prueba (medida en segundos). Esto es calculada agregando la duración de todas las iteraciones de la prueba, y dividiéndola por # de iteraciones (fije con la cualidad de la repetición).
%Los porcentajes de tiempo de ejecución total de TestSuite.Esto es calculada agregando la duración de todas las pruebas, y dividiéndola por la duración de este Test
Ops/sThe number of times that this Test can be run in a second. This is calculated by dividing 1 second by the Test duration.
MemoryLa cantidad de memoria consumida por la prueba. Esta es calculada midiendo la memoria usada para el TestSuite antes del funcionamiento de la prueba, y substrayendole la memoria usada para el TestSuite después de la ejecución de la prueba.

Warning

Esto es actualmente una característica beta, y se debe utilizar en consecuencia

DurationLa cantidad de tiempo que toma para que la prueba se ejecute (medido en segundos).
ThreadEl número de la hebra que corrió la prueba.
ALa iteración del TestAssembly al cual pertenece el Test
TFLa iteración del TestFixture a la que pertenece el Test
TLa iteración del Test
CategoryLa categoría del Test (definida con el la propiedad Category del atributo Test)

La lengueta Ignored es más simple, dado que no contiene métricas

Table 3. Explanation of Columns for Ignored tab

Column NameDescription
FixtureEl nombre del TestFixture al que la prueba pertenece
TestEl nombre de la prueba
InfoLa razón de por qué la prueba es ignorada

2.6.3. Context Menu Options

Las lenguetas All / Passed Failed proveen de varias opciones a través del menú contextual:

  • Show All

    Si ha puesto filtros, usando la opción Filter By, entonces estos serán eliminados y se mostrarán todos los resultados nuevamente.

  • Compare

    La opción Compare permite seleccionar varios Tests (es decir, fias) y comparar los resultados con un grafico.

    Figure 5. Ejemplo de un Gráfico de Comparación

    Ejemplo de un Gráfico de Comparación
    • Avg

      Compara los valores de la columna Avg entre todos los resultados seleccionados

    • %

      Compara el valor de la columna % column entre todos los resultados seleccionados

    • Ops/s

      Compara los valores en las columnas Ops/s column entre todos los resultados seleccionados results

  • Filter By

    Filter By permite seleccionar múltiples fila, y filtrar los resultados desplegados de acuerdo a varias opciones.

    • Test

      Solo mostrará resultado para Tests que tienen el mismo nobre que los resultados seleccionados

    • Test Iteration

      Solo mostrará los resultados que tengan el mismo numero de iteración que los resultados seleccionados.

    • Fixture

      Solo mostrará resultado para los Tests que tienen los mimos TestFixture como los resultado seleccionados.

    • Fixture Iteration

      Sólo mostrará resultados para Tests that tienen la el mismo número de iteración para TestFixture como los resultados seleccionados.

    • Fixture AND Iteration

      Sólo mostrará resultados para Tests que tienen la el mismo nombre de TestFixture Y el mismo número de iteración de Test como los resultados seleccionados.

    • Fixture AND Category

      Sólo mostrará resultados para Tests que tienen la el mismo nombre de TestFixture Y la misma categoría como los resultados seleccionados.

    • Fixture AND Iteration AND Category

      Sólo mostrará resultados para Tests que tienen la el mismo nombre de TestFixture Y el mismo número de iteración del Tests y la misma categoría como los resultados seleccionados.

    • Assembly Iteration

      Solo mostrara resultados para Tests que tengan el mismo número de interación por ensamblado, como el número de los resultados seleccionados.

    • Thread

      Sólo mostrara los resultados para los Tests que tengan el mísmo número de Thread # como los resultado seleccionados.

    • Category

      Seleccionará solo los resultados para Test que tengan la misma categoría que el valor de los resultados seleccionados.

2.7. Output Tabs (Console / Debug / Trace)

Figure 6. Console Tab

Console Tab

Las lengüetas de la salida exhiben la salida programática que es generada por el programa de la prueba:

  • Console Ta

    Exhibe los valores que son impresos por los comandos System.Console.WriteLine(...)

  • Debug Tab

    Exhibe los valores que son impresos por los comandos System.Diagnostics.Debug.WriteLine(...)

  • Trace Tab

    Exhibe los valores que son impresos por los comandos System.Diagnostics.Trace.WriteLine(...)

2.8. Assemblies Tab

Figure 7. Assemblies Tab

Assemblies Tab

La lengüeta de los ensamblados es extremadamente útil para investigar qué ensamblados se cargan para un TestSuite específico, sus componentes subyacentes, sus localizaciones y los números de versión. Éste puede ser una gran herramienta cuando eliminar errores de la versión publica, etc.

Exhibe los cuatro valores siguientes:

Table 4. Assembly Columns

ColumnaDescripción
NameEl nombre del ensamblado
VersionLa versión del ensamblado
Base LocationLa ubicación del ensamblado bajo circunstancias normales (Zanebug copia un ensamblado en un directorio temporal al funcionar las pruebas, para poder todavía corregir los ensamblados originales y recompilar mientras que se prueba.
Test LocationLa localización del ensamblado copiado, que es lo que utiliza Zanebug realmente para los propósitos de prueba. Esto es una localización temporal, y suprimido cuando Zanebug es cerrado.

2.9. Perfmon Tab

Figure 8. Perfmon Tab

Perfmon Tab

Zanebug permite monitoreo de desempeño (Perfmon) integrado que aparece con una interfaz simple de utilizar. Esto releva los desarrolladores de cambiar constantemente entre múltiples aplicaciones.

Note

Es possible realizar drag-and-drop sobre los gráficos uno sobre otro para obtener un despliegue consolidado.

Varias opciones y comandos están disponibles:

  • Machine Name (Nombre de la máquina)

    El nombre de la máquina que usted desea analizar. Por omisión será el nombre actual de la máquina.

    Warning

    Esta característica todavía no se ha probado para las computadoras alejadas

  • Load Counters (Cargar Contadores)

    Los contadores no son cargados en Zanebug por defecto debido a problemas de desempeño. Para cargar todos los contadores presione este botón.

  • Refresh Display

    Cuando ajuste las diversas propiedades visuales (Grosor de Linea, Filas, etc) debe presionar este botón para que las nuevas propiedades tomen efecto.

  • Line Thickness (Grosor de Linea)

    El grosor de las lineas en los gráficos.

  • Rows (Filas)

    El número de filas para los graficos de resultados. Mientras más filas tenga, más pequeño es el grafico.

  • Columns (Columnas)

    El número de columnas para el grafico de resultado. Mientras más columnas tenga, más pequeño es el grafico.

  • Frequency (Frecuencia)

    La frecuencia con que los gráficos son actualizados.The frequency that the graphs are updated. The lower the number, the more often a graph is updated.

  • Density (Densidad)

    El número de puntos a dibujar en un despliegue.