CIn-UFPE Modelos de Maturidade de Testes

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Análise e Projeto de Sistemas III
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
TMM: Práticas e Aplicações
Engenharia de Software Qualidade de Software Uma abordagem conceitual André Luis Zanon São Carlos SP – UFSCAR 2010 Engenharia de Software – UFSCAR.
Adélia Barros Testes de Software Adélia Barros
ISO Processos do Ciclo de Vida do Software
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Tópicos Motivação para teste Por que algumas empresas não testam
Gerenciamento da Integração
Qualidade de Software Aula 2
Instituto de Pesquisas Eldorado
Antonio Carlos Tonini Maio / 2004
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Testes – visão geral Vanilson Burégio.
Gestão de Defeitos Vanilson Burégio.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Introdução aos conceitos de Teste de Software
Desafios do desenvolvimento de software
Visão Geral PRO.NET.
Modelos de Maturidade de Processos de Software
Fundamentos de Engenharia de SW
Processos de Desenvolvimento de Software – Parte 2
Capability Maturity Model (CMM)
Qualidade de Software Aula 2 / 2014/1
Introdução à Qualidade
Engenharia de Software com o RUP - Workflow de Testes Parte I
Modelos de Maturidade de Processos de Software
Modelos de Maturidade de Processos de Software
Aluno: Cristiano Levi Arnold Orientador: Alexandre Luís Franco 2009
Avaliação da Qualidade e Melhoria da Auditoria Interna
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
O Processo de desenvolvimento de software
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Melhoria do processo de software brasileiro
Teste de Software Conceitos iniciais.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
Introdução a Teste de Software
Testes Baseados Em Riscos: Uma revisão do Estado-da- Arte Nielson Pontes Outubro, 2010.
Modelos de Qualidade para indivíduos e grupos: PSP & TSP
Instrutor: Objetivos do Workshop:.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Integração.
AVALIAÇÃO DE PROCESSOS DE SOFTWARE
Profª Eliane Costa Santana
Introdução à Validação de Processo e Controle de Alterações Formação de Auditores CPG FAT02SP Ricardo P. Moisés Instituto RACINE Data da aula: 24/07/2009.
Qualidade de Produtos de Software
Qualidade de Produtos de Software
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
RESPOSTAS A INCIDENTES E PLANO DE CONTINUIDADE DE NEGÓCIOS
ISO/IEC Prof. Dr. Sandro Ronaldo Bezerra Oliveira
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Lenylda Albuquerque ISO Processos de Ciclo de Vida de Software Universidade Federal de Pernambuco.
Programa criado em Apoio ao programa: Ministério da Ciência e Tecnologia da Finep Banco Interamericano de Desenvolvimento Universidades e Governo.
Mapeamento e Padronização de Processos
ISO A ISO é uma evolução das série de normas ISO/IEC 9126 e e tem com objetivo principal fornecer uma visão geral do produto de software.
Estimativa, Teste e Inspeção de Software
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
1. Qualidade, Processos e Gestão de Software Uma proposta de uso do TMM para melhoria da capacidade nas áreas de Verificação e Validação do CMMI 13/12/2008.
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
GUTS-RS TESTES EM PROJETO DE IMPLANTAÇÃO ERP.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
CMMI Capability Maturity Model Integration
ROTEIRO PARA ELABORAÇÃO DE SISTEMA ESTRUTURADO
Transcrição da apresentação:

CIn-UFPE Modelos de Maturidade de Testes Juliana Mafra – jndm@cin.ufpe.br Novembro 2008

Agenda Introdução a Testes Modelos de Maturidade de Testes Definição Conceitos (Abordagens de Teste,Estágios de Teste,Tipos de Testes) Processo de Testes x Processo de Desenvolvimento de Software Cenários Comuns Modelos de Maturidade de Testes Motivação Test Improvement Model (TIM) Test Process Improvement (TPI) Test Maturity Model (TMM) Análise Comparativa TIM x TPI x TMM Conclusões 3

Juliana Mafra – jndm@cin.ufpe.br Introdução a Testes Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 4 4

Definição “Testing is the process of executing a program with the intent of finding errors.” [Myers,2004] 5

Abordagens de Teste Estrutural (caixa-branca): casos de testes são gerados com base na análise das partes do código que devem ser executadas Funcional (caixa-preta): casos de testes são gerados com base na análise das entradas x saídas 6

Estágios de Teste Teste de unidade: explora a menor unidade do projeto, procurando provocar falhas ocasionadas por defeitos de lógica e de implementação em cada módulo, separadamente (ex: uma função, um componente). Teste de integração: visa provocar falhas associadas às interfaces entre os módulos quando esses são integrados para construir a estrutura do software que foi estabelecida na fase de projeto. Teste de sistema: avalia o software em busca de falhas por meio da utilização do mesmo, como se fosse um usuário final (ambiente operacional similar ao de produção). Teste de aceitação: são realizados geralmente por um restrito grupo de usuários finais do sistema. 7

Tipos de Testes Funcional Recuperação de Falhas Controle de Acesso Integridade dos Dados Performance Carga e Stress Configuração e Portabilidade Instalação e Desinstalação Usabilidade Regressão 8

