ciclode calidadcontinua - danysoft · 2019-09-26 · componente, que por ejemplo está...

15
XII Encuentro Danysoft en Microsoft Abril 2015 Ciclo de calidad continua XII Encuentro Danysoft en Microsoft | Directos al código Jose García | Servicios Profesionales [email protected] | 916 638683 | www.danysoft.com Abril 2015 Sala 2 Team Foundation Server Segunda Sesión Primera Sesión Tercera Sesión Cuarta Sesión Automatización de casos de pruebas con Code UI Integración continua con Release Manager Pruebas de desarrollo Ciclo de calidad continua Sala 2 | Team Foundation Server Agenda

Upload: others

Post on 06-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Ciclo de calidad continuaXII Encuentro Danysoft en Microsoft | Directos al código

Jose García | Servicios [email protected] | 916 638683 | www.danysoft.com Abril 2015

Sala 2 Team Foundation Server

Segunda SesiónPrimera Sesión

Tercera Sesión Cuarta Sesión

Automatización de casos de pruebas con Code UI

Integración continua con Release Manager

Pruebas de desarrolloCiclo de calidadcontinua

Sala 2 | Team Foundation ServerAgenda

Page 2: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Y cuando todo se ha probado se firma la entrega

Clic aquíEscribe aquíVerificar el valor

Los analistas con el cliente crean el documento con requisitos

Los requisitos van a los desarrolladores

Y al Jefe de Calidad, que escribe los Casos de prueba par cada requisito

Cuando hay una Build disponible

Algunos tester hacer pruebas exploratorias

Y otros siguen los scripts

Cuando se encuentra un error, se envía un informe a los desarrolladores

Ciclo de QA Convencional

Gráfico de Microsoft Patterns & Practices

Ciclo de Vida de Aplicaciones Modernas

DefiniciónIdeación

DesarrolloDesde la Idea al software funcionando

MonitorizarImplementaciónTIEMPOS DE CICLOS

ORDENADOS

Page 3: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

De las Pruebas al Ciclo de Calidad Continua

Qué ofrece Visual Studio para el ciclo de calidad

Page 4: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Feedback Manager • Feedback• Pruebas

exploratorias

FeedBack Client:• Herramienta para

recoger feedback del cliente, mediante un asistente que permite grabar que se incorporan como Work Items.

Pruebas exploratorias• Feedback• Pruebas

exploratorias Prueba exploratoria:• Es una prueba manual. • Las pruebas manuales son las que se han hecho

desde siempre, aunque son una disciplina dentro de ingeniería de software.

• Ejecutas el sistema a ver qué encuentras.

Page 5: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Pruebas exploratorias• Feedback• Pruebas

exploratorias

Automatización de Prueba exploratoria:• Microsoft Test Manager (MTM) te

permite grabar lo que estás haciendo. Deberías seleccionar o crear un plan de pruebas y dentro de Testing Center eliges hacer Pruebas exploratorias.

• Si se encuentra un error se crea un Elemento de Trabajo tipo Bug

• También se puede crear un Caso de prueba que muestra los pasos dados.

Ejecutas tu aplicación

MTM graba tus acciones, pantallazos, comentarios y otros datos

La grabación facilita reproducir los errores

Y cuando hay actualizaciones en la aplicación, es más fácil volver a ejecutar la prueba

Trazabilidad de requisitos• Gestión de

requisitos• Definición criterios

de aceptación

Elementos de trabajo de TFS:• Trazabilidad de requisitos,

mediante Elementos de Trabajo como Productbacklog, Historias de Usuario, Tareas, Errores, etc.

• Los elementos de trabajo dependerán de la plantilla de procesos

Page 6: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Definición de criterios de aceptación• Gestión de

requisitos• Definición criterios

de aceptación

Casos de prueba:• Es una prueba manual.• Es un elemento de trabajo que permite saber

cuándo hemos completado un requisito y por tanto está vinculado a la historia de usuario, producto backlog, etc.

• Es una instancia específica de un requisito.• Se genera un script con los pasos en que se hace la

prueba.

Definición de criterios de aceptación• Gestión de

requisitos• Definición criterios

de aceptación

Automatización de Casos de prueba:• Normalmente no se pueden crear todos

los casos posibles – Se crean los que razonablemente hacen que se cumpla el criterio de aceptación.

