Microsoft Test Manager 2010
 [Software Testing with Visual Studio 2010, Jeff Levinson]




                                                             1
Temario
1.   Tests y Tipos de Tests
2.   Introducción a MS Test Manager
3.   Ejecución de Tests Automáticos
4.   Ejecución de Tests Manuales
5.   Resolución de Bugs
6.   Resultados de un Test
7.   Informes y Métricas
8.   Test Lab

                                      2
1. Tests y Tipos de Tests
      Calidad de Software y Testing
              Tests Manuales
           Tests Automatizados
            Tests Exploratorios
           Planificación de Tests
          Escenarios Habituales



                                      3
¿Por qué Testing?
   Motivos Clásicos
       Aumentar la calidad
       Detectar bugs
       Detectar culpables
       …
   Motivos Operativos
       No perder el tiempo
       No perder dinero


                                   4
Pegas del Testing
   Esto no funciona
   ¿Qué has roto?
   En mi máquina funciona
   No puedo reproducir el error
   Mi trabajo no es escribir informes
   Las herramientas no son compatibles
   Se prueban cosas sin valor
   …
                                          5
¿Qué es Calidad de Software?
   Interna
        Modularidad, mantenibilidad, factores de
         complejidad, …


   Externa
        Hace lo que se pretendía que hiciera
        Aporta valor de negocio
        Cumple requisitos funcionales y no funcionales


                                                          6
¿Y cuándo la evalúo?
   Al principio del proyecto
       No hay nada hecho… sólo requisitos


   Durante el proyecto
       Iterativo e incremental… retrabajo


   Al final del proyecto
       Cascada… coste de la no conformidad


                                              7
En enfoque Ágil
   No cerrar una tarea hasta que el trabajo esté
   HECHO
       Diseñado
       Programado
       Revisado
       Refactorizado
       Testado
       Aceptado


                                                    8
Tipos de Tests
   Por estrategia
       Caja Blanca/Negra/Gris
   Por modo de ejecución
       Manual, Exploratorio y Automatizado
   Por ámbito/alcance
       Unitario, de Integración, de
        Regresión, de Aceptación
       Funcional, de Carga, de
        Sistema

                                              9
Tests Manuales
   Se deben planificar
   Secuencia de pasos y resultado esperado
   Relacionados con los requisitos
   Tests de Aceptación

   Microsoft Test Manager (MTM)
   Guía de pasos para testing manual


                                              10
Tests Automatizados
   Programados de alguna manera
   Ejecutados en bloque o individualmente
       Unitarios
       Integración
       Carga
       Regresión
       …



                                             11
Tests Exploratorios
   James Bach, Exploratory Testing Explained
   Aprendizaje, diseño y ejecución de tests
   Modo libre
       Resolver un puzzle
   Modo planificado
       Separar las piezas por tipos
       Organizar la forma de ejecutar los tests
       ¿Qué es lo mejor que puedo testar ahora?

                                                   12
Tests Exploratorios
   Elementos constituyentes
       Tiempo
       Tester
       Producto
       Misión (Charter)
       Informe




                                    13
Tests Exploratorios
   Ejemplos de Charter
       Define el flujo del proceso X y recórrelo
       Empieza con un caso simple y vete añadiendo
        complicación hasta que se rompa o no puedas más
       Prueba todos los campos de entrada
       Analiza el formato de fichero de entrada y las
        consecuencias de escenarios patológicos
       Checkea la interfaz como ventana de Windows
       Comprueba la integración con aplicaciones externas

                                                             14
Tests Exploratorios
   Planificar sesiones de testing (1-3 horas)
   Con objetivos y recursos definidos
   Checkeamos
       Estados y transiciones de la aplicación
       Elementos que varíen (fechas, ficheros,…)
       Simulación de distintos perfiles de usuario
           Novato, experto, impaciente, hacker, multitask,…


   Enfoque de Bus Turístico
                                                               15
Planificación de Tests
   No se puede testar todo
   Siempre habrá bugs
   El coste de eliminarlos se vuelve exponencial
   Determinar de manera objetiva
       Los criterios de aceptación
       Los casos de tests a ejecutar
       Las necesidades y restricciones de los test
       …

                                                      16
Planificación de Tests
   Ejemplo de Planificación
    1.   Escribir los tests iniciales de aceptación
    2.   Diseñar los casos de test que validan los anteriores
    3.   Ejecutar los tests y validarlos
    4.   Resolver los posibles bugs




                                                                17
Escenarios Habituales
   Planificación-Ejecución
       Tareas de testing en el WBS o en el Gannt
       Relacionar requisitos y tareas con tests
       Modelo en cascada




                                                    18
Escenarios Habituales
   FDD y BDD
       Una rama por característica
       Un plan de testeo por característica




                                               19
2. Introducción a MTM
    Tests en Visual Studio 2010
        Planes de Pruebas
            Test Suites
      Creación de Test Cases
          Configuraciones


                                  20
Test en Visual Studio 2010
   Unit test
       Invoca a un método con parámetros determinados
       Valida el retorno
       Atributos
           [TestClass]
           [TestMethod]




                                                         21
Test en Visual Studio 2010
   Coded UI test
       Tests de interfaz de usuario
       A partir de una interacción grabada
       UIMap
       [CodedUITest]
       [TestMethod]




                                              22
Test en Visual Studio 2010
   Web Performance test
       Captura de las peticiones HTTP y eventos
       De una interacción Web grabada
       Reglas de validación y extracción de datos




                                                     23
Test en Visual Studio 2010
   Load test
       Evaluar el rendimiento de una aplicación Web
       Simulando
           La interacción
           El número de usuarios
           Los tests a lanzar
           El entorno de ejecución (SO, Red, ancho de banda,…)
       Graficando los resultados



                                                                  24
Test en Visual Studio 2010
   Ordered test
       Evaluar el impacto de los tests entre sí
       Ejecutando los tests en distintos órdenes


   Generic test
       Testing ejecutado en herramientas de terceros
       Encapsuladas dentro de MTM



                                                        25
Herramientas de Testing




                          26
Herramientas de Testing
   Test View
   Test List Editor
   Test Results
   Resultados de Cobertura
       Local.testsettings




                                    27
Microsoft Test Manager
   Herramienta standalone incluida con VS
    Ultimate y VS Test Professional
   Requiere conexión a TFS
   Contiene Testing Center y Lab Center
   MTM




                                             28
Microsoft Test Manager
   MTM




                                   29
Test Plans y Test Suites




                           30
Test Plans y Test Suites
   Test Plan
       Estrategias de testing asociado a un Team Project
       Compuesto de Test Suites
       Compuestas a su vez de Test Cases


   Test Case
       Test manual
       Con una secuencia de pasos
       Y resultados esperados
                                                            31
Test Case




            32
Lab Center
   Entornos físicos y virtuales para ejecutar tests
   Es necesario un Test Controller




                                                       33