Processo de Testes x Processo de Desenvolvimento de Software Modelo V - Paralelismo entre as atividades de desenvolvimento e teste de software (CRAIG e JASKIEL, 2002) 9

Cenários Comuns Testes são planejados e executados pela própria equipe de desenvolvimento Não existe reuso da documentação dos artefatos de testes Testes de sistemas são realizados nos Ambientes de Desenvolvimento Testes de Regressão são negligenciados ou não feitos Homologações são aceitas com ressalvas 10

CIn-UFPE Modelos de Maturidade de Testes Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 11 11

Motivação Quando um produto é lançado com alto grau de defeitos, o impacto pode ser muito grande para a imagem da organização. Para aumentar a qualidade de seus produtos, as empresas investem em melhorias no processo de desenvolvimento de software. Para verificar e validar os requisitos impostos pelo cliente, testes de software devem ser realizados ao longo do ciclo de desenvolvimento do produto. As empresas elaboram um Processo de Teste. Para adequar o processo às boas práticas do teste é necessário adotar um modelo de melhoria que atenda a área de teste de software. 12

Modelos de Maturidade de Testes Os modelos de maturidade surgiram para avaliar e melhorar o nível de qualidade dos processos de testes aplicados numa organização desenvolvedora de software. Avalia Atividades executadas Métodos utilizados Define Papéis e responsabilidades Melhores práticas de testes 13

Principais Modelos Test Improvement Model (TIM) Test Process Improvement (TPI) Test Maturity Model (TMM) 14

TIM: Test Improvement Model Objetivos Principais Identificação do estado atual da prática nas áreas chaves Guia para Implementação de pontos fortes Avaliação dos pontos fracos Eliminar Melhorar Modelo baseado em 4 níveis Possui 5 áreas de conhecimento Organisation Planning and Tracking Testware Test cases Reviews Cada área de conhecimento consiste de atividades que são distribuídas nos 4 níveis. 15

TIM: Estrutura 16 16

Estratégias para alcançar os objetivos de cada nível TIM: Níveis Níveis Estratégias para alcançar os objetivos de cada nível Optimizing Conhecimento e entendimento através de experimentação e modelagem Melhoria contínua Análise dos principais problemas Cooperação com todas as partes do projeto Presente em todas as fases do ciclo de desenvolvimento Risk-lowering Envolvimento no início do projeto Gastos justificados Análise de produtos Métricas de produtos, processos e recursos Análise e gerenciamento dos riscos Comunicação com as partes dos projetos Cost-efectiveness Detectar bugs desde o início do projeto Treinamento Reuso Baselining Padronização dos documentos, métodos e políticas Análise e classificação dos problemas 17

TIM: Modelo de Avaliação Explicação sobre o modelo e sobre o processo de avaliação Entrevistas com pessoas chave Modelo e Avaliação: Questionário Questões : Sim/Não Discussão sobre ausência de resposta Análise Identificação do perfil de maturidade Identificação de melhorias Sugestões de melhoria Análise da solução proposta Alinhamento com necessidade da organização Custo vs. Tempo vs. Recursos Apresentação da Estratégia geral de melhoria 18

TPI: Test Process Improvement É o modelo mais utilizado na Europa Possui 20 áreas-chave de conhecimento As áreas-chave podem ser classificadas em níveis de maturidade. Classificação de A – D Existem algumas dependências entre os níveis de diferentes áreas-chave. Test Maturity Matrix Maturidade >> Área (20) x Classificação (4) Controlado Eficiente Otimizado 19

TPI: Estrutura 20

TPI: Níveis 21 Áreas-Chave / Níveis A B C D Estratégia de Teste Elaboração de simples estratégias para testes de alto nível. Por exemplo: para Testes de Sistemas Elaboração de estratégias combinadas para testes de alto nível testes de alto nível e de baixo nível Estratégia para todos os níveis de testes e combinação Modelos de Ciclo de Vida Planejamento, Especificação, Execução Preparação, Execução, Finalização Momento de envolvimento Na conclusão dos documentos base para os testes No início da construção dos documentos base para os testes especificação dos requisitos No início do Projeto de desenvolvimento Planejamento e Estimativa Estimativa e planejamento resumidos baseados em dados históricos Técnicas de Especificação de Testes Técnicas informais Técnicas formais ... 21

TPI: Modelo de Avaliação Artefatos para Avaliação Checkpoints Requisitos de cada nível Perguntas que devem ser respondidas Classificam o processo de forma objetiva Matriz de Maturidade Relação entre áreas de conhecimento e níveis Controlado Defeitos registrados/reportados Especificação de casos de teste definida Ambiente e testware organizados Eficiente Automação dos testes Otimizado Melhoria continua Evolução 22

TMM: Test Maturity Model Illinois Institute of Technology Modelo de maturidade focado em testes mais conhecido Guia para melhoria de processos de testes Baseado no CMM → CMMI 5 níveis de maturidade Objetivos Áreas de processos Boas práticas 23

TMM: Estrutura 24