• Con Microsoft Test Manager, se pueden automatizar y también crear conjuntos de pruebas y configuraciones de prueba que permitan probar el proyecto.

• Se crean antes de codificar como requisitos y después para documentar errores.

Page 7: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Definición de criterios de aceptación• Gestión de

requisitos• Definición criterios

de aceptación

Stroryboard:• El Storyboard puede ser la base para un

Caso de prueba.• Reduce el tiempo de los ciclos y evita el re-

trabajo mediantes definiciones claras, requisitos de software procesables.

• Enlazar los requisitos a las historias de usuario y a los elementos de trabajo en TFS

• Generar criterios de aceptación y casos de prueba desde los requisitos

Herramientas de calidad de código• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Herramientas de calidad de código:• Workflow de colaboración.

Peticiones de revisión de código

• Métricas• Análisis de código para

refactorizar

Page 8: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Control de código fuente• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Directivas de Protección:• Configurar las directivas para

recordar que hay que hacer varias tareas antes de proteger el código. Por ejemplo, Builds policy – si se intenta hacer check-in de código que no ha pasado la integración, avisa.

Pruebas Unitarias• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Pruebas unitarias:• Una prueba unitaria es un

método que invoca métodos y verifica su resultado. Normalmente la escribe el desarrollador, poco antes o después de escribir el código a probar

C#[TestClass]public class RooterTests{[TestMethod] // This attribute identifies the method as a unit test.

public void SignatureTest(){

// Arrange: Create an instance to test:var rooter = new Rooter();// Act: Run the method under test:double result = rooter.SquareRoot(0.0);// Assert: Verify the result:Assert.AreEqual(0.0, result);

}}

Page 9: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Pruebas Unitarias• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Pruebas unitarias:• Las Pruebas Unitarias son muy efectivas

contra la regresión: funciones que solían funcionar, pero que han sido dañadas por alguna actualización

• Las convenciones de las pruebas unitarias están definidas por la plataforma que se utilice para hacerlas

Pruebas Unitarias• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Pruebas unitarias:• Se puede pensar en la prueba unitaria

como ejemplos de cómo se utilizará el método que se está escribiendo

• Hay diferentes estrategias. Recomendada: Test First Development

Ciclo de prueba dentro del desarrollo:• Bajarse el código del control de fuentes• Ejecutar las pruebas existentes• Si algún requisito está obsoleto pero tiene

pruebas, borrar las pruebas• Para cada prueba:

• ROJO – escribir una prueba unitaria y asegurarnos de que falla

• VERDE – escribir el código para que la pase

• Refactorizar• Probar la cobertura de código

• La herramienta de cobertura de código te da una medida del porcentaje de código que ha sido cubierto por la prueba. Hay que intentar llegar a un 80%.

Page 10: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Pruebas Unitarias - Fakes• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Implementaciones Fakes:• Esta implementación se utiliza para aislar las pruebas. • Si el componente que se está desarrollando depende de otro

componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la situación. Entonces hay un problema para ejecutarlo.

• La solución es aislar el componente y reemplazar la dependencia por una implementación fake, que simule lo suficiente de su comportamiento.

Pruebas Unitarias - IntelliTrace• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

IntelliTrace:• Mantiene un log de los eventos clave

de la ejecución del código en modo depuración.

• Está en la versión Ultimate.

Page 11: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Pruebas Unitarias - IntelliTrace• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Coded UI Test:• Son para probar interfaces gráficos, que

además de las pruebas unitarias, debe incluir temas como presionar un botón o verificar que aparecen las ventanas y contenedores apropiados.

• CUITs son pruebas automatizadas que ejercitan el interfaz de usuario.

Al comenzar a grabar las acciones Visual Studio se minimiza y aparece el Coded UITest Builder en la parte inferior de la pantalla

Pruebas de desarrollo por capa• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Pruebas por capas:• Habría otras pruebas sobre las BBDD.• Hay herramientas en TFS que generan

datos de pruebas. • Hay herramientas en TFS para

comparar antes de distribuir, etc.

Page 12: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Automatización de Builds• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Integración Continua:• Las Builds de equipo pueden incluir las pruebas para la verificación de la integración de código. • Recomendaciones:

• Proteger todo el código al menos una vez por semana• Antes de proteger el código, bajarse la última versión por si hubiera cambios• Ejecutar el comando Run All Impacted Test, para saber qué pruebas están afectadas por los