Ejercicios
1.   Ejercicio 3.1 página 37
        Crear un Test Plan


2.   Ejercicio 3.2 página 47
        Crear un Test Suite




                                    34
Opciones de los Test Case
   Open
       Permite acceder a los settings del Test Case
   Assign
       Permite asignar un tester
   Configurations
       Entorno de ejecución del Test Case




                                                       35
Testing Configurations
   Variables de sistema (S.O., Navegador, …)
   Configurado desde el menú Organize




                                                36
Testing Configuration
   Se pueden asignar a un caso de test
   O a un plan
   O a una suite




                                          37
Ejercicios
1.   Ejercicio 3.3 página 50
        Crear variables de configuración


2.   Ejercicio 3.4 página 51
        Crear configuraciones de test




                                            38
3. Tests Automáticos
          Creación de Proyectos de Testing
Creación de Tests Unitarios, de Rendimiento y Carga
       Creación de Tests Grabados (CodedUI)
    Ejecutar Tests durante builds automatizados



                                                      39
El Proyecto de Testing
   Admite distintos tipos de test
   Permite ejecutarlos en cadena




                                     40
Ficheros de Testing
   Fichero *.vsmdi de Metadata
       Tests y categorías de test
       Formato XML
   Fichero *.testsettings
       Configuración de ejecución
       Datos a recolectar, Red, …
   Fichero *.trx de resultados
   Otros específicos
       *.webtest, *.loadtest, *.orderedtest, *.generictest
                                                              41
Tests Unitarios
   Se pueden crear a mano
       TEST FIRST
   O autogenerar
       CODE FIRST




                                  42
Generar Tests Unitarios
   Seleccionar los métodos a cubrir
   Definir la clase de Test y su configuración




                                                  43
Ciclo de Vida de un Test Unitario
1.    [TestClass]
2.    [ClassInitialize]
3.    [TestInitialize]
4.    [TestMethod]
5.    [TestCleanup]
6.    [ClassCleanup]



                                         44
Asertos
   Clase de validación de los resultados de un test
   Assert
       AreEqual(x, y, [mensaje])
       AreSame(x, y, [mensaje])
       Fail([mensaje])
       Inconclusive([mensaje])
       IsTrue(condición, [mensaje])
       IsNull(x, [mensaje])
       IsInstanceOfType(x, t, [mensaje])
                                                       45
Asertos
   StringAssert
       Contains(cadena, subcadena, [mensaje])
       Matches(cadena, regexp, [mensaje])
       DoesNotMatch(cadena, regexp, [mensaje])
       StartsWith(cadena, subcadena, [mensaje])
       EndsWith(cadena, subcadena, [mensaje])




                                                   46
Asertos
   CollectionAssert
       Contains(coleccion, item, [mensaje])
       DoesNotContain(coleccion, item, [mensaje])
       AllItemsAreNotNull(colección, [mensaje])
       AreEquivalent(col1, col2, [mensaje])
       IsSubsetOf(colPeque, colGrande, [mensaje])
       AllItemsAreUnique(col, [mensaje])
       AllItemsAreInstancesOfType(col, t, [mensaje])


                                                        47
Tests Unitarios Usando Generics
   Se generan 2 métodos
       Test
       TestHelper
   Se parametriza GenericParameterHelper




                                            48
Data-Driven Tests
   Enlazar un Test con un origen de datos
       CSV, TXT, XML, …
       Access, SQL Server, Oracle, …
   Configurar el DataSource
       Propiedades del test




                                             49
Data-Driven Tests
   Extraer los datos del origen de datos
   testContextInstance.DataRow
   Se ejecutará el test tantas veces como registros
    tenga en el origen de datos




                                                   50
Ejercicios
1.   Crear tests unitarios para una calculadora
        Sumar, Restar, Multiplicar, Dividir


2.   Crear una calculadora de complejos
        Definir primero los casos de test
        Generar el código de la calculadora


3.   Enlazar con un fichero de datos CSV
        Con distintos casos y sus resultados
                                                  51
Tests de Cobertura
   Fichero local.testsettings




                                  52
Tests de Cobertura
   Fichero local.testsettings
       Marcar "Code Coverage"
       Pulsar "Configure" para elegir los proyectos a
        inspeccionar
       Ejecutar el test y ver los resultados




                                                         53
Tests de Rendimiento
   Web Performance Test
   Parte de una interacción grabada
   Para almacenar todas las requests al servidor
   Se pueden añadir comentarios




                                                    54
Tests de Rendimiento
   Web Performance Test Editor
       Detalles de la grabación
       Web Test Properties
           A nivel de test
           A nivel de request
           A nivel de parámetro HTTP
       Reglas de validación
       Reglas de extracción
       Orígenes de Datos

                                        55
Reglas de Extracción
   De datos de response para la siguiente request
   Se extraen a parámetro de contexto únicos




                                                     56
Reglas de Validación
   Checkear el testo devuelto en la response
   O los tiempos de respuesta




                                                57
Transaccionalidad
   Establecer un conjunto de requests como
    transaccionales




                                              58
Orígenes de Datos
   Cambiar el origen de los valores de las
    propiedades de formulario o query string




                                               59
Tests de Carga
   Simular entornos de ejecución




                                    60
Escenarios
   Testa a ejecutar
   Simulador de red
   Simulador de usuarios
   Simulador de navegador
   Think time
   Patrón de carga



                              61
Modelos de Test Mix




                      62
Modelos de Test Mix
   Número total de Tests
       % de ejecución de cada test
   Número de usuarios virtuales
       Cada usuario ejecuta un test
   Comportamiento de los usuarios
       Tests ejecutados por usuario y por hora
   Tests secuenciales
       Cada usuario ejecuta la secuencia dada

                                                  63
Network Mix y Browser Mix




                            64
Recolección de Datos




                       65
Periodo de Ejecución




                       66
Ejercicios
1.   Crear una aplicación Web sencilla
        Operaciones CRUD


2.   Testar las operaciones CRUD unitariamente
        Enlazando a un fichero de datos


3.   Crear y ejecutar tests
        De rendimiento
        De carga
                                                 67
Ejecutar Tests desde Builds
   Configurar un Build Automático
       Que compile el proyecto de test
       Que tenga habilitados los tests (DisableTests=false)
       Comprobar el formato de ensamblado


   Ejecutar el Build




                                                               68
Ejecutar Tests desde Builds
   Por defecto no se ejecutan tests grabados

   Configurar el servicio de Build interactivo
       TFS Admin Console > Build Configuration
       Detener el servicio
       Activar la propiedad Interactive Process




                                                   69
4. Tests Manuales
       Tipos de Test Suites
  Pasos Compartidos y grabación
     Añadir Parámetros al Test
            Work Items
    Tests Exploratorios en MTM
 Automatización de Tests Manuales



                                    70