Descrição dos Objetivos TMM: Níveis Níveis Descrição dos Objetivos Otimização, prevenção de defeitos e controle de qualidade Aplicar processo de prevenção de defeitos Controlar a qualidade Otimizar o Processo de Teste Gestão e Medições Estabelecer um programa amplo de revisão Estabelecer um programa amplo de medições de teste Evoluir a qualidade do Software Integração Estabelecer uma organização de testes de software Integrar o teste no ciclo de vida do software. Controlar e monitorar o Processo de Teste Estabelecer um programa de treinamento Fase de Definição Desenvolver os objetivos do teste Iniciar o processo de planejamento do teste Institucionalizar técnicas e métodos básicos de teste Inicial Teste normalmente feito pela equipe de desenvolvimento de forma ad-hoc. 25

TMM: Nível 1 Inicial Não há garantia de qualidade Processo de testes Caótico e indefinido Parte da depuração Objetivo Mostrar que o sistema é executável Não há garantia de qualidade Pode não satisfazer necessidades Pode ser instável Inexistência de equipe de testes e ferramentas de teste Não há áreas de processos 26

TMM: Nível 2 Fase de Definição Processo de testes Definido claramente Separado da depuração Objetivo Sistema de acordo com os requisitos Processo de testes se inicia tarde (fase de projeto / codificação) Inexistência de equipe de testes Áreas de processos Políticas e objetivos de testes Planejamento de testes Técnicas e métodos de testes 27

TMM: Nível 3 Integração Existência de equipe de testes Processo de testes Integrado ao ciclo de vida do software Planejamento de testes no início Estratégia de testes baseadas em gerenciamento de riscos Objetivo Demonstrar que o produto não funciona Existência de equipe de testes Áreas de processos Equipe de testes Programa de treinamento de testes Integração do teste np ciclo de vida do software Controle e monitoramento 28

TMM: Nível 4 Gestão e Medições Processo de testes Definido, fundamentado e mensurável Revisões e inspeções durante todo o ciclo de vida Possui programa de coleta de métricas Objetivo Verificar a corretude do produto conforme métricas Casos de teste armazenados, gerenciados e compartilhados Reuso e teste de regressão Áreas de processo Revisões por pares Métricas de testes Avaliação de qualidade do software 29

TMM: Nível 5 Otimização, prevenção de defeitos e controle de qualidade Processo de testes Completamente definido Capaz de controlar os custos e eficácia dos testes Objetivo Prevenir defeitos Métodos e técnicas otimizados Foco contínuo na melhoria no processo de testes Através de coleta e análise de métricas de qualidade Área de processos Prevenção de defeitos Controle de qualidade Otimização do processo de testes 30

TMM-AM: Modelo de Avaliação Três componentes principais Procedimento de avaliação Instrumentos de avaliação Critérios de seleção e treinamento do time de avaliação Passos para guiar o time de avaliação Execução correta da avaliação Coleta, organização e análise de dados de avaliação Percepção do nível da empresa no modelo TMM Criação de planos de melhoria para o processo de teste 31

TMM-AM: Modelo de Avaliação Instrumentos de avaliação Questionário: Instruções de uso Questões sobre o uso ferramentas de teste Questões sobre objetivos da empresa Outros Entrevistas Inspeções de documentos Apresentações Critérios de seleção e treinamento do time de avaliação 4 a 8 pessoas Pessoas bem relacionadas, motivadas e experientes Treinamento Interpretação dos dados Modelo TMM Técnicas de entrevista e de criação de relatórios 32

Juliana Mafra – jndm@cin.ufpe.br Análise Comparativa Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 33 33

Fundamentos da Avaliação Análise Comparativa TMM TIM TPI Níveis 5 4 Áreas de Conhecimento 14 20 Avaliação Questionário Checkpoint Fundamentos da Avaliação CMM, ISO SPICE Experiência Prática 34

Juliana Mafra – jndm@cin.ufpe.br Conclusões Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 35 35

Conclusões Sistemas de software TMM Testes Importante papel na sociedade Necessário ter qualidade Produto Processo TMM O mais consolidado Complementar ao CMM Foco Avaliação e melhoria do processo de testes Aplicabilidade prática Diversas empresas (Motorola, Accenture) Permite processos de testes mais eficazes e eficientes Testes Profissional especializado Parte integrada ao processo de desenvolvimento de software Preocupação com maturidade de testes 36

Referências ANDERSIN, J.. TPI – A Model for Test Process Improvement .2004. BURNSTEIN, I., SUWANASSART, T., CARLSON, R.. Developing a Testing Maturity Model for Software Test Process Evaluation and Improvement. 1996. ERICSON, T., SUBOTIC, A., URSING, S.. TIM – A Test Improvement Model. REFSON, A., BEZERRA, C., COUTINHO, E., FAÇANHA, F.. Análise de Aderência de um Processo de Teste ao TMM. MYERS, G.. The Art of Software Testing. 2 ª ed. John Wiley, 2004. SALVIANO, Uma Metodologia para Testes de Software no Contexto da Melhoria do Processo, 2003. STEN Journal. Guidelines for Testing Maturity. Vol. IV, 2006. VASCONCELOS, A.. Modelos de Maturidade de Testes, 2007. 37