cin-ufpe modelos de maturidade de testes juliana mafra – [email protected] novembro 2008 2

37

Upload: kauane-paulos

Post on 07-Apr-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

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

CIn-UFPEModelos de Maturidade de Testes

Juliana Mafra – [email protected]

Novembro 2008

2

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

Agenda

3

Introdução a 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

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

CIn-UFPEIntrodução a Testes

Juliana Mafra – [email protected]

Novembro 2008

4

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

Definição

5

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

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

Abordagens de Teste

6

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

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

Estágios de Teste

7

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.

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

Tipos de Testes

8

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

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

Processo de Testes x Processo de Desenvolvimento de Software

9

Modelo V - Paralelismo entre as atividades de desenvolvimento e teste de software (CRAIG e JASKIEL, 2002)

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

Cenários Comuns

10

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

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

CIn-UFPEModelos de Maturidade de Testes

Juliana Mafra – [email protected]

Novembro 2008

11

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

Motivação

12

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.

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

Modelos de Maturidade de Testes

13

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

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

Principais Modelos

14

Test Improvement Model (TIM) Test Process Improvement (TPI) Test Maturity Model (TMM)

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

TIM: Test Improvement Model

15

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.

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

TIM: Estrutura

16

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

TIM: Níveis

17

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

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

TIM: Modelo de Avaliação

18

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

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

TPI: Test Process Improvement

19

É 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

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

TPI: Estrutura

20

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

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

Elaboração de estratégias combinadas para 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

Planejamento, Preparação, Especificaçã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

No início da especificação dos requisitos

No início do Projeto de desenvolvimento

Planejamento e Estimativa

Estimativa e planejamento resumidos

Estimativa e planejamento baseados em dados históricos

Técnicas de Especificação de Testes

Técnicas informais Técnicas formais

... ...

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

TPI: Modelo de Avaliação

22

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

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

TMM: Test Maturity Model

23

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

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

TMM: Estrutura

24

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

TMM: Níveis

25

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.

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

TMM: Nível 1

26

Inicial 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

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

TMM: Nível 2

27

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

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

TMM: Nível 3

28

Integração 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

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

TMM: Nível 4

29

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

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

TMM: Nível 5

30

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

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

TMM-AM: Modelo de Avaliação

31

TMM-AM Três componentes principais

Procedimento de avaliação Instrumentos de avaliação Critérios de seleção e treinamento do time de avaliação

Procedimento 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

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

TMM-AM: Modelo de Avaliação

32

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

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

CIn-UFPEAnálise Comparativa

Juliana Mafra – [email protected]

Novembro 2008

33

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

Análise Comparativa

34

TMM TIM TPI

Níveis 5 4 4

Áreas de Conhecimento 14 5 20

Avaliação Questionário Questionário Checkpoint

Fundamentos da Avaliação

CMM, ISOSPICE

ExperiênciaPrática

ExperiênciaPrática

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

CIn-UFPEConclusões

Juliana Mafra – [email protected]

Novembro 2008

35

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

Conclusões

36

Sistemas de software 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

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

Referências

37

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.