menos teste e mais qualidade - como equilibrar essa equação?

Post on 27-Jun-2015

834 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Menos Teste e Mais Qualidade:Como equilibrar essa equação?

Sobre o Palestrante

• Igor Abade (@igorabade)– Microsoft MVP, Visual Studio ALM– Referência nacional em

Team Foundation Server (TFS)• Sócio-diretor da Lambda3– Consultoria ALM/TFS,

Agilidade/Scrum, Arquitetura– Desenvolvimento de Sistemas– Treinamentos– Parceira Microsoft Gold ALM

Menos Teste, Mais QualidadeMenos teste, mais qualidade

Como equilibrar a equação?

Menos teste?!?!

• Teste custa caro– Novos times– Maior tempo de

projeto• Desenvolvedores

sempre testaram• “Sempre entreguei

meus projetos”• Afinal, preciso

mesmo testar?

Não tenho orçamento para montar um time

de testes

Testes de unidade? Sem chance! Meu cliente não vai pagar para meu time

trabalhar dobrado!

No final meu cliente vai testar tudo de novo

mesmo...

Bugs em software custam à economia dos EUA um valor estimado de US$ 59,5 bilhões [1]

Na média, desenvolvedores profissionais cometem de 15 a 50 erros a cada mil linhas de código que eles escrevem [2]

Em 2009, projetos cancelados custaram US$ 67 bilhões; atrasos em outros projetos custaram mais US$ 21 bilhões [3]

Por que testar software?

[1] http://web.archive.org/web/20090610052743/http://www.nist.gov/public_affairs/releases/n02-10.htm[2] Code Complete, 2nd Edition - http://cc2e.com/[3] Standish Group, “The Chaos Report”- http://www.standishgroup.com/newsroom/chaos_2009.php

Por que testar? Exemplos práticos

• USS Yorktown, SmartShip– Tripulante digitou 0 num campo de um formulário– “Divide By Zero” desligou a propulsão– Parado na água por 2h45min

• Ariane 5, vôo 501– Reaproveitou código do Ariane 4, mas seguiu

caminho diferente devido a mudanças – Conversão de 64bit para 16bit causou overflow– Sem tratamento de exceções (melhor

desempenho)• F-22 Raptor

– Em operação no Japão pela primeira vez– Cruzou Linha Internacional de Data. Computadores

travaram– Tempo bom permitiu seguir os petroleiros ao Havaí

Controle de Qualidade de Software

TESTE

=QUALIDADE

Controle de Qualidade de Software

• Teste é só um dos aspectos

• Envolve processo de desenvolvimento

• É preciso garantir qualidade em três momentos:

Antes

DuranteDepois

Controle de Qualidade: Antes

• Tudo começa com processo de desenvolvimento

• “Fazer o certo, do jeito certo, na hora certa”– Desenvolvimento Ágil– Gestão de Requisitos– Arquitetura / Design

Desenvolvimento Ágil: O Manifesto Ágil

Indivíduos e interação entre eles mais que processos e ferramentas

Software em funcionamento mais que documentação abrangente

Colaboração com o cliente mais que negociação de contratos

Responder a mudanças mais que seguir um plano

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os

itens à esquerda.

www.manifestoagil.com.br

Lean

Agile

Scrum

XP

Framework de gestão ágil de projetosPapéis e cerimônias, melhoria contínua dos times, entrega rápida, limitar trabalho à capacidade

Cultura ágil, mindset e práticasEliminar desperdícioRespeitar as pessoas, foco principalmente em P&D

Otimizar todo o fluxo Foco na otimização de todo o processo de negócios

Práticas de engenhariaTrazer qualidade para dentro do desenvolvimento – Automação, integração contínua, revisão por pares etc.

Práticas Ágeis

Scrum

• Iterativo• Comunicação• Auto-organizado

• Define–Papéis–Artefatos–Eventos

Elementos do Scrum

Scrum Master

Product Owner

Team

Planejamento Ágil no TFS “11”demo

Gestão de Requisitos: Storyboarding

Arquitetura: Diagrama de Camadas

Controle de Qualidade: Durante

• Qualidade durante construção do código– Testes de Unidade– Análise de Código– Automação de Testes– Integração Contínua

• Processo de Testes– Testes Manuais– Gestão de

Laboratório

XP: Extreme Programming

TDD: Test-driven Development

• Integração Contínua é uma prática

• Integrar código cedo e com frequência, para evitar “Integration Hell"

• Objetivo final é “parar e consertar” o mais cedo possível

CI: Continuous Integration

Testes de Unidadedemo

Generalista EspecialistaTeste Manual Poucos scripts

Cria scripts para configurar ambiente, criar dados

Muitos scripts

Algum conhecimento de programação

Programação

Desenvolve rotinas de automação de testes

Conhecimento avançado de programação

Testes de “Caixa Preta”

Testes de “Caixa Branca”

Testes API

70% dos testesacontecem aqui

Maioria das ferramentas mira aqui

Processo de Testes

Execução e Automação de Testes

• Microsoft Test Manager– Planejamento, gestão e

execução de casos de teste

– Coleta dados de sistema e logs de eventos

– Captura imagens de tela e vídeos

– Fast-forward para aplicativos Windows Forms, WPF e Web

Automação de Testes de UI

• CodedUI Tests– Gravador de Ações– Geração a partir de

casos de teste manuais

– Scripts resilientes– .NET (C#, VB)– Windows Forms, WPF,

Web (IE & Firefox), outras plataformas

Gestão de Laboratórios

• Laboratórios Virtuais

• Automação de Implantação

• Bibliotecas de VMs

Microsoft Test Managerdemo

Relatório: Requisitos Implementados

Relatório: Evolução dos Testes

Controle de Qualidade: Depois

• Aplicação em produção– Detecção de Erros– Captura Detalhada– Relatórios e Bugs

Teste de Carga

• Geração de Carga• Testes /

Monitoramento de Servidores (Web, SQL…)

• Carga Distribuída• Usuários

ilimitados

IntelliTrace: Depuração Histórica

System Center 2012 Operations Manager

• Monitoramento em tempo real de aplicações– Solução de problemas na sessão do usuário– Coleta de dados de exceções Javascript

• Monitoração de desempenho a partir da perspectiva do browser– HTTP, AJAX, JavaScript

• Degradação de Desempenho – Tamanho de HTML, imagens, scripts, CSS– Latência de rede, desempenho do servidor

• Informações Estatísticas– Contadores por aplicação, página, IP– Tempo médio de execução no cliente,

falhas/seg, etc.

Intellitracedemo

Desenvolvimento

Testes

Implantação

Fase do software

Custo dos bugsCusto dos Bugs

dúvidas?

Your Resources:MSDN / TechNet

http://msdn.microsoft.com/pt-br/http://technet.microsoft.com/pt-br/

• Biblioteca & Artigos Técnicos (do Brasil)• Downloads/Galeria (SDKs, Code samples,

documentação)• Social Network – pergunta um IT Pro • Como trabalhar com Microsoft Products• TechNet Wiki – voz da experiência e como fazer• Learn, learn, learn

@IgorAbadeblog.lambda3.com.br/L3/IgorAbade

top related