Tipos de Test Suites
   Basados en Requisitos
       Añadir un requisito/historia de usuario al Test Plan
       1º Enlazarlo al test desde la pestaña All Links




                                                               71
Tipos de Test Suites
   Basados en Requisitos
       2º Añadir el requisito al Plan como Suite




                                                    72
Tipos de Test Suites
   Basados en Queries
       Para agrupar casos de test según criterios
       Add > Query-Based Test Suite




                                                     73
Tipos de Test Suites
   Estáticos
       Agrupación jerárquica de casos de test




                                                 74
Propiedades y Settings de una Suite
   Permiten configurar
       Test manual/automático
       Grabación de acciones manuales
       Grabación de datos de tráfico de ASP.Net
       Emulación de red
       Captura de información
           Logs, configuración del sistema, tests afectados por
            cambios en el código,…




                                                                   75
Disparar un Test Manual
   Desde la pestaña Test del MTM
   Ejecutar un test o una suite
       Permite grabar el test




                                    76
Disparar un Test Manual
   Test Runner




                                  77
Disparar un Test Manual
   A medida que avanza el test
       Damos por correctos los pasos
       Podemos añadir comentarios
       Podemos capturar imágenes




                                        78
Disparar un Test Manual
   Finalizado el test
       Detenemos la ejecución (End test)
       Guardamos los datos (Save and Close)
       Aparecerá la ventana de resultados




                                               79
Shared Steps
   Conjunto de pasos que se repiten a lo largo de
    varios tests
   Se pueden
       Crear (Convertir un conjunto de pasos en shared)
       Insertar
       Crear e insertar en la posición actual




                                                           80
Grabación de pasos
   Marcar la casilla "Create action recording"
   Los Shared Steps tienen 2 opciones añadidas
       Start
       Start and record
   Se graban a parte




                                                  81
Añadir parámetros al test
   Formato @parametro
   Se pueden definir valores




                                    82
Añadir parámetros al test




                            83
Ejercicios
1.   Ejercicio 4.2 página 76
        Crear pasos compartidos


2.   Ejercicio 4.3 página 78
        Crear un test con parámetros




                                        84
Tests exploratorios con MTM
   Durante un test pueden dispararse Bugs
   Existen los Bugs exploratorios
   Que me permiten enlazar un tiempo de
    ejecución
   Y capturar acciones




                                             85
Tests exploratorios con MTM
   A partir de estos Bugs exploratorios se pueden
    crear casos de test
   Es útil tenerlo grabado en vídeo




                                                     86
Tests exploratorios con MTM
   Pasos recomendados
    1.    Ejecutar el test exploratorio
    2.    Si se encuentra un Bug anotarlo y generar un Bug
          Exploratorio
    3.    A partir de este Bug generar un caso de test nuevo
    4.    Verificar que este test reproduce el Bug
    5.    Una vez verificado se puede generar un Bug normal




                                                           87
Ejercicios
   Ejercicio 4.4 página 102
       Test exploratorio con MTM


   http://msdn.microsoft.com/en-
    us/vs2010trainingcourse_exploratorytesting




                                                 88
Automatización de Test Manuales
   Para regresión
   CodedUI
   Generado a partir de un test manual grabado

   Ejercicio 6.1 página 142
       Automatizar un test manual
       Examinar el [TestMethod] generado
       Examinar el UIMap generado y sus parámetros

                                                      89
Automatización de Test Manuales
   ¿Y las validaciones?
       Manual  Validación Visual
       Automático  Assert


   CodedUI Test Builder
       Test > Generate Code… > Use CodedUI Test Builder




                                                       90
Automatización de Test Manuales
   Añadir más pasos
       CodedUI Test Builder permite seguir grabando


   Combinar test
       Volver a generar código desde acciones grabadas




                                                          91
Work Items
   Test Case
       Pueden existir casos de test creados en TFS
       Se pueden importar a MTM
   Requirement/User Story
       Se asocian a suites de requisitos
       Permiten mantener trazabilidad
   Bug
       Se pueden generar ante una ejecución fallida
       Permiten dar feedback del error
                                                       92
Asociar a Work Items
   Test Case – Work Item
       Pestaña All Links
   Test Case – Automatización
       Pestaña Associated Automation
       El proyecto asociado debe estar en TFS
       También se puede enlazar desde el Test List Editor




                                                             93
Asociar a Work Items
   Test Unitario – Test Case
       Desde el Test List Editor
       Create Test Case from Test
       Asociar el Test Case con un
        requisito/historia




                                      94
5. Resolución de Bugs
          El Work Item Bug
              IntelliTrace
  Resolver el Bug y asociar Cambios
          Asociar a un Build
   Tests Impactados por el cambio


                                      95
El Work Item Bug
   Es distinto según la plantilla TFS usada




                                               96
El Work Item Bug
   Puede detectarlo el cliente o el equipo
       ¿Es realmente un Bug o es un cambio?
       Es necesario un caso de test que lo reproduzca
       ¿Es un Bug nuevo o algo que se creía arreglado?
       Reactivar el Bug y el requisito asociado
       ¿Tengo todos los estados que necesito?
       Modificar las plantillas de procesos




                                                          97
El Work Item Bug
   Contiene información de reproducción
   Paso a paso
   Configuración del entorno
   Vídeo
   Capturas de pantalla
   Comentarios del tester
   Log de IntelliTrace


                                           98
IntelliTrace
   Datos históricos capturas al ejecutar el test
   Permite ver qué ha ocurrido sin tener código
   Permite repetir el test




                                                    99
IntelliTrace
   Se pueden encontrar 2 tipos de Bug
       Bug de Excepción
           Fácil de depurar
           Zona de datos de
            excepción del
            IntelliTrace
       Bug Lógico
           Difícil de rastrear
           No hay un enlace
            directo al código


                                         100
Resolver el Bug
   Supone un cambio en el código
   Subido a repositorio
   Y asociado a un Changeset
   Asociarlo al Work Item del Bug
   Y cambiar su estado a "Resolved"




                                       101
Asociar a un Build
   Un Changeset protegido no es nada sin
    Integración Continua
   Disparar un Build Manual tras el check-in
       Con el Changeset asociado al Build
       Con el Work Item Bug asociado al Build
       Detectando los Tests Impactados por el Changeset
           Test de Regresión
       Asignando una Cualidad de Build


                                                           102
Asociar a un Build




                     103
Asociar a un Build
   Una vez ejecutado, asociar el Build al test
   Desde MTM




                                                  104
Ejecutar el Test de Regresión
   Tests Impactados por el cambio
   Recommended Tests en MTM




                                     105
Verificar que se ha resuelto el Bug
   Opción Verify Bug de MTM




       Volver a grabar las acciones
       Marcar el Bug como "Closed"

                                       106