cambios (hay que hacer una línea base cuando bajas el código).• Comprobar la cobertura de código (80% como meta)• Lanzar la Build nocturna o rolling build.

Automatización de Builds• Herramientas de calidad de código• Buenas prácticas en el control de

código fuente• Pruebas de desarrollador: pruebas

unitarias y Coded UI• Automatización de Builds

Tipos de Builds:• Manual• Integración continua – Hace una build

en cada check-in• Rolling Build – requiere menos recursos

porque solo tira un build cada vez.• Gated check-in: cada check-in es build y

probado aisladamente y solo si pasa pruebas se funde con el resto del código

• Agendados – para los más grandes normalmente

Page 13: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Planificación y gestión de pruebas• Planificación y gestión de pruebas• Ejecución de pruebas e informes

ejecución• Lab management

Creación del plan de pruebas:• Se crean tantos planes de prueba como

necesitemos. • Los planes de pruebas permiten la creación

fácil de casos de prueba manuales y de conjuntos de pruebas, y su gestión.

Ejecución de pruebas e informes• Planificación y gestión de pruebas• Ejecución de pruebas e informes

ejecución• Lab management

Ejecución de pruebas e informes de ejecución:• Además hay que ejecutar y hacer seguimiento de

los planes de pruebas, conjuntos de pruebas, y casos de pruebas a través de los criterios de aceptación.

• Los esfuerzos de pruebas son seguidos con facilidad y las pruebas ejecutan análisis que muestran el estado de cada caso de prueba y un resumen visual de los resultados de un conjunto de pruebas.

• Otros informes pre construidos proporcionan soporte para el seguimiento del progreso del plan de pruebas, análisis de fallos en pruebas, casos de pruebas y reactivación de errores

Page 14: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Entorno de laboratorio – Lab Enviroment• Planificación y gestión de pruebas• Ejecución de pruebas e informes

ejecución• Lab management

Lab Management (MTM):• Un entorno de laboratorio es un grupo de

ordenadores gestionados como una sola unidad, en el cual se despliega el sistema bajo pruebas.

• Evitar tener que estar configurando máquinas y entornos de pruebas.

• No solo asigna máquinas a los entornos de prueba, también ayuda a crear nuevos entornos, los configura para pruebas, despliega el software y configura pruebas.

Un entorno de laboratorio permite:

‐ Configurar un flujo de trabajo build‐

despliegue‐prueba

‐ Mostrar los resultados de las pruebas en un 

gráfico, relacionados con los requisitos

‐ Instala automáticamente agentes de prueba 

en cada máquina, permitiendo recoger los 

datos de las pruebas

‐ Tiene una consola para monitorizar todas las 

máquinas

Monitorización en pre-producción• Monitorización en entornos de

pre-producción y producción• Gestión integrada de incidentes

Pruebas de Carga y Rendimiento:• En Visual Studio Ultimate se incluyen pruebas

de carga y pruebas de rendimiento para web y servicios.

• Configuraciones de pruebas flexibles (mix de navegadores, patrones de carga, red, etc.)

• Gráficos en tiempo real y gráficas de datos para análisis.

• Capacidad de reutilizar las pruebas para comprobar la capacidad en producción.

• Tipos de Pruebas de carga: Smoke, cargas bajas y tiempos cortos. Stress, cargas altas y duración alta. Rendimiento. Planificación de capacidades.

Page 15: Ciclode calidadcontinua - Danysoft · 2019-09-26 · componente, que por ejemplo está desarrollando otra persona al mismo tiempo, o que tenga un comportamiento variable según la

XII Encuentro Danysoft en Microsoft Abril 2015

Más InformaciónInformación ampliada sobre licencias, qué incluye cada edición, y utilida-des software en:

shop.danysoft.com

Información ampliada sobre formación, consultoría y cesión profesionales en:

www.danysoft.com/servicios

Valor añadido a la comunidad en forma de eventos como este, artículos técnicos o revistas… en:

www.danysoft.com/comunidad

+50 vídeos en castellano sobre Visual Studio, SQL Server, TFS y soluciones Microsoft en:

www.youtube/danysoftech

GraciasPara más información contacta con Danysoft [email protected] | www.danysoft.com | 916 638683