TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

44

Transcript of TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Page 1: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.
Page 2: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

TMM: Práticas e AplicaçõesJorge Oliveira 06/out/2007

Page 3: TMM: Práticas e Aplicações Jorge 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

Page 4: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Modelos de Maturidade

“Um modelo de maturidade é uma coleção estruturada de elementos que descrevem características de processos efetivos”

Wikipedia

Page 5: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 6: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 7: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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)

Page 8: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 9: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Modelos de Maturidade• Test Process Improvement (TPI) [4]

– Áreas Chaves– Níveis– Pontos de Checagem– Sugestões de melhoria

Page 10: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Modelos de Maturidade• Test Process Improvement (TPI) [4]

Page 11: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Modelos de Maturidade• Test Process Improvement (TPI) [10]

Page 12: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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)

Page 13: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 14: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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)

Page 15: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 16: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 17: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 18: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 19: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Introdução ao TMM [12]

Page 20: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

Introdução ao TMM [2], [12]

Page 21: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 22: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 23: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 24: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 25: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 26: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 27: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

• 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]

Page 28: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 29: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 30: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 31: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 32: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 33: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 34: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 35: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 36: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 37: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 38: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 39: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 40: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 41: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 42: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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

Page 43: TMM: Práticas e Aplicações Jorge Oliveira 06/out/2007.

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