6. Resultados de un Test
         Resultados de un Test
    Resultados de un Test de Carga
     Integrar los resultados en TFS
    Publicar los resultados del Test



                                       107
Resultados de un Test
   MTM muestra los resultados de la última
    ejecución
       Active (Azul)
       Failed (Rojo)
       Passed (Verde)
       Blocked




   Se pueden ver más detalles de los resultados
                                                   108
Resultados de un Test
   Estado Activo
       Nunca se ha ejecutado
       O se ha cambiado por un Bug a verificar
       O es una copia de otra Suite y tiene que relanzarse
   Estado Bloqueado
       No se permite su ejecución
       Depende de la metodología del equipo



                                                              109
Resultados de un Test
   "Results Overview" del menú Open
       Resumen de los resultados de cada test
       Permite gestionar varias ejecuciones a la vez




                                                        110
Resultados de un Test
   "Analyze Test Run"
       Distingue tests manuales y automatizados
       Está mas orientado a tests automatizados




                                                   111
Resultados de un Test de Carga




                                 112
Resultados de un Test de Carga
   Los resultados se almacenan a parte
   Los gráficos sólo muestran información esencial
   Existen distintas vista de los resultados
       Gráfica




                                                  113
Resultados de un Test de Carga
   Vista Gráfica
       4 gráficos que muestran distintos indicadores
       Indicadores Clave
           Carga de usuarios, errores/sg, violaciones de umbrales,…
       Tiempos de respuesta
       Sistema testado
       Controlador y Agentes de Test




                                                                       114
Resultados de un Test de Carga
   Vista Resumen
       Estadísticas de las 5 páginas y 5 tests más lentos
       Información de ejecución
       Distintos resultados
       Errores durante el test




                                                             115
Resultados de un Test de Carga
   Vista de Tabla
       Resumen de los resultados en 2 tablas configurables
       La tabla de detalles tiene un enlace al log del test




                                                           116
Resultados de un Test de Carga
   Vista de Detalle
       Gráfico de actividad de los usuarios virtuales
       Incluye filtros de los resultados




                                                         117
Integración con TFS
   TFS integra un servicio de Build Automatizado
   Configurado mediante WWF
   Se crea una definición basada en plantilla
   Se dispara manual o automáticamente




                                                    118
Integración con TFS
   Se pueden configurar tests automáticos
   Para dispararlos durante el Build
   Indicar el fichero .vsmdi
   Y la lista de tests a ejecutar




                                             119
Build Report
   Cuando se ejecuta un build se genera un report
   Informa de la ejecución y de los tests




                                                 120
Publicar los resultados
   Si el test se dispara desde un build
       Los resultados se publican automáticamente
       Base de Datos "Operational Store" de TFS
   Si el test se dispara fuera de un build
       Los resultados se mantienen en la máquina local
       Se deben consolidar entre testers
       Publicarlos desde la ventana Test Results



                                                          121
Publicar los resultados




                          122
7. Informes y Métricas
    Estructura de Informes OLAP
       Informes prediseñados
   Informes de resultados de Test
           Informes OLAP
              Métricas


                                    123
Estructura OLAP
   TFS almacena Colecciones de Proyectos
   Que migra a Data Warehouse (2 horas)
   OLAP -> Cubo de datos




                                            124
Informes Prediseñados
   Incluidos en el Team Project de TFS
   Formato SQL Reporting Services
   Formato Excel
   Integrables en el portal de SharePoint




                                             125
Informes Prediseñados
   Bug Status (página 244)
       Vista temporal de Bugs y sus estados
       Alarma si crece el número de Bugs activos o de alta
        prioridad, o si los Bugs no se cierran


   Bug Trend (página 245)
       Tendencia de aparición y resolución de Bugs
       Alarmas si hay mucha diferencia entre los Bugs que
        aparecen y los Bugs que se cierran

                                                          126
Informes Prediseñados
   Reactivaciones (página 246)
       Veces que un Bug se ha cerrado y vuelto a abrir
       Alarma ante cualquier reactivación


   Build Summary (página 249)
       Resultados de los distintos Builds
       Alarmas ante cualquier color que no sea verde o si
        no se ejecutan tests automatizados


                                                             127
Informes Prediseñados
   Stories Overview (página 250)
       Información del progreso del proyecto
       Requisitos cubiertos y calidad de los mismos
       Interesante para entregar al cliente


   Test Plan Progress (página 252)
       Estado y resultados de los tests de un plan
       Alarmas si crece el número de tests fallidos o que no
        se ejecutan (dependiendo del tipo de Bug)

                                                           128
Informes Excel
   2 modelos de informe
       Informe de resultados de un test
       Informe OLAP




                                           129
Informes Excel
   Informe de resultados de un test
       Desde los resultados de un Test de Carga
       Create Excel Report
       Los datos se almacenan en SQL Server




                                                   130
Informes Excel
   Informe de resultados de un test
       Run Comparison genera comparativas de ejecución
       Trend genera tendencias de ejecución
       Elegir los resultados de ejecución a utilizar




                                                          131
Informes Excel
   Informe de resultados de un test




                                       132
Informes Excel
   Informe OLAP
       Conectar con el cubo TFS desde Data > From Other
        Sources > From Analysis Services




                                                       133
Informes Excel
   Informe OLAP
       Crear una tabla de datos dinámicos (pivotes)
       Elegir los datos a mostrar por filas, columnas o como
        filtro




                                                           134
Métricas
   Medidas tomadas de un proceso específico
   Para mejorar el proceso
       Tiempo
       Calidad
   Comparándolas con medidas pasadas
   Hay que tener claro para qué se toman
   Es esencial la cultura de la empresa
   Cuadro página 272

                                               135
Métricas
   Tasa de nuevos fallos (página 273)
       Mide los HECHO falsos, el trabajo desperdiciado
       O los errores de codificación
       Se puede mejorar con TDD




                                                          136
Métricas
   Tasa de reactivaciones (página 276)
       Mide los Bugs mal arreglados (¿mal documentado?)




                                                       137
Métricas
   Número de Bugs (página 278)
       Totales
       Por fase/iteración
       Por característica/requisito
       Por regresión
       Se mejora con revisiones formales
       Y con tests enfocados




                                            138
Revisiones Formales
   Planificadas y periódicas
       Agenda de revisiones
       Qué se va a revisar y qué se espera del requisito
   Developer(es), tester, guía
   Buscando posibles bugs de manera constructiva
   El objetivo es encontrar no arreglar ni culpar
   Crear tareas tras la revisión


                                                            139
8. Test Lab
    Máquinas Virtuales
    Entornos Virtuales
Ejecución de Tests en Lab




                            140
Test Lab
   Lab Center




                            141
Máquinas Virtuales
   Máquinas virtuales Hyper-V
   Se pueden crear desde plantilla
   O importan máquinas creadas
   Se gestionan desde la pestaña Library




                                            142
