Qualidade de Software com Visual Studio 2012

Preview:

DESCRIPTION

Palestra na ETEC em 17 de outubro de 2012.

Citation preview

Qualidade de SoftwareTransformando testes manuais para testes automatizados – Visual Studio 2012

Adriano BertucciMicrosoft Visual Studio ALM MVP

adriano.bertucci@konia.com.br

Twitter: @adrianobertucci

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

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.

Qualidade uma necessidade

− O sucesso de um projeto de software pode ser definido por umtriângulo:Tempo (Prazo)

Orçamento (Custo)

Funcionalidades

Funcionalidade

Prazo Orçamento

Qualidade

− Atualmente o triângulo se transformou em um quadrado;Qualidade é a quarta dimensão

− Nos acostumamos em aceitar 2 dos 3Consideramos isso sucesso?

Funcionalidade

Prazo Orçamento

Ideia

Solução

Caminho para o sucesso...

Como chegamos até aqui?

1978 – Colapso do Hartford Coliseum, $90M

1962 – Acidente com Veers, $18.5M

Passado

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.

Testador Desenvolvedor

Presente

• Aplicações em ambientes complexos e distribuídos

• Software + Serviços

• Tecnologia Multi-Touch, Tables, Smarphones, etc.

Futuro

Preço da qualidade?

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.

Acima do Custo estimado: 45%

Acima do Prazo esperado: 63%

Funcionalidades entregues: 67%

Extreme Chaos, The Standish Group International, Inc. – 2009

Índices de sucesso em projetos

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

• “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”

Problemas

“um requisito mudou, quais testes precisam ser feitos?”

“testadores gastam muito tempo testando a mesma coisa”

“ferramentas são caras (tempo, licenças, pessoas)”

“desenvolvedores e testadores não falam a mesma língua e trabalham em silos”

“quando o software estará pronto?”

“desenvolvedores dizem que os defeitos não servem para nada”

Causas

Bugs existem?

• “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

O que dizer sobre P.O.G?

POG é inadmissível!

• Por isso temos que estudar!

O que fazer?

• Padronizar

• Arquitetar

• Testar

• Ter atitude

• Capacitar

• Organizar

• Integrar

• Fazer manutenção

• Entregar rapidamente

• ALM (Application Lifecycle Management, Gerenciamento do Ciclode Vida de Aplicações):

• É a coordenação das atividades do ciclo de vida de desenvolvimento, incluindo requisitos, modelagem, desenvolvimento,construção, testes,manutenção eoperações

Solução? ALM!

Defeitos – Bug Tracking

Controle de Tarefas

Requisitos de Negócios

Controle de VersãoAvançado

Metodologia & Processo de Desenvolvimento

Automação de Compilação(build)

Testes Web

Teste de Carga

Testes Unitários

Análise de Código

Documentaçãode Projeto

Ferramentas de Arquitetura

Ferramentas para Banco de Dados

Relatório em Tempo Real

Testador

Desenvolvedor

Arquiteto

Gerente de TI ou de ProjetosAnalistas de Negócios

Profissional de Banco de Dados

Designer

Ciclo de Vida dos Testes

Cenário

Planejamento

Especificação

Execução

Validação

Automação

Generalista Especialista

Testes manuais Algumas scripts

Scripts para setup do lab, massadados

Scripts

Algumaexperiência emcódigo

Codificação

Testes automatizado

Grande experiênciaem código

Segmentação dos testes

Caixa Preta

Caixa Branca

Testes API

70% dos testes

ocorrem aqui

Maioria das

ferramentas de testes

foca aqui

Team Foundation Server Relatórios

Web Test

Load Test

Coded UI Test Unit Testing

Gerenciamento de casos de testeGerenciamento de laboratórios

Microsoft Test Runner

Coletores de dados (IntelliTrace™, Impacto de testes, Metricas…)

Generalista Especialista

Testes manuais Algumas scripts

Scripts para setup do lab, massa dados

Scripts

Alguma experiência em código

Codificação

Testes automatizado

Grande experiência em código

Visual Studio 2012

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

Testes Funcionais

www.actiongroup.com.br

Testes de Carga e Desempenho

Com usuários

virtuais ilimitados!

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 aplicativosWindows Forms, WPF e Web

Derrubando as barreiras

• Bugs ricos

• Passos reproduzidos automaticamente

• Vídeos como evidência

• Informações de sistema

• IntelliTrace™

• Imagens do ambiente de testes completo

Gestão Laboratórios Integrado

• Rapidamente restaura/derruba um ambiente

• Bugs podem guardar imagem do ambiente

• Integração com processo de build

Programa de TalentosKonia Tecnologia

O que buscamos em um profissional?

• Transparência

• Atitude

• Time

• Valorização do profissional

• Descontração

• Comprometimento

• Respeito

O que oferecemos…

• Rendimento Compatível;

• Aprendizado Garantido;

• Ambiente Descontraído;

• Plano de Carreira;

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.