CIn-UFPE
Modelos de Maturidade de Testes
Juliana Mafra – [email protected]
Novembro 2008
2
Agenda
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
3
CIn-UFPE
Introdução a Testes
Juliana Mafra – [email protected]
Novembro 2008
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 – [email protected]
Novembro 2008
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
TIM: Níveis
Níveis
Optimizing
Risk-lowering
Cost-efectiveness
Baselining
Estratégias para alcançar os objetivos de cada nível

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

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

Detectar bugs desde o início do projeto

Treinamento

Reuso

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 de melhorias



Identificação do perfil de maturidade
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.


Existem algumas dependências entre os níveis de diferentes áreas-chave.


Classificação de A – D
Test Maturity Matrix
Maturidade >> Área (20) x Classificação (4)

Controlado

Eficiente

Otimizado
19
TPI: Estrutura
20
TPI: Níveis
Áreas-Chave / Níveis
A
B
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
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
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
C
D
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
No início da
especificação dos
requisitos
No início do Projeto
de
desenvolvimento
...
...
21
TPI: Modelo de Avaliação

Artefatos para Avaliação

Checkpoints




Matriz de Maturidade


Defeitos registrados/reportados
Especificação de casos de teste definida
Ambiente e testware organizados
Eficiente


Relação entre áreas de conhecimento
e níveis
Controlado




Requisitos de cada nível
Perguntas que devem ser respondidas
Classificam o processo de forma objetiva
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
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




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
desenvolvimento de forma ad-hoc.
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
pela
equipe
25
de
TMM: Nível 1

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
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


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


Casos de teste armazenados, gerenciados e compartilhados


Verificar a corretude do produto conforme métricas
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

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
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
CIn-UFPE
Análise Comparativa
Juliana Mafra – [email protected]
Novembro 2008
33
Análise Comparativa
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, ISO
SPICE
Experiência
Prática
Experiência
Prática
34
CIn-UFPE
Conclusões
Juliana Mafra – [email protected]
Novembro 2008
35
Conclusões

Sistemas de software


Importante papel na sociedade
Necessário ter qualidade



TMM



O mais consolidado
Complementar ao CMM
Foco



Avaliação e melhoria do processo de testes
Aplicabilidade prática


Produto
Processo
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
Download

Modelos de Maturidade de Testes