1. Transformando testes manuais para testes automatizados – Visual Studio 2012
Qualidade de Software
Adriano Bertucci
Microsoft Visual Studio ALM MVP
adriano.bertucci@konia.com.br
Twitter: @adrianobertucci
2. Quem sou eu?
• Sócio/Diretor Konia Tecnologia;
• Microsoft Visual Studio ALM MVP;
• Palestrante Microsoft;
• Adora jogar FIFA no XBOX;
• Corithiano acima de tudo!
adriano.bertucci@konia.com.br
Twitter: @adrianobertucci
3. Qualidade uma necessidade
Considerando que desenvolvimento de
software representa 25% dos gastos em
software, identificar a causa dos problemas e
falhas nos projetos de desenvolvimento se
torna uma necessidade.
4. Qualidade uma necessidade
− O sucesso de um projeto de software pode ser definido por um
triângulo:
Tempo (Prazo) Funcionalidade Qualidade
Orçamento (Custo)
Funcionalidades
− Nos acostumamos em aceitar 2 dos 3
Consideramos isso sucesso?
− Atualmente o triângulo se transformou
em um quadrado;
Qualidade é a quarta dimensão
Prazo Orçamento
7. Passado
1962 – Acidente com Veers, $18.5M
1978 – Colapso do Hartford Coliseum, $90M
8. Presente
− Testador reporta um erro após passar horas coletando
evidências de um problema.
− Desenvolvedor diz que não tem informações suficientes.
− Testador refaz os testes coletando mais evidências.
− Desenvolvedor diz que não consegue reproduzir o erro
em sua máquina.
12. Índices de sucesso em projetos
Taxa de falha aceitável?
− Baseado em tempo, orçamento e funcionalidades especificadas entregues,
68% dos projetos nunca foram colocados em produção ou foram cancelados.
Extreme Chaos, The Standish Group International, Inc. – 2009
Acima do Custo estimado: 45%
Acima do Prazo esperado: 63%
Funcionalidades entregues: 67%
13. Impacto no desenvolvimento
Desenvolvedores sentem-se desmotivados
• Bug ping/pong
• Falta de acesso a ambientes seguros
• Tempo para preparação do ambiente excessivo
Testadores não são respeitados
• Preparar testes e ambiente consomem 30%-50% do ciclo de testes
• Maioria dos defeitos fechados como “não-reproduzíveis””
• Ferramentas não integradas ao ciclo de desenvolvimento
Impacto no negócio
• Falta de agilidade para responder ameaças ou oportunidades
• Alta taxa de falha em projetos
• Quem sente “dor” é o usuário final
14. Problemas
• “Visibilidade do andamento do projeto”
• “Não existe comunicação na equipe”
• “Difícil conciliar necessidade do usuário com riscos”
• “Modelos de desenvolvimento complexo”
• “Soluções não são testadas”
15. Causas
“testadores gastam “um requisito mudou,
muito tempo testando quais testes precisam ser
a mesma coisa” feitos?”
“desenvolvedores e testadores
não falam a mesma língua e
trabalham em silos”
“ferramentas são caras “desenvolvedores dizem
(tempo, licenças, que os defeitos não servem
pessoas)” para nada”
“quando o software
estará pronto?”
17. O que dizer sobre P.O.G?
• “A culpa é do Hardware!”
desenvolvedor de software sobre POG
• “A culpa é do Software!“
técnico de manutenção de hardware sobre POG
• “A culpa é da rede!”
vendedor de PC
19. O que fazer?
• Padronizar
• Arquitetar
• Testar
• Ter atitude
• Capacitar
• Organizar
• Integrar
• Fazer manutenção
• Entregar rapidamente
20. Solução? ALM!
• ALM (Application Lifecycle Management, Gerenciamento do Ciclo
de Vida de Aplicações):
• É a coordenação das atividades do ciclo de vida de desenvolvimento,
incluindo requisitos, modelagem, desenvolvimento,
construção, testes,
manutenção e
operações
21. Desenvolvedor
Designer Profissional de Banco
de Dados
Arquiteto
Testador
Gerente de TI ou
Analistas de Negócios de Projetos
Relatório em Tempo Real
Defeitos – Bug Tracking Metodologia & Processo de Análise de Código
Controle de Tarefas Desenvolvimento Documentação
Requisitos de Negócios Automação de Compilação de Projeto
(build) Ferramentas de Arquitetura
Controle de Versão
Avançado Testes Web Ferramentas para Banco de
Teste de Carga Dados
Testes Unitários
23. Ciclo de Vida dos Testes
Cenário
Automação Planejamento
Validação Especificação
Execução
24. Segmentação dos testes
Generalista Especialista
Testes manuais Algumas scripts Scripts Codificação Grande experiência
em código
Scripts para setup AlgumaMaioria das
Testes
70% dos testes
do lab, massa experiência em
automatizado
ferramentas de testes
ocorrem aqui
dados código
foca aqui
Caixa Preta
Caixa Branca
Testes API
25. Visual Studio 2012
Generalista Especialista
Testes manuais Algumas scripts Scripts Codificação Grande experiência em
código
Scripts para setup do Alguma experiência em Testes automatizado
lab, massa dados código
Load Test
Web Test
Microsoft Test Runner Coded UI Test
Unit Testing
Gerenciamento de casos de teste
Gerenciamento de laboratórios
Coletores de dados (IntelliTrace™, Impacto de testes, Metricas…)
Team Foundation Server Relatórios
26. Analista de Qualidade
• Gestão/Planejamento de Testes
• Testes manuais
• Testes Unitários
• Testes Funcionais de UI
• WinForms, WPF, IE
• Testes de Desempenho
• Web sites
• Carga / estresse
28. Testes de Carga e Desempenho
Com usuários
virtuais ilimitados!
29. Execução e Automação
• Ferramenta independente
• Permite a execução de casos de
teste
• Coleta dados de sistema e logs de
eventos
• Captura imagens de tela e vídeos
• Automatiza testes de aplicativos
Windows Forms, WPF e Web
30. Derrubando as barreiras
• Bugs ricos
• Passos reproduzidos
automaticamente
• Vídeos como evidência
• Informações de sistema
• IntelliTrace™
• Imagens do ambiente de
testes completo
31. Gestão Laboratórios Integrado
• Rapidamente restaura/derruba
um ambiente
• Bugs podem guardar imagem
do ambiente
• Integração com processo de
build
34. O que buscamos em um profissional?
• Transparência
• Atitude
• Time
• Valorização do profissional
• Descontração
• Comprometimento
• Respeito
35. O que oferecemos…
• Rendimento Compatível;
• Aprendizado Garantido;
• Ambiente Descontraído;
• Plano de Carreira;
36. Como participar
Email para: carreira@konia.com.br
Assunto: Eu sou um TALENTO!
Conteúdo:
• Porque me considero um talento em TI?
• Que professional sou eu?
• Meus pontos fortes e meus pontos fracos.