• Nenhum resultado encontrado

Modelos de Maturidade de Testes de Software

N/A
N/A
Protected

Academic year: 2021

Share "Modelos de Maturidade de Testes de Software"

Copied!
34
0
0

Texto

(1)

CBCC – Bacharelado em Ciência da Computação

CBSI – Bacharelado em Sistemas de Informação

Modelos de Maturidade de Testes de

Software

Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Prof. Dr. Sandro Ronaldo Bezerra Oliveira

srbo@ufpa.br

www.ufpa.br/srbo

Tópicos Especiais em Engenharia de Software –

Controle e Garantia da Qualidade de Software

Faculdade de Computação

Instituto de Ciências e Exatas e Naturais

Universidade Federal de Pará

(2)

Roteiro

Introdução a Testes

 Motivação para Testes

 Finalidade dos Testes

 Paralelo entre:

 Processo de Testes

 Processo de Desenvolvimento de Software

 Processo de Desenvolvimento de Software

 Conceitos Importantes no Processo de Testes

 Cenários Comuns

Modelos de Maturidade de Testes

 Test Improvement Model (TIM)

 Test Process Improvement (TPI)

(3)

Roteiro

Modelos de Avaliação

 Test Improvement Model (TIM)

 Test Process Improvement (TPI)

 Test Maturity Model (TMM)

Análise Comparativa

 TIM x TPI x TMM

(4)

Motivação para Testes

 O Software tem papel importante no ambiente econômico e social

 Possível inclusão de falhas humanas no processo de desenvolvimento de software

 Usuário x Analista x Desenvolvedor

 O processo de testes faz parte da garantia de qualidade de software

 Os custos associados às falhas de software justificam um processo de testes cuidadoso e bem planejado

 Software sem qualidade pode causar a perda de vida ou de propriedade

 Falhas podem resultar em perdas catastróficas

 Existe grande possibilidade de injeção de falhas humanas no processo de desenvolvimento de software

(5)

Finalidade dos Testes

 Verificar se todos os requisitos foram corretamente implementados

 Verificar a correta integração entre todos os componentes

 Produzir casos de teste que têm elevada probabilidade de revelar erros com uma quantidade mínima de tempo e esforço

 Assegurar, na medida do possível, a qualidade e corretude do produto

 Assegurar, na medida do possível, a qualidade e corretude do produto

 Comparar o resultado dos testes com os resultados esperados a fim de produzir uma indicação da qualidade e da confiabilidade do software

 Reduzir custos de manutenção corretiva e retrabalho

 Assegurar satisfação do cliente

(6)

Processo de Testes x Processo

de Desenvolvimento de Software

F o n te : V a sc o n ce lo s, A ., 2 0 0 7

(7)

Conceitos Importantes no

Processo de Testes

 Caso de Testes

 Cenário de Testes

 Abordagem de Testes

 Funcional (caixa-preta) : casos de testes são gerados com base na análise das entradas x saídas

 Estrutural (caixa-branca): casos de testes são gerados com base na análise das partes do código que devem ser executadas

 Estágios de Testes

 Teste de unidade: uma pequena unidade é testada (ex: uma função, um componente)

 Teste de integração: as unidades integradas são testadas em conjunto

 Teste de sistema: o sistema integrado é testado como um todo em um ambiente de execução próximo ao real

 Teste de aceitação (homologação): o software é testado pelo usuário final (ex: num projeto-piloto durante um período fixo de tempo)

(8)

Conceitos Importantes no

Processo de Testes

 Tipos de Testes  Funcional  Recuperação de Falhas  Tolerância a Falhas  Controle de Acesso

 Integridade dos Dados

 Integridade dos Dados

 Performance  Carga e Stress  Configuração e Portabilidade  Instalação e Desinstalação  Usabilidade  Regressão

