44
Visual Studio ALM Qualidade de Software Adriano Bertucci Especialista em Soluções ALM Microsoft MVP Visual C# @ adrianobertucci adriano.bertucci http://www.adrianobertucci.com [email protected]

Qualidade de software com Visual Studio ALM

Embed Size (px)

Citation preview

Page 1: Qualidade de software com Visual Studio ALM

Visual Studio ALM

Qualidade de Software

Adriano Bertucci

Especialista em Soluções ALM

Microsoft MVP Visual C#

@adrianobertucci

adriano.bertucci http://www.adrianobertucci.com

[email protected]

Page 2: Qualidade de software com Visual Studio ALM

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.

Page 3: Qualidade de software com Visual Studio ALM

− O sucesso de um projeto de software pode ser definido por um triâ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 3 Consideramos isso sucesso?

− Ainda consideraremos 2 das 4 dimensões?

Funcionalidade

Prazo Orçamento

Qualidade uma necessidade

Page 4: Qualidade de software com Visual Studio ALM

Ideia

Solução

Caminho para o sucesso...

Page 5: Qualidade de software com Visual Studio ALM

Como chegamos até aqui?

Page 6: Qualidade de software com Visual Studio ALM

1978 – Colapso do Hartford Coliseum, $90M

1962 – Acidente com Veers, $18.5M

Passado

Page 7: Qualidade de software com Visual Studio ALM

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.

Page 8: Qualidade de software com Visual Studio ALM

Ei, voce informou

“Não consigo

reproduzir” no

defeito que enviei!

Claro! Na minha

máquina funciona!

Testador Desenvolvedor

Presente

Page 9: Qualidade de software com Visual Studio ALM

Presente

Testador

Você tentou

reproduzir no meu

ambiente de teste?

Não, porque você

está usando. Pare

os seus testes que

eu verifico.

Desenvolvedor

Page 10: Qualidade de software com Visual Studio ALM

Ainda não consegui

reproduzir! Suas

informações não

estão claras.

Certo, vou parar meus

testes e aí você

assume, olha os logs e

refaz os passos.

Testador Desenvolvedor

Presente

Page 11: Qualidade de software com Visual Studio ALM

Presente

Testador Desenvolvedor

Page 12: Qualidade de software com Visual Studio ALM

Futuro − Aplicações em ambientes complexos e

distribuídos

− Software + Serviços

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

Page 13: Qualidade de software com Visual Studio ALM

Preço da qualidade?

Page 14: Qualidade de software com Visual Studio ALM

Í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.

Acima do Custo estimado: 45%

Acima do Prazo esperado: 63%

Funcionalidades entregues: 67%

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

Page 15: Qualidade de software com Visual Studio ALM

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”

Page 16: Qualidade de software com Visual Studio ALM

“um requisito mudou,

quais testes precisam ser

feitos?”

Causas

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

Page 17: Qualidade de software com Visual Studio ALM

O que fazer? − Padronizar

− Arquitetar

− Testar

− Ter atitude

− Capacitar

− Organizar

− Integrar

− Fazer manutenção

− Entregar rapidamente

Page 18: Qualidade de software com Visual Studio ALM

Bugs Existem?

Page 19: Qualidade de software com Visual Studio ALM

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

Retirado do http://desciclo.pedia.ws

Page 20: Qualidade de software com Visual Studio ALM

Desenvolvemos a um bom tempo

Page 21: Qualidade de software com Visual Studio ALM

POG é inadimisível!

− Por isso temos que estudar!

Page 22: Qualidade de software com Visual Studio ALM

Desafios comuns para qualidade

Page 23: Qualidade de software com Visual Studio ALM

Testador Desenvolvedor

Page 24: Qualidade de software com Visual Studio ALM

Impacto 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

Page 25: Qualidade de software com Visual Studio ALM

Visual Studio 2010

Page 26: Qualidade de software com Visual Studio ALM

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

Segmentação dos testes

Caixa Preta

Caixa Branca

Testes API

70% dos testes

ocorrem aqui

Maioria das

ferramentas de testes

foca aqui

Page 27: Qualidade de software com Visual Studio ALM

Team Foundation Server Relatórios

Web Test

Load Test

Coded UI Test

Unit Testing

Gerenciamento de casos de teste

Gerenciamento 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 2010

Page 28: Qualidade de software com Visual Studio ALM

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

Page 29: Qualidade de software com Visual Studio ALM

Testes Funcionais

www.actiongroup.com.br

Page 30: Qualidade de software com Visual Studio ALM

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

Page 31: Qualidade de software com Visual Studio ALM

Derrubando as barreiras

− Bugs ricos

− Passos reproduzidos automaticamente

− Vídeos como evidência

− Informações de sistema

− IntelliTrace™

− Imagens do ambiente de testes completo

Page 32: Qualidade de software com Visual Studio ALM

Testes de Carga e Desempenho

Com usuários

virtuais ilimitados!

Page 33: Qualidade de software com Visual Studio ALM

Gestão Laboratórios Integrado

− Rapidamente restaura/derruba um ambiente

− Bugs podem guardar imagem do ambiente

− Integração com processo de build

Page 34: Qualidade de software com Visual Studio ALM
Page 35: Qualidade de software com Visual Studio ALM

O que buscamos?

− Qualidade

− Evolução

− Chega de apagar incêndios

Page 36: Qualidade de software com Visual Studio ALM

Perguntas do dia a dia…

Page 37: Qualidade de software com Visual Studio ALM

O que tem que ser feito? Sistemas novos

− UML

− Component Diagram

− Class Diagram

− Sequence Diagram

− Activity Diagram

− Use Case Diagram

Page 38: Qualidade de software com Visual Studio ALM

Mas como fazer? Sistemas existentes

− Entendo sistemas existentes

− Código pode ser de difícil manutenção.

− Identificação via DEBUG

− Qual o fluxo atual do sistema?

− Quais são suas dependências?

Page 39: Qualidade de software com Visual Studio ALM

Dependency Graph

Page 40: Qualidade de software com Visual Studio ALM

Sequence Diagram

Page 41: Qualidade de software com Visual Studio ALM

Estamos fazendo certo? Garantindo qualidade

− Comunicação e Integridade

− Informar ao time qual modelo seguir.

− O mais importante garanta que eles estão seguindo.

Page 42: Qualidade de software com Visual Studio ALM

Layer Diagram

Page 43: Qualidade de software com Visual Studio ALM
Page 44: Qualidade de software com Visual Studio ALM

Adriano Bertucci

Especialista em Soluções ALM

Microsoft MVP Visual C#

@adrianobertucci

adriano.bertucci http://www.adrianobertucci.com

[email protected]