BaixadaTech 2012 - Qualidade de Software

Post on 11-Jun-2015

2.501 views 6 download

Transcript of BaixadaTech 2012 - Qualidade de Software

QUALIDADE DE SOFTWARE COM

VISUAL STUDIO 2012

ADRIANO BERTUCCI

• Sócio/Diretor da Konia Tecnologia• Microsoft Visual Studio ALM MVP• Fascinado por:

– Conhecimento;– História;– Filosofia;

• Adora jogar um FIFA (BertucciLife)

E-mail: adriano.bertucci@konia.com.br | Twitter: @adrianobertucci

Desafios – Problemas comuns

• Requisitos de negócios não são gerenciados de forma efetiva

• Ferramentas e dados dispersos• Testes não alinhados aos objetivos de negócios • Falta de orientações e processos definidos• Problemas de comunicação entre os membros da

equipe• Visibilidade limitada do status do projeto para

tomada de decisões

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 eoperações

Analista de Negócio Gerente de

Projeto

Time de Desenvolvimento

Test

Operações

RequisiçãoDe Mudança

Cenários

Requerimentosde Negócio

Bugs

Tarefas

Erros emProdução

Builds

Implantação

Processo de Trabalho

Itens de trabalho são a unidade de comunicação entre as pessoas do time

Como esta a saúde do seu projeto?

• Cronograma e controle de atividades?• Controle de defeitos?• Quais cenários foram testados com sucesso?• Cobertura do código testado?• Rotatividade do código – estabilização?• Requisições de mudanças gerenciadas

adequadamente?• Controle sobre que fontes foram alterados por

causa de determinado requisito / correção?

Indicadores de Qualidade

Planejamento de Projetos

Relatórios em Excel

Desempenho da Equipe

Requisitos Implementados

Defeitos – Bug Tracking

Controle de Tarefas

Requisitos de Negócios

Controle de VersãoAvançado

Metodologia & Processode 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 Bancode Dados

Relatório em Tempo Real

Testador

Desenvolvedor

Arquiteto

Gerente de TI ou de ProjetosAnalistas de Negócios

DBADesigner

QUALIDADE DE SOFTWARE?

QUALIDADE DE SOFTWARE

• A qualidade de software é uma área deconhecimento da engenharia de software queobjetiva garantir a qualidade do softwareatravés da DEFINIÇÃO e NORMATIZAÇÃO dePROCESSOS DE DESENVOLVIMENTO.

Fonte: Wikipedia

Qualidade – Pontos Importantes

Teste ≠ QualidadeAntes -> Durante -> Depois

Desafios comuns para qualidade

Qualidade uma necessidade

• O sucesso de um projeto de software pode ser definido por um triângulo:

• Nos acostumamos em aceitar 2 dos 3– Consideramos isso sucesso?

Funcionalidade

Prazo Orçamento

QualidadeFuncionalidade

Prazo Orçamento

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

Caminho para o sucesso

Ideia

Solução

Impacto de uma falha

1978 – Colapso do Hartford Coliseum, $90M

1962 – Acidente com Veers, $18.5M

Impacto no cicloDesenvolvedores 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

O que fazer?• Padronizar

• Arquitetar

• Testar

• Ter atitude

• Capacitar

• Organizar

• Integrar

• Fazer manutenção

• Entregar rapidamente

Teste de Software

Segmentação dos testes

Generalista Especialista

Testes manuais Algumas scripts

Scripts para setup do lab, massadados

Scripts

Alguma experiênciaem código

Codificação

Testes automatizado

Grande experiênciaem código

Caixa Preta

Caixa Branca

Testes API

70% dos testes

ocorrem aqui

Maioria das

ferramentas de testes

foca aqui

O que fazer?

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

O que fazer?

Cenário

Planejamento

Especificação

Execução

Validação

Automação

DEMO

DÚVIDAS????

E-mail: adriano.bertucci@konia.com.br Twitter: @adrianobertucci

PROGRAMA JOVEM TALENTO

O que buscamos em um profissional?

• Transparência

• Atitude

• Espírito de Equipe

• 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 gostaria de atuar com ALM?

• Porque me considero um talento em TI?

• Que professional sou eu?

• Meus pontos fortes e meus pontos fracos.