(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

 Testes de Regressão são negligenciados ou não feitos

(10)

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 ou em um bureau de testes  Avalia  Atividades executadas  Atividades executadas  Métodos utilizados  Define  Papéis e responsabilidades

(11)

Modelos de Maturidade de Testes

 Principais Modelos

 Test Improvement Model (TIM)

 Test Process Improvement (TPI)

 Test Maturity Model (TMM)

 Outros Modelos

 Outros Modelos

 Maturity Model for Automated Software Testing (MMAST)

 Testing Assessment Programmer (TAP)

 I.T.B.G. Testing Capability Maturity Model (TCMM)

 Testability Support Model (TSM)

(12)

TIM: Test Improvement Model

 Concebido por  T. Ericsson  A. Subotic  S. Ursing  Objetivos Principais

 Identificação do estado atual

 Implementação de pontos fortes

 Avaliação dos pontos fracos

 Eliminar

 Melhorar

 Modelo baseado em 4 níveis

 Baselining

 Padronização dos documentos, métodos e políticas

(13)

TIM: Test Improvement Model

 Cost-efectiveness

 Detectar bugs desde o início do projeto

 Treinamento

 Reuso

 Risk-lowering

 Envolvimento no início do projeto

 Gastos justificados

 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

 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

(14)

TPI: Test Process Improvement

 É o modelo mais utilizado na Europa

 Processo de teste

 Importante

 Difícil controle

 Trabalha com 20 áreas do conhecimento

 Estratégia de teste (Test Strategy)

 Estratégia de teste (Test Strategy)

 Modelo de ciclo de vida (Lyfe-cicle model)

 Planejamento e estimativas (Estimation and Planning)

 Etc.

 As Áreas-chave podem ser classificadas em níveis de A – D

 Maturidade >> Área (20) x Classificação (4)

 Controlado

 Eficiente

(15)

Relação entre Algumas

Áreas-chave e Níveis de Classificação

Nível da

Área-Chave

A B C D

Áreas-Chave

Estratégia de Teste Elaboração de simples estratégias

para testes de alto nível. Por exemplo: 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

baixo nível Estratégias 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

(16)

Nível de Maturidade no TPI

 Nível de Maturidade >> Área x Nível da Área-Chave

 Controlado

 Todo o processo é executado de acordo com uma estratégia de testes, técnicas de especificação de casos de testes são utilizadas, defeitos são registrados e reportados. O testware (artefatos, ferramanetas, etc.) e o ambiente de testes são bem controlados.

ambiente de testes são bem controlados.

 Eficiente

 A automação do processo de testes pode ser uma forma de alcançar a eficiência.

 Em otimização

(17)

TMM: Test Maturity Model

 Illinois Institute of Technology

 Melhoria de processos de testes

 Ilene Burnstein

 C. R. Carlson

 Guia para melhoria de processos de testes F o n te : C o st a , C ., 2 0 0 7 F o n te : C o st a , C ., 2 0 0 7 de testes  Inspirado no CMM  5 níveis de maturidade  Objetivos  Áreas de processos  Boas práticas F o n te : C o st a , C ., 2 0 0 7

(18)

TMM: Meta-modelo

Níveis

Maturidade de Testes Objetivos de Maturidade Sub-objetivos de Maturidade Indicam Contêm Suportados por Atingidos por Atividades / Responsabilidades Organizadas em Visões Críticas Desenvolvedor Testador Implementação e Adaptação Organizacional Gerente Usuário Cliente Implicam

(19)

TMM: Níveis

Nível 4: Management and Measurement

Nível 5: Opt./Defect Prevention and QC

Teste = reduzir risco de não funcionar conforme as métricas

Teste = evitar defeitos

Nível 1: Initial

Nível 2: Phase Definition

Nível 3: Integration

CAOS Teste == debug

Teste = sw funciona

(20)

TMM: Nível 1

 Initial  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

(21)

TMM: Nível 2

 Phase Definition  Processo de testes  Definido claramente  Separado da depuração  Objetivo

 Sistema de acordo com os requisitos

 Processo de testes se inicia tarde

 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

(22)

TMM: Nível 3

 Integration

 Processo de testes

 Integrado ao ciclo de vida

 Planejamento de testes no início

 Estratégia de testes baseadas em

gerenciamento de riscos

Fonte: Vasconcelos, A., 2007

 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

 Ciclo de vida dos testes e integração

 Controle e monitoramento

(23)

TMM: Nível 4

 Management and Measurement

 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

 Áreas de processo

 Revisões por pares

 Métricas de testes

(24)

TMM: Nível 5

 Optimization/Defect Prevention and Quality Control

 Processo de testes

 Completamente definido

 Capaz de controlar os custos e eficácia dos testes

 Objetivo

 Impedir defeitos

 Métodos e técnicas otimizados

 Contínua 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

(25)

Modelos de Avaliação

 Objetivos

 Medir qualidade atual do processo de testes

 Obter dados quantitativos

 Número de testes

 Tempo de execução

 Etc.

 Verificar boas práticas contempladas pelo processo

 Verificar boas práticas contempladas pelo processo

(26)

TIM: Modelo de Avaliação

 Modelo e avaliação: Questionário

 Entrevistas com pessoas chave

 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

(27)

TPI: Modelo de Avaliação

 Artefatos para Avaliação

 Checkpoints/Checklists

 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

(28)

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

(29)

TMM-AM: Modelo de Avaliação

 Instrumentos de avaliação

 Questionário (8 partes):

 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

(30)

TMM-AM: Modelo de Avaliação

 Ferramentas:

 Controle de dados de avaliação

 Matriz de rastreabilidade

 Maior confiabilidade para a avaliação

 Roteiro da avaliação

(31)

Análise Comparativa

TMM

TIM

TPI

Abordagem

Conceitual

Prática

Prática

Níveis

5

5

14

Níveis

5

5

14

Áreas de

Conhecimento

14

5

20

Avaliação

Questionário

Questionário

Checkpoint e

Checklist

Fundamentos da

Avaliação

CMM, ISO

SPICE

Experiência

Prática

Experiência

Prática

Fonte: Costa, C. 2007

(32)

Conclusões

 Sistemas de software

 Importante papel na sociedade

 Necessário ter qualidade

 Produto  Processo  TMM  O mais consolidado  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

(33)

Referências

ALVES, G. de S.. Modelo de Maturidade em Testes com Foco em Ambientes de Testes Heterogêneos. 2007.

SWINKELS, R.. A Comparison of TMM and Other Test Process Improvement. 2000.

STAAB, T. C.. Improving the Test Process – Looking at the Test Process – Getting Started. 2003.

PROFESSIONAL TESTER. Guidelines for Testing Maturity. Volume Three, Issue Nº 1. 2002.

BURNSTEIN, I., SUWANASSART, T., CARLSON, R.. Developing a Testing Maturity Model for Software Test Process Evaluation and Improvement. 1996.

LIEBMAN, A., PAES, F., MENEZES, H.. Assessment of the Integration Test Execution Team According to Level II of the Testing Maturity Model – TMM. 2006.

JÚNIOR, N.. An Assessment of CIn-BTC Automation Test Process According to Test Maturity Model – TMM. 2005.

(34)

Referências

OLIVEIRA, M. E.. Avaliação do Processo de Testes do RUP em relação ao Nível 2 do Modelo de Referência TMM – Test Maturity Model. 2006.

BURNSTEIN I.; Pratical Software Testing; 2002

SALVIANO, Uma Metodologia para testes de software no contexto da melhoria do processo, 2003.

SOMMERVILLE, I. Engenharia de Software. 6 ª ed. São Paulo, Addison Wesley, 2003 COSTA, C., CASTRO, C., CARVALHO, G., RODRIGUES, H.. Modelos de Maturidade de

Testes, 2007

Referências

Documentos relacionados

Neste sentido, o nosso trabalho foi realizado em dois momentos: o Campo de Observação com 20 horas semanais e Campo de Docência com 20 horas semanais, encontros significativos

A forma em que as empresas do arranjo do segmento cama-mesa-banho estão inseridas no mercado externo pode ser enquadrada em relações de redes de empresas, nas

Se você vai para o mundo da fantasia e não está consciente de que está lá, você está se alienando da realidade (fugindo da realidade), você não está no aqui e

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o

O trabalho intitulado PROJETO DE INTERVENÇÃO SOBRE A IMPLANTAÇÃO DA SISTEMATIZAÇÃO DA ASSISTÊNCIA DE ENFERMAGEM (SAE) PARA PACIENTES COM DIABETES MELLITUS NO

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas