Upload
internet
View
112
Download
2
Embed Size (px)
Citation preview
TMM: Práticas e AplicaçõesJorge Oliveira 06/out/2007
Agenda• Modelos de Maturidade• CMM x Testes• Introdução ao TMM• TMMi Foundation• TMM Nível 1• TMM Nível 2• TMM Nível 3• TMM Nível 4• TMM Nível 5• Modelo de Acessibilidade
Modelos de Maturidade
“Um modelo de maturidade é uma coleção estruturada de elementos que descrevem características de processos efetivos”
Wikipedia
Modelos de Maturidade• Capability Maturity Model (CMM) [1], [2]
– Níveis de maturidade– Áreas de Processo– Metas Específicas– Características Comuns– Práticas Comuns
Modelos de Maturidade• Capability Maturity Model Integration
(CMMi) [9]– Nível 1: Inicial– Nível 2: Gerenciado– Nível 3: Definido– Nível 4: Gerenciado Quantitativamente– Nível 5: Otimizado
Modelos de Maturidade• ISO 15504: Software Process Improvement
and Capability dEtermination (SPICE)
– “Framework for the assessment of software processes”
ISO
– Avaliação objetiva baseada em conceitos: N P L F (não implementado, parcialmente implementado, largamente implementado e completamente implementado)
Modelos de Maturidade• ISO 15504: SPICE (wikipedia)
– Nível 0: Processo Incompleto– Nível 1: Processo Realizado– Nível 2: Processo Gerenciado– Nível 3: Processo Estabelecido– Nível 4: Processo Previsível– Nível 5: Processo Otimizado
Modelos de Maturidade• Test Process Improvement (TPI) [4]
– Áreas Chaves– Níveis– Pontos de Checagem– Sugestões de melhoria
Modelos de Maturidade• Test Process Improvement (TPI) [4]
Modelos de Maturidade• Test Process Improvement (TPI) [10]
Modelos de Maturidade• Outros Modelos:
• The Maturity Model for Automated Software Testing (MMAST)
• The Testing Assessment Programme (TAP)• The I.T.B.G. Testing Capability Maturity Model
(TCMM)• The Test Improvement Model (TIM)• The Test Organization Maturity Model (TOM)• The Testability Support Model (TSM)
CMM x Testes • PAs (Áreas de Processo) relacionadas
estritamente a testes: [9]– VAL – Validação– VER – Verificação
• Outras ações concentradas em PAs que envolvem mais de uma equipe (Treinamento Organizacionais, Desenvolvimento de Requisitos, etc.)
Introdução ao TMM [1][2][11]
• Modelo de maturidade focado em testes com 5 níveis de maturidade
• Desenvolvido em 1996 por Ilene Burnstein no IIT (Illinois Institute of Technology)
Introdução ao TMM [1][2][11]• Criado para complementar o CMMI• Suwannasart definiu atividades, tarefas e
responsabilidades em 1996• Contém um Modelo de Maturidade e um Modelo
de Acessibilidade
Introdução ao TMM [2]
Capacidade de Teste
Implementação e Adaptação
Organizacional
Atividades / Tarefas /
Responsabilidades
Sub-objetivos de Maturidade
Objetivos de Maturidade
Níveis
Visões Críticas
Usuário / Cliente
Gerente Desenvolvedor / Testador
Introdução ao TMM [6]• Objetivo dos testes em cada nível:
– Nível 1: Teste não tem objetivos
– Nível 2: Teste serve para provar que a aplicação funciona
– Nível 3: Teste serve para provar que a aplicação não funciona
Introdução ao TMM [6]• Objetivo dos testes em cada nível: (cont.)
– Nível 4: Teste não tem objetivo de provar nada, e sim de reduzir o risco do software não funcionar para valores controláveis
– Nível 5: Teste não é um ato, é uma disciplina mental que resulta em um software de baixo risco com pouco esforço de teste
Introdução ao TMM [12]
Introdução ao TMM [2], [12]
TMMi [11]
• “The TMMi® Foundation is dedicated to improving test processes and practice. It is a non-profit making organisation and the focus of the foundation's activities is the development of a common, robust model of test process assessment/improvement in IT organisations.”
TMMi – Objetivos [11]• Definição do núcleo internacional do modelo TMMi® e colocação do
mesmo a publico
• Provisão e atualização do modelo de assessibilidade para a framework (TMMi® Assessment Methods)
• Provisão de mecanismos para testar o modelo TMMi® Assessment
• Definição e manutençãi de treinamentos de assessibilidade, divulgação, guias e exames para TMM
• Provisão de meios de comunicação para as pessoas que gostariam de discutir sobre TMM
TMM – Nível 1 [1][6]
• Não há objetivos de maturidade
• Teste é um processo caótico
• Teste são realizados de maneira ad-hoc após finalização do código
• Teste e depuração são confundidos
TMM – Nível 2 [1][6]
• Desenvolvimento de objetivos de teste e de depuração
• Início do planejamento dos testes
• Institucionalização de métodos e técnicas básicas de teste
TMM – Nível 2 [1][6]
• Desenvolvimento de objetivos de teste e de depuração:– Um comitê de testes deve ser formado, responsável
pela definição das metas de teste– O comitê desenvolve e registra os objetivos dos
testes– Um comitê de testes deve ser formado, responsável
pela definição das metas de depuração– Planos de testes devem refletir as metas de testes
TMM – Nível 2 [1][6]• Início do planejamento dos testes
– Um plano de testes organizacional é estabelecido– Um template para planejamento de testes deverá ser
criado e distribuído– Requisitos do cliente devem ser documentos de
entrada para o planejamento dos testes– Ferramentas para apoio a planejamento de testes
devem ser avaliadas, recomendadas e utilizadas
• Institucionalização de métodos e técnicas básicas de teste– Técnicas são avaliadas e recomendadas– Políticas institucionais garantem que as técnicas
recomendadas são constantemente aplicadas por toda a organização
TMM – Nível 2 [1][6]
TMM – Nível 3 [1][6]
• Estabelecimento de uma fábrica de testes• Programa de treinamentos técnicos• Integração do processo de testes ao ciclo de
desenvolvimento do software• Início de um processo de gerenciamento de
riscos• Controle e monitoramento do processo de testes
TMM – Nível 3 [1][6]• Estabelecimento de uma fábrica de testes
– Grupo de testes é estabelecido, com liderança própria e suporte da gerência do projeto
– Papeis e responsabilidades devem ser definidas para o grupo de testes
– Engenheiros bem treinados e motivados devem ser selecionados
– Estabelecimentos de links de comunicação com o usuário, para comunicação de necessidades do usuário e requisitos
TMM – Nível 3 [1][6]
• Programa de treinamentos técnicos– Estabelecimento de um programa organizacional de
treinamentos– Objetivos e planos de treinamento devem ser
estabelecidos– Um treinamento interno do grupo deve acontecer e as
ferramentas e os materiais disponibilizados
TMM – Nível 3 [1][6]
• Integração do processo de testes ao ciclo de desenvolvimento do software– A fase de testes deve ser particionadas em sub-fases que se
conectam– Uma adapção do modelo em V deve ser desenvolvida e adotada– Padrões devem ser desenvolvidos para os artefatos gerados pela
equipe de testes– A integração entre os times de desenvolvimento e de testes deve
existir
TMM – Nível 3 [1][6]• Início de um processo de gerenciamento de
riscos– Políticas e mecanismos para controle das
atividades da equipe de testes devem ser estabelecidas
– Algumas medições ligadas a processo devem ser iniciadas
– Planos de ação que partem das medições realizadas e são aplicadas na melhoria do processo de testes devem ser realizadas
TMM – Nível 4 [1][6]
• Estabelecimento de programas organizacionais de revisões
• Estabelecimento de um programa de medições
• Avaliação da qualidade do Software
TMM – Nível 4 [1][6]
• Estabelecimento de programas organizacionais de revisões– Programas de revisão devem ser implantados de maneira
organizacional– A equipe de testes deve participar, junto com a equipe de
qualidade da definição de verificações para revisões– A equipe de qualidade deve definir metas para as revisões– Equipes devem ser treinadas sobre o processo de revisão
TMM – Nível 4 [1][6]
• Estabelecimento de um programa de medições – Politicas organizacionais de medição e análise devem
ser estabelecidas– Um plano de medição deve ser estabelecido
indicando mecanismos para coleção, análise e aplicação de cada métrica
– Planos de ação provenientes da análise dessas métricas devem ser utilizadas para a melhoria continua do processo de testes
TMM – Nível 4 [1][6]
• Avaliação da qualidade do Software – Metas de qualidade devem ser estabelecidos sobre
atributos de qualidade entre as equipes de teste de qualidade e a gerência (ISO 9126)
– O processo de testes deve ser moldado de forma a conseguir atingir as metas determinadas no plano de qualidade
TMM – Nível 5 [1][6]
• Aplicação de um processo de prevenção de defeitos
• Controle de Qualidade
• Otimização do Processo de Testes
TMM – Nível 5 [1][6]
• Aplicação de um processo de prevenção de defeitos– Um time de prevenção de defeitos deve ser formado– Defeitos são identificados e reportados durante todas
as fases do ciclo de desenvolvimento– Um mecanismo para análise de causas raiz dos
defeitos deve ser estabelecido– Planos de ação que envolvem as equipes de
desenvolvimento testes e gerência devem ser elaboradas para evitar a repetição do defeito
TMM – Nível 5 [1][6]
• Controle de Qualidade– A equipe de testes, juntamente com a equipe de
qualidade deve estabelecer metas como quantidade de defeitos em cada fase do desenvolvimento
– Essas metas devem ser incorporadas no plano de testes
– A equipe de testes deve ser treinada em métodos estatisticos
– O feedback do usuário deve ser colhido para melhoria do software
TMM – Nível 5 [1][6]
• Otimização do Processo de Testes– Identificação de práticas que podem ser melhoradas– Implementar melhorias– Acompanhar implementação de melhorias– Constante avaliações sobre ferramentas deverão ser
realizadas– Suporte a mudança de tecnologias devem ser
estudadas
Modelo de Acessibilidade [3]1. Instrução dos Questionários
– Background dos entrevistados– Background da organização– Objetivos e sub-objetivos relacionados aos tópicos seguintes
2. Ferramentas de teste
3. Métodos e tendências de teste
4. Treinamentos
5. Suporte
6. Recursos
7. Riscos
8. Métricas
Referências• [1] Burnstein, I., Suwannasart, T. and Carlson, C. R. “Developing a
Testing Maturity Model: Part I”, Crosstalk, STSC, Hill Air Force Base, Utah, Agosto de 1996
• [2] Burnstein, I., Suwannasart, T. and Carlson, C. R. “Developing a Testing Maturity Model: Part II”, Crosstalk, STSC, Hill Air Force Base, Utah, Setembro de 1996
• [3] Burnstein, I., Homyen, A., Grom, R. and Carlson, C. R. “A model to assess Testing Process Maturity”, Crosstalk, STSC, Hill Air Force Base, Utah, Novembro de 1998
• [4] Swinkels, R. “A comparison of TMM and other Test Process Improvement Models”, Novembro de 2000
• [5] Jacobs, J., van Moll, J. and Stokes, T. “The Process of Test Process Improvement”, Novembro de 2000
Referências• [6] Olsen, K. and Vinje, P. S. “Using the Testing Maturity Model in
practical test-planning and post-evaluation”. Novembro de 2000• [7] Deneir, S. “Test process improvement”. Setembro de 2004• [8] Olsen, K., Vinje, P. S. “Testing Maturity Model”, EPIC meeting on
Process Improvement and Software Quality and Testing, Abril de 1998• [9] Chrissis, Mary Beth et al. “CMMI: Guidelines for Process Integration
and Product Improvement”; 2003.• [10] Sogeti, “http://www.sogeti.nl/Home/Expertise/Testen/TPI.jsp”. Último
acesso em 02 de outubro de 2007• [11] TMMi Foundation. “http://www.tmmifoundation.org/”. Último acesso
em 02 de outubro de 2007• [12] Burnstein, I. et al. “Practical Software Testing: a process-oriented
approach”, 2002