Entornos Virtuales
   Conjunto de máquinas físicas/virtuales
   Arrancadas para colaborar
       Servidor
       Cliente
       Database




                                             143
Entornos Virtuales




                     144
Tests en Lab Center
   Lo primero es configurarlo (Test Settings)
   Hace falta un Controlador de Tests




                                                 145
Ejecutar




           146
Muchas Gracias
Óliver Centeno Álvarez




                         147

Microsoft Test Manager 2010

  • 1.
    Microsoft Test Manager2010 [Software Testing with Visual Studio 2010, Jeff Levinson] 1
  • 2.
    Temario 1. Tests y Tipos de Tests 2. Introducción a MS Test Manager 3. Ejecución de Tests Automáticos 4. Ejecución de Tests Manuales 5. Resolución de Bugs 6. Resultados de un Test 7. Informes y Métricas 8. Test Lab 2
  • 3.
    1. Tests yTipos de Tests Calidad de Software y Testing Tests Manuales Tests Automatizados Tests Exploratorios Planificación de Tests Escenarios Habituales 3
  • 4.
    ¿Por qué Testing?  Motivos Clásicos  Aumentar la calidad  Detectar bugs  Detectar culpables  …  Motivos Operativos  No perder el tiempo  No perder dinero 4
  • 5.
    Pegas del Testing  Esto no funciona  ¿Qué has roto?  En mi máquina funciona  No puedo reproducir el error  Mi trabajo no es escribir informes  Las herramientas no son compatibles  Se prueban cosas sin valor  … 5
  • 6.
    ¿Qué es Calidadde Software?  Interna  Modularidad, mantenibilidad, factores de complejidad, …  Externa  Hace lo que se pretendía que hiciera  Aporta valor de negocio  Cumple requisitos funcionales y no funcionales 6
  • 7.
    ¿Y cuándo laevalúo?  Al principio del proyecto  No hay nada hecho… sólo requisitos  Durante el proyecto  Iterativo e incremental… retrabajo  Al final del proyecto  Cascada… coste de la no conformidad 7
  • 8.
    En enfoque Ágil  No cerrar una tarea hasta que el trabajo esté  HECHO  Diseñado  Programado  Revisado  Refactorizado  Testado  Aceptado 8
  • 9.
    Tipos de Tests  Por estrategia  Caja Blanca/Negra/Gris  Por modo de ejecución  Manual, Exploratorio y Automatizado  Por ámbito/alcance  Unitario, de Integración, de Regresión, de Aceptación  Funcional, de Carga, de Sistema 9
  • 10.
    Tests Manuales  Se deben planificar  Secuencia de pasos y resultado esperado  Relacionados con los requisitos  Tests de Aceptación  Microsoft Test Manager (MTM)  Guía de pasos para testing manual 10
  • 11.
    Tests Automatizados  Programados de alguna manera  Ejecutados en bloque o individualmente  Unitarios  Integración  Carga  Regresión  … 11
  • 12.
    Tests Exploratorios  James Bach, Exploratory Testing Explained  Aprendizaje, diseño y ejecución de tests  Modo libre  Resolver un puzzle  Modo planificado  Separar las piezas por tipos  Organizar la forma de ejecutar los tests  ¿Qué es lo mejor que puedo testar ahora? 12
  • 13.
    Tests Exploratorios  Elementos constituyentes  Tiempo  Tester  Producto  Misión (Charter)  Informe 13
  • 14.
    Tests Exploratorios  Ejemplos de Charter  Define el flujo del proceso X y recórrelo  Empieza con un caso simple y vete añadiendo complicación hasta que se rompa o no puedas más  Prueba todos los campos de entrada  Analiza el formato de fichero de entrada y las consecuencias de escenarios patológicos  Checkea la interfaz como ventana de Windows  Comprueba la integración con aplicaciones externas 14
  • 15.
    Tests Exploratorios  Planificar sesiones de testing (1-3 horas)  Con objetivos y recursos definidos  Checkeamos  Estados y transiciones de la aplicación  Elementos que varíen (fechas, ficheros,…)  Simulación de distintos perfiles de usuario  Novato, experto, impaciente, hacker, multitask,…  Enfoque de Bus Turístico 15
  • 16.
    Planificación de Tests  No se puede testar todo  Siempre habrá bugs  El coste de eliminarlos se vuelve exponencial  Determinar de manera objetiva  Los criterios de aceptación  Los casos de tests a ejecutar  Las necesidades y restricciones de los test  … 16
  • 17.
    Planificación de Tests  Ejemplo de Planificación 1. Escribir los tests iniciales de aceptación 2. Diseñar los casos de test que validan los anteriores 3. Ejecutar los tests y validarlos 4. Resolver los posibles bugs 17
  • 18.
    Escenarios Habituales  Planificación-Ejecución  Tareas de testing en el WBS o en el Gannt  Relacionar requisitos y tareas con tests  Modelo en cascada 18
  • 19.
    Escenarios Habituales  FDD y BDD  Una rama por característica  Un plan de testeo por característica 19
  • 20.
    2. Introducción aMTM Tests en Visual Studio 2010 Planes de Pruebas Test Suites Creación de Test Cases Configuraciones 20
  • 21.
    Test en VisualStudio 2010  Unit test  Invoca a un método con parámetros determinados  Valida el retorno  Atributos  [TestClass]  [TestMethod] 21
  • 22.
    Test en VisualStudio 2010  Coded UI test  Tests de interfaz de usuario  A partir de una interacción grabada  UIMap  [CodedUITest]  [TestMethod] 22
  • 23.
    Test en VisualStudio 2010  Web Performance test  Captura de las peticiones HTTP y eventos  De una interacción Web grabada  Reglas de validación y extracción de datos 23
  • 24.
    Test en VisualStudio 2010  Load test  Evaluar el rendimiento de una aplicación Web  Simulando  La interacción  El número de usuarios  Los tests a lanzar  El entorno de ejecución (SO, Red, ancho de banda,…)  Graficando los resultados 24
  • 25.
    Test en VisualStudio 2010  Ordered test  Evaluar el impacto de los tests entre sí  Ejecutando los tests en distintos órdenes  Generic test  Testing ejecutado en herramientas de terceros  Encapsuladas dentro de MTM 25
  • 26.
  • 27.
    Herramientas de Testing  Test View  Test List Editor  Test Results  Resultados de Cobertura  Local.testsettings 27
  • 28.
    Microsoft Test Manager  Herramienta standalone incluida con VS Ultimate y VS Test Professional  Requiere conexión a TFS  Contiene Testing Center y Lab Center  MTM 28
  • 29.
  • 30.
    Test Plans yTest Suites 30
  • 31.
    Test Plans yTest Suites  Test Plan  Estrategias de testing asociado a un Team Project  Compuesto de Test Suites  Compuestas a su vez de Test Cases  Test Case  Test manual  Con una secuencia de pasos  Y resultados esperados 31
  • 32.
  • 33.
    Lab Center  Entornos físicos y virtuales para ejecutar tests  Es necesario un Test Controller 33
  • 34.
    Ejercicios 1. Ejercicio 3.1 página 37  Crear un Test Plan 2. Ejercicio 3.2 página 47  Crear un Test Suite 34
  • 35.
    Opciones de losTest Case  Open  Permite acceder a los settings del Test Case  Assign  Permite asignar un tester  Configurations  Entorno de ejecución del Test Case 35
  • 36.
    Testing Configurations  Variables de sistema (S.O., Navegador, …)  Configurado desde el menú Organize 36
  • 37.
    Testing Configuration  Se pueden asignar a un caso de test  O a un plan  O a una suite 37
  • 38.
    Ejercicios 1. Ejercicio 3.3 página 50  Crear variables de configuración 2. Ejercicio 3.4 página 51  Crear configuraciones de test 38
  • 39.
    3. Tests Automáticos Creación de Proyectos de Testing Creación de Tests Unitarios, de Rendimiento y Carga Creación de Tests Grabados (CodedUI) Ejecutar Tests durante builds automatizados 39
  • 40.
    El Proyecto deTesting  Admite distintos tipos de test  Permite ejecutarlos en cadena 40
  • 41.
    Ficheros de Testing  Fichero *.vsmdi de Metadata  Tests y categorías de test  Formato XML  Fichero *.testsettings  Configuración de ejecución  Datos a recolectar, Red, …  Fichero *.trx de resultados  Otros específicos  *.webtest, *.loadtest, *.orderedtest, *.generictest 41
  • 42.
    Tests Unitarios  Se pueden crear a mano  TEST FIRST  O autogenerar  CODE FIRST 42
  • 43.
    Generar Tests Unitarios  Seleccionar los métodos a cubrir  Definir la clase de Test y su configuración 43
  • 44.
    Ciclo de Vidade un Test Unitario 1. [TestClass] 2. [ClassInitialize] 3. [TestInitialize] 4. [TestMethod] 5. [TestCleanup] 6. [ClassCleanup] 44
  • 45.
    Asertos  Clase de validación de los resultados de un test  Assert  AreEqual(x, y, [mensaje])  AreSame(x, y, [mensaje])  Fail([mensaje])  Inconclusive([mensaje])  IsTrue(condición, [mensaje])  IsNull(x, [mensaje])  IsInstanceOfType(x, t, [mensaje]) 45
  • 46.
    Asertos  StringAssert  Contains(cadena, subcadena, [mensaje])  Matches(cadena, regexp, [mensaje])  DoesNotMatch(cadena, regexp, [mensaje])  StartsWith(cadena, subcadena, [mensaje])  EndsWith(cadena, subcadena, [mensaje]) 46
  • 47.
    Asertos  CollectionAssert  Contains(coleccion, item, [mensaje])  DoesNotContain(coleccion, item, [mensaje])  AllItemsAreNotNull(colección, [mensaje])  AreEquivalent(col1, col2, [mensaje])  IsSubsetOf(colPeque, colGrande, [mensaje])  AllItemsAreUnique(col, [mensaje])  AllItemsAreInstancesOfType(col, t, [mensaje]) 47
  • 48.
    Tests Unitarios UsandoGenerics  Se generan 2 métodos  Test  TestHelper  Se parametriza GenericParameterHelper 48
  • 49.
    Data-Driven Tests  Enlazar un Test con un origen de datos  CSV, TXT, XML, …  Access, SQL Server, Oracle, …  Configurar el DataSource  Propiedades del test 49
  • 50.
    Data-Driven Tests  Extraer los datos del origen de datos  testContextInstance.DataRow  Se ejecutará el test tantas veces como registros tenga en el origen de datos 50
  • 51.
    Ejercicios 1. Crear tests unitarios para una calculadora  Sumar, Restar, Multiplicar, Dividir 2. Crear una calculadora de complejos  Definir primero los casos de test  Generar el código de la calculadora 3. Enlazar con un fichero de datos CSV  Con distintos casos y sus resultados 51
  • 52.
    Tests de Cobertura  Fichero local.testsettings 52
  • 53.
    Tests de Cobertura  Fichero local.testsettings  Marcar "Code Coverage"  Pulsar "Configure" para elegir los proyectos a inspeccionar  Ejecutar el test y ver los resultados 53
  • 54.
    Tests de Rendimiento  Web Performance Test  Parte de una interacción grabada  Para almacenar todas las requests al servidor  Se pueden añadir comentarios 54
  • 55.
    Tests de Rendimiento  Web Performance Test Editor  Detalles de la grabación  Web Test Properties  A nivel de test  A nivel de request  A nivel de parámetro HTTP  Reglas de validación  Reglas de extracción  Orígenes de Datos 55
  • 56.
    Reglas de Extracción  De datos de response para la siguiente request  Se extraen a parámetro de contexto únicos 56
  • 57.
    Reglas de Validación  Checkear el testo devuelto en la response  O los tiempos de respuesta 57
  • 58.
    Transaccionalidad  Establecer un conjunto de requests como transaccionales 58
  • 59.
    Orígenes de Datos  Cambiar el origen de los valores de las propiedades de formulario o query string 59
  • 60.
    Tests de Carga  Simular entornos de ejecución 60
  • 61.
    Escenarios  Testa a ejecutar  Simulador de red  Simulador de usuarios  Simulador de navegador  Think time  Patrón de carga 61
  • 62.
  • 63.
    Modelos de TestMix  Número total de Tests  % de ejecución de cada test  Número de usuarios virtuales  Cada usuario ejecuta un test  Comportamiento de los usuarios  Tests ejecutados por usuario y por hora  Tests secuenciales  Cada usuario ejecuta la secuencia dada 63
  • 64.
    Network Mix yBrowser Mix 64
  • 65.
  • 66.
  • 67.
    Ejercicios 1. Crear una aplicación Web sencilla  Operaciones CRUD 2. Testar las operaciones CRUD unitariamente  Enlazando a un fichero de datos 3. Crear y ejecutar tests  De rendimiento  De carga 67
  • 68.
    Ejecutar Tests desdeBuilds  Configurar un Build Automático  Que compile el proyecto de test  Que tenga habilitados los tests (DisableTests=false)  Comprobar el formato de ensamblado  Ejecutar el Build 68
  • 69.
    Ejecutar Tests desdeBuilds  Por defecto no se ejecutan tests grabados  Configurar el servicio de Build interactivo  TFS Admin Console > Build Configuration  Detener el servicio  Activar la propiedad Interactive Process 69
  • 70.
    4. Tests Manuales Tipos de Test Suites Pasos Compartidos y grabación Añadir Parámetros al Test Work Items Tests Exploratorios en MTM Automatización de Tests Manuales 70
  • 71.
    Tipos de TestSuites  Basados en Requisitos  Añadir un requisito/historia de usuario al Test Plan  1º Enlazarlo al test desde la pestaña All Links 71
  • 72.
    Tipos de TestSuites  Basados en Requisitos  2º Añadir el requisito al Plan como Suite 72
  • 73.
    Tipos de TestSuites  Basados en Queries  Para agrupar casos de test según criterios  Add > Query-Based Test Suite 73
  • 74.
    Tipos de TestSuites  Estáticos  Agrupación jerárquica de casos de test 74
  • 75.
    Propiedades y Settingsde una Suite  Permiten configurar  Test manual/automático  Grabación de acciones manuales  Grabación de datos de tráfico de ASP.Net  Emulación de red  Captura de información  Logs, configuración del sistema, tests afectados por cambios en el código,… 75
  • 76.
    Disparar un TestManual  Desde la pestaña Test del MTM  Ejecutar un test o una suite  Permite grabar el test 76
  • 77.
    Disparar un TestManual  Test Runner 77
  • 78.
    Disparar un TestManual  A medida que avanza el test  Damos por correctos los pasos  Podemos añadir comentarios  Podemos capturar imágenes 78
  • 79.
    Disparar un TestManual  Finalizado el test  Detenemos la ejecución (End test)  Guardamos los datos (Save and Close)  Aparecerá la ventana de resultados 79
  • 80.
    Shared Steps  Conjunto de pasos que se repiten a lo largo de varios tests  Se pueden  Crear (Convertir un conjunto de pasos en shared)  Insertar  Crear e insertar en la posición actual 80
  • 81.
    Grabación de pasos  Marcar la casilla "Create action recording"  Los Shared Steps tienen 2 opciones añadidas  Start  Start and record  Se graban a parte 81
  • 82.
    Añadir parámetros altest  Formato @parametro  Se pueden definir valores 82
  • 83.
  • 84.
    Ejercicios 1. Ejercicio 4.2 página 76  Crear pasos compartidos 2. Ejercicio 4.3 página 78  Crear un test con parámetros 84
  • 85.
    Tests exploratorios conMTM  Durante un test pueden dispararse Bugs  Existen los Bugs exploratorios  Que me permiten enlazar un tiempo de ejecución  Y capturar acciones 85
  • 86.
    Tests exploratorios conMTM  A partir de estos Bugs exploratorios se pueden crear casos de test  Es útil tenerlo grabado en vídeo 86
  • 87.
    Tests exploratorios conMTM  Pasos recomendados 1. Ejecutar el test exploratorio 2. Si se encuentra un Bug anotarlo y generar un Bug Exploratorio 3. A partir de este Bug generar un caso de test nuevo 4. Verificar que este test reproduce el Bug 5. Una vez verificado se puede generar un Bug normal 87
  • 88.
    Ejercicios  Ejercicio 4.4 página 102  Test exploratorio con MTM  http://msdn.microsoft.com/en- us/vs2010trainingcourse_exploratorytesting 88
  • 89.
    Automatización de TestManuales  Para regresión  CodedUI  Generado a partir de un test manual grabado  Ejercicio 6.1 página 142  Automatizar un test manual  Examinar el [TestMethod] generado  Examinar el UIMap generado y sus parámetros 89
  • 90.
    Automatización de TestManuales  ¿Y las validaciones?  Manual  Validación Visual  Automático  Assert  CodedUI Test Builder  Test > Generate Code… > Use CodedUI Test Builder 90
  • 91.
    Automatización de TestManuales  Añadir más pasos  CodedUI Test Builder permite seguir grabando  Combinar test  Volver a generar código desde acciones grabadas 91
  • 92.
    Work Items  Test Case  Pueden existir casos de test creados en TFS  Se pueden importar a MTM  Requirement/User Story  Se asocian a suites de requisitos  Permiten mantener trazabilidad  Bug  Se pueden generar ante una ejecución fallida  Permiten dar feedback del error 92
  • 93.
    Asociar a WorkItems  Test Case – Work Item  Pestaña All Links  Test Case – Automatización  Pestaña Associated Automation  El proyecto asociado debe estar en TFS  También se puede enlazar desde el Test List Editor 93
  • 94.
    Asociar a WorkItems  Test Unitario – Test Case  Desde el Test List Editor  Create Test Case from Test  Asociar el Test Case con un requisito/historia 94
  • 95.
    5. Resolución deBugs El Work Item Bug IntelliTrace Resolver el Bug y asociar Cambios Asociar a un Build Tests Impactados por el cambio 95
  • 96.
    El Work ItemBug  Es distinto según la plantilla TFS usada 96
  • 97.
    El Work ItemBug  Puede detectarlo el cliente o el equipo  ¿Es realmente un Bug o es un cambio?  Es necesario un caso de test que lo reproduzca  ¿Es un Bug nuevo o algo que se creía arreglado?  Reactivar el Bug y el requisito asociado  ¿Tengo todos los estados que necesito?  Modificar las plantillas de procesos 97
  • 98.
    El Work ItemBug  Contiene información de reproducción  Paso a paso  Configuración del entorno  Vídeo  Capturas de pantalla  Comentarios del tester  Log de IntelliTrace 98
  • 99.
    IntelliTrace  Datos históricos capturas al ejecutar el test  Permite ver qué ha ocurrido sin tener código  Permite repetir el test 99
  • 100.
    IntelliTrace  Se pueden encontrar 2 tipos de Bug  Bug de Excepción  Fácil de depurar  Zona de datos de excepción del IntelliTrace  Bug Lógico  Difícil de rastrear  No hay un enlace directo al código 100
  • 101.
    Resolver el Bug  Supone un cambio en el código  Subido a repositorio  Y asociado a un Changeset  Asociarlo al Work Item del Bug  Y cambiar su estado a "Resolved" 101
  • 102.
    Asociar a unBuild  Un Changeset protegido no es nada sin Integración Continua  Disparar un Build Manual tras el check-in  Con el Changeset asociado al Build  Con el Work Item Bug asociado al Build  Detectando los Tests Impactados por el Changeset  Test de Regresión  Asignando una Cualidad de Build 102
  • 103.
    Asociar a unBuild 103
  • 104.
    Asociar a unBuild  Una vez ejecutado, asociar el Build al test  Desde MTM 104
  • 105.
    Ejecutar el Testde Regresión  Tests Impactados por el cambio  Recommended Tests en MTM 105
  • 106.
    Verificar que seha resuelto el Bug  Opción Verify Bug de MTM  Volver a grabar las acciones  Marcar el Bug como "Closed" 106
  • 107.
    6. Resultados deun Test Resultados de un Test Resultados de un Test de Carga Integrar los resultados en TFS Publicar los resultados del Test 107
  • 108.
    Resultados de unTest  MTM muestra los resultados de la última ejecución  Active (Azul)  Failed (Rojo)  Passed (Verde)  Blocked  Se pueden ver más detalles de los resultados 108
  • 109.
    Resultados de unTest  Estado Activo  Nunca se ha ejecutado  O se ha cambiado por un Bug a verificar  O es una copia de otra Suite y tiene que relanzarse  Estado Bloqueado  No se permite su ejecución  Depende de la metodología del equipo 109
  • 110.
    Resultados de unTest  "Results Overview" del menú Open  Resumen de los resultados de cada test  Permite gestionar varias ejecuciones a la vez 110
  • 111.
    Resultados de unTest  "Analyze Test Run"  Distingue tests manuales y automatizados  Está mas orientado a tests automatizados 111
  • 112.
    Resultados de unTest de Carga 112
  • 113.
    Resultados de unTest de Carga  Los resultados se almacenan a parte  Los gráficos sólo muestran información esencial  Existen distintas vista de los resultados  Gráfica 113
  • 114.
    Resultados de unTest de Carga  Vista Gráfica  4 gráficos que muestran distintos indicadores  Indicadores Clave  Carga de usuarios, errores/sg, violaciones de umbrales,…  Tiempos de respuesta  Sistema testado  Controlador y Agentes de Test 114
  • 115.
    Resultados de unTest de Carga  Vista Resumen  Estadísticas de las 5 páginas y 5 tests más lentos  Información de ejecución  Distintos resultados  Errores durante el test 115
  • 116.
    Resultados de unTest de Carga  Vista de Tabla  Resumen de los resultados en 2 tablas configurables  La tabla de detalles tiene un enlace al log del test 116
  • 117.
    Resultados de unTest de Carga  Vista de Detalle  Gráfico de actividad de los usuarios virtuales  Incluye filtros de los resultados 117
  • 118.
    Integración con TFS  TFS integra un servicio de Build Automatizado  Configurado mediante WWF  Se crea una definición basada en plantilla  Se dispara manual o automáticamente 118
  • 119.
    Integración con TFS  Se pueden configurar tests automáticos  Para dispararlos durante el Build  Indicar el fichero .vsmdi  Y la lista de tests a ejecutar 119
  • 120.
    Build Report  Cuando se ejecuta un build se genera un report  Informa de la ejecución y de los tests 120
  • 121.
    Publicar los resultados  Si el test se dispara desde un build  Los resultados se publican automáticamente  Base de Datos "Operational Store" de TFS  Si el test se dispara fuera de un build  Los resultados se mantienen en la máquina local  Se deben consolidar entre testers  Publicarlos desde la ventana Test Results 121
  • 122.
  • 123.
    7. Informes yMétricas Estructura de Informes OLAP Informes prediseñados Informes de resultados de Test Informes OLAP Métricas 123
  • 124.
    Estructura OLAP  TFS almacena Colecciones de Proyectos  Que migra a Data Warehouse (2 horas)  OLAP -> Cubo de datos 124
  • 125.
    Informes Prediseñados  Incluidos en el Team Project de TFS  Formato SQL Reporting Services  Formato Excel  Integrables en el portal de SharePoint 125
  • 126.
    Informes Prediseñados  Bug Status (página 244)  Vista temporal de Bugs y sus estados  Alarma si crece el número de Bugs activos o de alta prioridad, o si los Bugs no se cierran  Bug Trend (página 245)  Tendencia de aparición y resolución de Bugs  Alarmas si hay mucha diferencia entre los Bugs que aparecen y los Bugs que se cierran 126
  • 127.
    Informes Prediseñados  Reactivaciones (página 246)  Veces que un Bug se ha cerrado y vuelto a abrir  Alarma ante cualquier reactivación  Build Summary (página 249)  Resultados de los distintos Builds  Alarmas ante cualquier color que no sea verde o si no se ejecutan tests automatizados 127
  • 128.
    Informes Prediseñados  Stories Overview (página 250)  Información del progreso del proyecto  Requisitos cubiertos y calidad de los mismos  Interesante para entregar al cliente  Test Plan Progress (página 252)  Estado y resultados de los tests de un plan  Alarmas si crece el número de tests fallidos o que no se ejecutan (dependiendo del tipo de Bug) 128
  • 129.
    Informes Excel  2 modelos de informe  Informe de resultados de un test  Informe OLAP 129
  • 130.
    Informes Excel  Informe de resultados de un test  Desde los resultados de un Test de Carga  Create Excel Report  Los datos se almacenan en SQL Server 130
  • 131.
    Informes Excel  Informe de resultados de un test  Run Comparison genera comparativas de ejecución  Trend genera tendencias de ejecución  Elegir los resultados de ejecución a utilizar 131
  • 132.
    Informes Excel  Informe de resultados de un test 132
  • 133.
    Informes Excel  Informe OLAP  Conectar con el cubo TFS desde Data > From Other Sources > From Analysis Services 133
  • 134.
    Informes Excel  Informe OLAP  Crear una tabla de datos dinámicos (pivotes)  Elegir los datos a mostrar por filas, columnas o como filtro 134
  • 135.
    Métricas  Medidas tomadas de un proceso específico  Para mejorar el proceso  Tiempo  Calidad  Comparándolas con medidas pasadas  Hay que tener claro para qué se toman  Es esencial la cultura de la empresa  Cuadro página 272 135
  • 136.
    Métricas  Tasa de nuevos fallos (página 273)  Mide los HECHO falsos, el trabajo desperdiciado  O los errores de codificación  Se puede mejorar con TDD 136
  • 137.
    Métricas  Tasa de reactivaciones (página 276)  Mide los Bugs mal arreglados (¿mal documentado?) 137
  • 138.
    Métricas  Número de Bugs (página 278)  Totales  Por fase/iteración  Por característica/requisito  Por regresión  Se mejora con revisiones formales  Y con tests enfocados 138
  • 139.
    Revisiones Formales  Planificadas y periódicas  Agenda de revisiones  Qué se va a revisar y qué se espera del requisito  Developer(es), tester, guía  Buscando posibles bugs de manera constructiva  El objetivo es encontrar no arreglar ni culpar  Crear tareas tras la revisión 139
  • 140.
    8. Test Lab Máquinas Virtuales Entornos Virtuales Ejecución de Tests en Lab 140
  • 141.
    Test Lab  Lab Center 141
  • 142.
    Máquinas Virtuales  Máquinas virtuales Hyper-V  Se pueden crear desde plantilla  O importan máquinas creadas  Se gestionan desde la pestaña Library 142
  • 143.
    Entornos Virtuales  Conjunto de máquinas físicas/virtuales  Arrancadas para colaborar  Servidor  Cliente  Database 143
  • 144.
  • 145.
    Tests en LabCenter  Lo primero es configurarlo (Test Settings)  Hace falta un Controlador de Tests 145
  • 146.
  • 147.