MPT.BR MELHORIA DO PROCESSO DE TESTE BRASILEIRO Emerson Rios rios.emerson@gmail.com
A Primeira Missa no Brasil Victor Meirelles - 1861 Ainda hoje alguns desenvolvedores criam softwares e depois rezam para que nenhum defeito ocorra em produção
Softwares com defeitos em produção deixam o usuário nervoso com toda razão. Entendeu ou eu vou ter que explicar novamente?
O que é teste de software? Testar ou testar bem esta é a questão
O que é teste de software? MARTIN POL Em linhas gerais, podemos dizer que o objetivo dos testes é encontrar defeitos: desta forma os testes são conduzidos para demonstrar a ausência de qualidade expressa pela presença de defeitos, para tal se faz necessário um processo (planejamento, especificação, execução, análise de resultados), considerando-se sempre os riscos do negócio e a qualidade do produto. (visão do processo, projeto, requisito, risco do negócio e a qualidade para o negócio) Obs.: Foram condensadas as três definições existentes no livro numa única definição. Fonte: Software Testing A Guide to the Tmap Approach Martin Pol e outros. 5
DEFEITO OU INCIDENTE OU...
História O ENIAC (Electronic Numerical Integrator and Computer), primeiro computador digital completamente eletrônico (1947), também contribuiu ao uso da palavra. Ele era movido a válvulas e, assim, atraía milhares de insetos. Como dezenas a centenas de válvulas queimavam a cada hora o computador, que ocupava o espaço de uma sala, era aberto frequentemente e montes de insetos mortos eram varridos para fora. Diz-se que esses insetos provocavam Curto Circuitos nas placas do ENIAC levando a falhas nos programas. Fonte: Wikipédia 7
Custo econômico dos defeitos Em 2002, um estudo financiado pelo NIST constatou que erros de software custam anualmente US$ 59 bilhões à economia dos Estados Unidos. O estudo também estimou que mais de um terço desse valor, ou aproximadamente US$ 22,2 bilhões, poderia ser economizado caso fossem realizados investimentos em uma melhor infraestrutura de testes. NIST National Institute of Standards and Technology Fonte: Wikipédia
MUITAS PALAVRAS PARA DEFINIR APENAS UMA COISA? Defeito Falha Problema Incidente Anomalia Variância Inconsistência Bug Erro 9
MUITAS PALAVRAS PARA DEFINIR APENAS UMA COISA? Defeito Falha Problema Incidente (norma ISO 29119) Anomalia (IEEE 829) Variância Inconsistência Bug (ver defeito) Erro 10
DEFINIÇÃO DE DEFEITO Fonte da definição ISO/IEC 29119 Martin Pol e outros Rios & Moreira Ron Patton Descrição de defeito Qualquer condição que causa um desvio de um resultado baseado no que diz um requisito, um documento de especificação, um documento do usuário, um padrão, ou conforme a experiência ou percepção do técnico, que requeira investigação. Obs.: Defeitos podem ser encontrados em produtos de software ou artefatos de software. Defeito ou falha é o resultado de um erro residente num código ou num documento. Defeito é uma diferença entre o resultado produzido e o especificado, quando as especificações existem e estão corretas. Um defeito ocorre quando o software não faz alguma coisa que pela especificação do produto deveria fazer Ou faz alguma coisa que a especificação diz para não fazer. Ou faz alguma coisa que a especificação não menciona. 11
SEQÜÊNCIA DE EVENTOS Erro pode ser cometido pelo desenvolvedor ou pelo usuário Erro Incidente ou anomalia Defeito ou Bug
Visão geral dos processos de teste Plano de Teste Indicadores Diretivas Requisitos de ambiente Projeto e implementação Especificações de teste Montagem do ambiente Execução Relatório de ambiente implantado Resultados da execução Registro de incidentes Nenhuma ocorrência Ocorrência ou resultado do re-teste
CICLO DE VIDA DO DEFEITO Encontrar defeito Reportar defeito Solucionar defeito (1) RELATÓRIOS DE GESTÃO Fonte: Tmap Nexst for result driven test Tim Koomen e outros UTN Publishers (1) Em inglês o termo usado foi Procedure 14
15 www.iteste.com.br NUNCA É DEMAIS LEMBRAR O custo da correção do defeito Especificação Projeto Construção Teste Produção
Quando eu estou triste e deprimido... A receita que o médico me passou foi: encontre um defeito de uma em uma hora. Carlinhos, o testador
PROCESSO DE TESTE Planejar Testes Planejar Testes Projetar Testes Executar Testes Analisar Resultados Requisitos Visões: Requisito Qualidade/Riscos Projeto Gerenciar Defeitos 17 www.iteste.com.br
PROCURANDO O DEFEITO Cadê o defeito? Falta o caso de teste Calma colegas, vamos primeiro fazer o Plano de Teste Lição de Anatomia - Rembrant
O QUE É O MPT? O MPT.Br Melhoria de Processo de Teste de Software Brasil é um modelo que através de um sistema de níveis de maturidade permite a empresa, ao implantalo, consiga melhorar a forma como executa os testes dos seus softwares.
QUEM PODE USAR O MPT? O modelo pode ser usado por empresas de qualquer porte (pequeno, médio, grande). O modelo pode ser aplicado em áreas de teste de qualquer porte. O modelo pode ser usado em empresas que usam qualquer tipo de metodologia de desenvolvimento (cascada, ágil, etc.)
CONFLITOS EXISTEM PARA SEREM..
O QUE MAIS É O MODELO? O MPT.Br é um modelo que trata a melhoria do processo de teste através de melhores práticas. Objetivos: Tornar-se um modelo de referência para definição, implantação e melhoria dos processos de teste; Abordar a melhoria contínua nos processos de teste conforme os objetivos organizacionais e nível de maturidade almejado; Fornecer uma base para avaliação e consequente identificação do grau de maturidade presente nas organizacionais; e Reunir as melhores práticas e estruturá-las segundo o grau de complexidade versus o nível de maturidade que a mesma estará relacionada.
MODELO DE GESTÃO SOFTEX RECIFE - Centro de Tecnologia de Software para Exportação do Recife. RIOSOFT Agente Softex do Rio de Janeiro.
REFERÊNCIAS DO MODELO (TMMI) TMMi Test Maturity Model Integration (versão 3.1): desenvolvido para complementar o framework do CMMi; organizado em 5 níveis de maturidade; áreas de processo relativas a gestão foram incluídas com intuito de abranger a gestão específica do projeto de teste, complementada pelo acompanhamento, programa de treinamento e medição; 6 áreas de processo para fortalecer os processos relacionados à engenharia de teste; As 5 áreas de processo de qualidade abordam, dentre outros aspectos, o processo de testes e seu ciclo de vida, avaliação e controle da qualidade do produto;
REFERÊNCIAS DO MODELO (ISO-IEC 29119 EM REVISÃO) Composição: Parte I Definições e Conceitos (já traduzida para português) Parte II Processo de Teste (já traduzida para português) Parte III Documentação de Teste Parte IV Técnicas de Teste... Objetivo Definir um padrão que consolide vocabulário, processos, documentação e técnicas para o ciclo de vida de teste de software; Substituirá: IEEE 829 Test Documentation IEEE 1008 Unit Testing BS 7925-1 Vocabulary of Terms in Software Testing BS 7925-2 Software Component Testing Standard
ESTRUTURA DO MODELO Referencial Teórico TMMI (versão 3.1) ISO 29119 Base de Conhecimento ISTQB/CSTE/CBTS MPS.BR CMMI Comitê Gestor Conselho Consultivo Conselho Técnico Unidade Executora Instituição Avaliadora Instituição Implementadora Implementador MPT.Br Avaliador MPT.Br Modelo Gestão Modelo de Referência Modelo de Avaliação SCAMPI Modelo de Avaliação MPS.BR
Diego Aguiar - Google+plus.google.com510 760Pesquis a por imagemvdadefrogramador.com, BR HISTORIA REAL ENVIADA POR HUGO MENDES #16 JA TERMINou o PROGRAMA ESTAMOS SEM PRA20! 2 MINUTOS E JA ENTREGO 2 MINUTOS DEPOIS PRONTO! FINALIZADO! ÓTIMO! RAPA2, NUNCA VIO COMPILADOR ACUSAR ERRO EM TANTAS LINHAS! Pup
NÍVEIS DE MATURIDADE Automação e Otimização Controle Estatístico do Processo Otimização do Processo de Teste Automação de Teste Gestão de Ferramentas Case Parcialmente Gerenciado Gerenciado Definido Gerência de Projeto de Teste Projeto e Execução do Teste Prevenção de Defeitos Organização do Teste Medição e Análise Teste estático Treinamento Garantia da Qualidade Teste de Aceitação Fechamento de Teste Gerência de Projeto de Teste (Evolução) Projeto e Execução do Teste (Evolução) Gerência de Requisitos de Teste Gerência de Projeto de Teste (Evolução) Projeto e Execução do Teste (Evolução) Gestão de Defeitos Teste Não Funcional Avaliação da Qualidade do Software Organização do Teste (evolução) 16 áreas de processo
EMPRESAS CERTIFICADAS No site do MPT tem uma lista das empresas que foram avaliadas e o nível alcançado por cada uma delas. Não tem a lista das empresas que implementaram o MPT mas não foram avaliadas
RESUMO DE EMPRESAS POR ESTADO/NIVEL Ano Nível 1 Nível 2 Nível 3 Nível 4 Nível 5 BA 1 4 1 6 Total PE 8 8 1 17 RJ 3 1 1 1 6 DF 1 1 1 3 SP 1 1 SE 1 1 PR 1 1 TOTAL 13 10 4 4 4 35 30
NÍVEIS DE MATURIDADE Depositphotos
NÍVEL 1- PARCIALMENTE GERENCIADO Representa o primeiro patamar de maturidade de uma organização com foco na gerência de projetos Projeto
NÍVEL 2 - GERENCIADO Aplicação do processo de teste na organização com foco na gerência de projetos e de requisitos Padrões e técnicas de gestão Gestão e padrões Requisitos Projeto
NÍVEL 3 - DEFINIDO Processo de teste se torna organizacional. medição treinamentos. ciclo de vida do teste é integrado ao ciclo de vida de desenvolvimento. Teste estático e testes de aceitação garantia da qualidade. Gestão e padrões Requisitos e Projeto Organização
NÍVEL 4 PREVENÇÃO DE DEFEITOS Processo de gestão de defeitos (prevenção) Análise de risco dos atributos não funcionais da aplicação Análise para determinar a eficácia do teste e o nível de qualidade do produto. Prevenção Gestão e padrões Requisitos e Projeto Organização
NÍVEL 5 AUTOMAÇÃO E OTIMIZAÇÃO Prevenção Otimização Abordagem sistemática para automação do teste. Mecanismo para seleção e adoção de ferramentas CASE. Controle estático do processo. Processo sob melhoria contínua. Gestão e padrões Requisitos e Projeto Organização
VISÃO GERAL DA METODOLOGIA DE TRABALHO. A metodologia está baseada em 3 grandes pilares, que garante a constante troca de conhecimento: Treinamentos Consultoria Mentoring
ESCOPO DA MELHORIA DOS PROCESSOS DE TESTE Nível 1: Primeiro nível de maturidade do MPT, contempla duas áreas de processo: Área de Processo: Gerência de Projetos de Teste (GPT) Área de Processo: Projeto e Execução de Teste (PET) (Exemplo do nível 1)
MPT NÍVEL 1 GPT GERÊNCIA DE PROJETOS DE TESTE GPT1 Realizar análise de risco do produto GPT2 Estabelecer objetivos do teste GPT3 Definir estratégia de teste GPT4 Definir o escopo do trabalho para o projeto de teste GPT5 Estabelecer estimativas de tamanho GPT6 Definir o ciclo de vida do projeto de teste GPT7 Estimar o esforço e o custo GPT8 Estabelecer e manter o orçamento e o cronograma do projeto GPT9 Identificar riscos do projeto GPT10 Planejar os recursos humanos Dúvidas: Envie um e-mail para rios.emerson@gmail.com Ver a pesquisa
MPT NÍVEL 1 GPT GERÊNCIA DE PROJETOS DE TESTE GPT11 Planejar o ambiente de teste para o projeto GPT12 Planejar os artefatos e dados do projeto GPT13 Estabelecer indicadores de desempenho de teste GPT14 Estabelecer o Plano de Teste GPT15 Revisar e obter compromisso com o Plano de Teste GPT16 Monitorar o projeto GPT17 Gerenciar o envolvimento dos stakeholders GPT18 Executar revisões em marcos do projeto GPT19 Analisar e registrar os problemas identificados GPT20 Estabelecer e acompanhar ações corretivas até a sua conclusão
MPT NÍVEL 1 PET PROJETO E EXECUÇÃO DE TESTE PET1 Identificar casos de teste PET2 Executar casos de teste PET3 Reportar incidentes PET4 Acompanhar incidentes
MPT NÍVEL 1 PRÁTICAS GENÉRICAS :: Além das duas áreas de processo (GPT e PET) o nível 1 também compreende 6 práticas genéricas: PG1 Atingir os resultados definidos PG2 Estabelecer uma política organizacional PG3 Planejar a execução do processo PG4 Identificar e disponibilizar recursos PG5 Definir responsabilidade e autoridade PG6 Prover treinamento
METODOLOGIA DE TRABALHO FASES Estrutura Analítica Da Implantação da Melhoria de Processo de Teste ID FASE/ETAPA/ATIVIDADE Esforço (h) Fase 1 Iniciação 16 1.1 Levantamento e mapeamento dos pontos de melhoria 8 1.2 Análise e priorização dos pontos de melhoria 4 1.3 Elaboração e validação do Plano de Ação 4 Fase 2 Capacitação 24 * 2.1 Treinamento "Fundamentos de Teste de Software 16 2.2 Treinamento "Gerenciamento de Teste" 8 Fase 3 Planejamento, Projeto e Execução de Teste 20 3.1 Definição de processo e elaboração de templates 16 3.2 Exercícios e mentoring 4 Fase 4 Monitoramento e controle de Teste 20 4.1 Definição de processo e elaboração de templates 16 4.2 Exercícios e mentoring 4 Fase 5 Projeto Piloto 16 5.2 Apoio e acompanhamento 16 Total 96 * Horas comuns
METODOLOGIA MACRO CRONOGRAMA Atividades Fase 1 - Iniciação Período (Meses) 01 02 03 04 05 Fase 2 - Capacitação Fase 3 Planejamento, Projeto e Execução de Teste Fase 4 - Monitoramento e controle de Teste Fase 5 - Projeto Piloto
PROFISSIONAIS E ORGANIZAÇÕES Implementadores Avaliadores Instituições implementadoras (II-MPT) Instituições avaliadoras(ia-mpt)
Vantagens O tempo de execução dos testes tende a diminuir. O número de defeitos encontrados na fase de teste de sistemas tende a ser cada vez maior em relação aos defeitos encontrados em outras fases. Fonte: TMMi empresas nível 3
Vantagens A fase de teste de sistema tende a encontrar cada vez mais defeitos As estimativas tendem a ser cada vez mais confiáveis. Fonte: TMMi empresas nível 2
HTTP://WWW.MPT.ORG.BR/
Custos estimados Implantação individual Implantação em grupo Critérios a serem avaliados: Estágio atual da área de teste Tamanho da área de teste Dúvidas: Envie um e-mail para rios.emerson@gmail.com
rios.emerson@gmail.com emersonrios@riosoft.org.br Baixar a apresentação: www.emersonrios.eti.br