Upload
joao-rocha-lima
View
212
Download
0
Embed Size (px)
Citation preview
1
Qualidade, Processos e Gestão de Software
Uma proposta de uso do TMM para melhoria da capacidade nas áreas de Verificação e
Validação do CMMI
13/12/2008
2
Nielso Oliveira ([email protected])
Agenda
1. Contextualização
2. CMMI
3. Verificação e Validação – V&V
4. Maturidade em Testes
5. TMM
6. CMMI V&V x TMM
7. Conclusão
3
Contextualização
4
Software faz parte de várias atividades do dia-a-dia da sociedade moderna;
Globalização -> Aumento da concorrência -> Qualidade como diferencial competitivo
Mas, como melhorar a qualidade do software?
QUALIDADE DO QUALIDADE DO PRODUTO DE PRODUTO DE SOFTWARESOFTWARE
QUALIDADE DO QUALIDADE DO PROCESSO DE PROCESSO DE DESENVOLVIMENTODESENVOLVIMENTO
SW-CMM ISO 9126CMMI-Dev
MPS Br
ISO 12207
Bootstrap
ISO 14598
ISO 12119
ISO 25000 (SQuaRE)
CMMI
5
SEI CMMIIntegração de vários modelos (SW-CMM, IPD-CMM, SE-CM)CMMI-Dev 1.2 publicado em agosto/2006.
[CMMI]
Componentes do ModeloÁrea de Processo - conjunto de atividades relacionadas que, quando realizadas adequadamente, atendem um conjunto de metas consideradas importantes para trazer uma melhoria significativa naquela área. Objetivos Específicos - descrevem o que deve ser implementado para satisfazer a Área de Processo.Práticas Específicas - atividade importante na satisfação de uma meta específica.
Área de Processo
Objetivo Específico 1 Objetivo Específico 2
Prática Específica 1 Prática Específica 1 Prática Específica 2
CMMI
6
[CMMI]
Componentes do Modelo (continuação)Objetivos Genéricos - descrevem características referentes à institucionalização de um processo que implemente as àreas de processo. São genéricas porque se aplicam a várias áreas de processo.Práticas Genéricas - atividade importante na satisfação de uma meta genérica.
Área de Processo 1
Objetivo Específico 1
Objetivo Específico 1
Prática Específica 1
Prática Específica 1 Prática Específica 2
Área de Processo n
Objetivo Genérico 1
Prática Genérica 1 Prática Genérica 2...
CMMI
7
Representações – definem uma estratégia para a melhoria dos processos
EstagiadaÁreas de processo agrupadas por nível (1 a 5)Avaliação da maturidade organizacional
ContínuaAgrupamento de acordo com as necessidade da organização (profile)Avaliação da capacidade dos processos
[CMMI]
CMMI
8
Representações – definem uma estratégia para a melhoria dos processos
Nível Representação Estagiada (Nível de Maturidade)
Representação Contínua (Nível de Capacidade)
0 N/A Incompleto
1 Executado Executado
2 Gerenciado Gerenciado
3 Definido Definido
4 Quantitativamente Gerenciado Quantitativamente Gerenciado
5 Otimização Otimização
Os níveis (maturidade ou capacidade) estão associados à implementação dos processos da organização, ou seja, são alcançados através do alcance das metas genéricas do modelo.
[CMMI]
CMMI
9
Objetivos Genéricos
[CMMI]
Nível Objetivo Genérico
0 - Incompleto N/A
1 - Executado 1.1 – Executar as práticas específicas das Aps para desenvolver os produtos e prover os serviços necessários para se alcançar os objetivos específicos.
2- Gerenciado 2.1- Estabelecer uma política organizacional para o planejamento e execução do processo2.2 – Estabelecer e manter um plano par a execução do processo2.3 – Prover recursos par a execução dos processos2.4 – Definir responsabilidades e autoridade para a executar o processo2.5 – Treinas as pessoas para executar e dar suporte ao processo2.6 – Manter os produtos de trabalho em níveis adequados de gerência de configuração2.7 – Identificar e envolver os satakeholders conforme planejamento2.8 – Monitorar e controlar o processo de acordo com o planejamento, tomando ações corretivas quando necessário2.9 – Avaliar objetivamente a aderência ao processo, identificando as não conformidades2.10 – Revisar as atividades, status e resultados do processo com a alta gerência
3- Definido 3.1 – Estabelecer e documentar o o processo adaptado do processo padrão da organização de acordo com as necessidades do projeto3.2 – Coletar informações para suportar o uso futuro e a melhoria do processo da organização
4- Quantitativamente Gerenciado
4.1 – Estabelecer objetivos quantitativos para o processo4.2 – Estabilizar a perfornance dos subprocessos
5-Otimização 5.1 – Garantir a melhoria contínua do processo de acordo com as necessidades da organização5.2 – Identificar e corrigir as causas dos defeitos e problemas no processo
CMMI
10
Agrupamento das Áreas de Processo em Categorias
[CMMI]
Verificação
Validação
Verificação e Validação
11
As atividades de V&V servem para assegurar que o software funcione de acordo com o que foi especificado e atenda aos requisitos dos stakeholders. [SOMMERVILE]
Enquanto a verificação preocupa-se com a implementação correta dos requisitos especificados, a validação avalia se o software realmente satisfaz às necessidades dos usuários. [PEZZÈ]
Conjunto de atividades com a finalidade de garantir que tanto o modo como o software está sendo desenvolvido quanto o produto estejam em conformidade com o especificado. [DELAMARO]
A verificação é o processo de determinar se a saída de uma fase está de acordo com os requisitos especificados na fase anterior. A validação busca confirmar que a especificação do sistema é consistente com os requisitos dos stakeholders. [KOSCIANSKI]
A validação preocupa-se em demonstrar que o produto atende às necessidades dos usuários, enquanto que a verificação asegura que os produtos de trabalho foram gerados de acordo com os requisitos especificados. [CMMI]
Verificação e Validação
12
Verificação – Objetivos (OE) e Práticas (PE) específicos
OE 1 – Preparação para a verificaçãoPE 1.1 – Selecionar produtos para verificação e os métodos que serão utilizadosPE 1.2 – Disponibilizar e manter o ambiente necessário à execução da verificaçãoPE 1.3 – Definir e manter os procedimentos e critérios para verificação
OE 2 – Executar revisões por pares nos produtos selecionadosPE 2.1 – Preparar a revisão por paresPE 2.2 – Realizar as revisões identificando os problemasPE 2.3 – Analizar os dados das revisões
OE 3 – Verificar os produtos de trabalho selecionadosPE 3.1 – Executar a verificaçãoPE 3.2 – Analisar os resultados da verificação
[CMMI]
Verificação e Validação
13
Validação – Objetivos (OE) e Práticas (PE) específicos
OE 1 – Preparação para a validaçãoPE 1.1 – Selecionar produtos para validação e os métodos que serão utilizadosPE 1.2 – Disponibilizar e manter o ambiente necessário à execução da validaçãoPE 1.3 – Definir e manter os procedimentos e critérios para validação
OE 2 – Validar o produtoPE 2.1 – Executar a validação nos produtos selecionadosPE 2.2 – Analisar os resultados da validação
[CMMI]
Maturidade em Testes
14
Desde a década de 80 as atividades de teste eram executadas no final do ciclo de desenvolvimento
Com o aumento da complexidade dos sistemas de software, a atividade de teste passou a exigir uma maior especialização e a definição de um processo paralelo ao processo de desenvolvimento. [BASTOS]
Modelos de maturidade em Testes surgiram para avaliar e melhorar o nível de qualidade dos processos de testes aplicados numa organização desenvolvedora de software. [VASCONCELOS]
Test Improvement Model (TIM) Test Process Improvement (TPI) Test Maturity Model (TMM)
TMM - Test Maturity Model
15
Desenvolvido pelo Instituto de Tecnologia da universidade de Illinois em 1996, com o objetivo de dar suporte às organizações na melhoria de seu processo de teste.
Criado para ser um complemento ao SW-CMM e baseado nos melhores práticas de teste do mercado.
Define 5 níveis de maturidade. Cada nível, exceto o nível 1, possui a seguinte estrutura:• Conjunto de objetivos de maturidade que podem ser comparados às
áreas de processo do CMMI;• Sub-objetivos que descrevem o escopo, limitações e comprometimento
necessário para se alcançar as metas. Podemos considerá-las equivalentes aos objetivos específicos do CMMI
• A cada submeta estão associadas atividades (equivalente às práticaas do CMMI) e responsabilidades dos gerentes, desenvolvedores/testadores e dos clientes/usuários
[BURSTEIN]
TMM - Test Maturity Model
16
Níveis
Maturidadede Testes
Objetivos de Maturidade
Sub-objetivos de Maturidade
Indicam Contêm
Suportados por
Atingidos por
Atividades / Responsabilidades
Organizadas em
Visões CríticasImplementação e
Adaptação Organizacional
Implicam
DesenvolvedorTestadorGerente Usuário
Cliente
TMM - Test Maturity Model
17
Nível 4: Gerenciamento e Medições
Nível 2: Definição da Fase
Nível 3: Integração
Nível 5: Otimização, Prevenção de defeitos e Controle de Qualidade
CAOS Teste == depuração
Teste = sw funciona
Teste = sw NÃO funciona
Introdução de métricas de qualidade (processo e produto)
Prevenção de defeitos
Nível 1: Inicial
TMM - Test Maturity Model
18
Níveis Descrição dos Objetivos de maturidade
1 – Inicial N/A
2 - 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
3 – 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
4 - Gestão e Medições Estabelecer um programa amplo de revisão Estabelecer um programa amplo de medições de teste Avaliar a qualidade do Software
5 - Otimização, prevenção de defeitos e controle de qualidade
Aplicar processo de prevenção de defeitos Controlar a qualidade (usando métodos estatísticos) Otimizar o Processo de Teste
CMMI V&V x TMM
19
Como o TMM define 5 niveis de maturidade relacionados a V&V, é muito mais rápido se avançar nos níveis do TMM do que na capacidade das áreas de Verificação e Validação de acordo com o CMMI.
TMM Nível 4 ⃗ Executar Revisão por Pares Nível 1 de capacidade do CMMI ⃖
Não há correspondência direta entre os níveis de capacidade do CMMI
e os de maturidade do TMM
CMMI V&V x TMM
20
Objetivos do TMM para se alcançar o nível 1 de Capacidade do CMMI.Área de Processo CMMI
Prática Específica Objetivo de maturidade do TMM
Verificação PE 1.1 – Selecionar produtos para verificação e os métodos que serão utilizados
Desenvolver os objetivos do teste
PE 1.2 – Disponibilizar e manter o ambiente necessário à execução da verificação
Institucionalizar técnicas e métodos básicos de teste
PE 1.3 – Definir e manter os procedimentos e critérios para verificação
Institucionalizar técnicas e métodos básicos de teste
PE 2.1 – Preparar a revisão por pares Estabelecer um programa amplo de revisão
PE 2.2 – Realizar as revisões identificando os problemas
Estabelecer um programa amplo de revisão
PE 2.3 – Analizar os dados das revisões Controlar e monitorar o Processo de TesteEstabelecer um programa amplo de medições de teste
PE 3.1 – Executar a verificação Desenvolver os objetivos do teste Iniciar o processo de planejamento do teste Institucionalizar técnicas e métodos básicos de teste
PE 3.2 – Analisar os resultados da verificação
Controlar e monitorar o Processo de TesteEstabelecer um programa amplo de medições de teste
CMMI V&V x TMM
21
Objetivos do TMM para se alcançar o nível 1 de Capacidade do CMMI.Área de Processo CMMI
Prática Específica Objetivo de maturidade do TMM
Validação PE 1.1 – Selecionar produtos para validação e os métodos que serão utilizados
Desenvolver os objetivos do teste
PE 1.2 – Disponibilizar e manter o ambiente necessário à execução da validação
Institucionalizar técnicas e métodos básicos de teste
PE 1.3 – Definir e manter os procedimentos e critérios para validação
Institucionalizar técnicas e métodos básicos de teste
PE 2.1 – Executar a validação nos produtos selecionados
Desenvolver os objetivos do teste Iniciar o processo de planejamento do teste Institucionalizar técnicas e métodos básicos de teste
PE 2.2 – Analisar os resultados da validação
Controlar e monitorar o Processo de TesteEstabelecer um programa amplo de medições de teste
E quanto aos demais níveis de capacidade ??
CMMI V&V x TMM
22
Relacionamento Metas do nível 2 do TMM com Capacidade dos processos CMMI
Nível TMM Objetivo de Maturidade Objetivo Genérico do CMMI
2 Desenvolver os objetivos do teste 2.1- Estabelecer uma política organizacional para o planejamento e execução do processo
Iniciar o processo de planejamento do teste
2.2 – Estabelecer e manter um plano par a execução do processo2.3 – Prover recursos par a execução dos processos2.4 – Definir responsabilidades e autoridade para a executar o processo2.7 – Identificar e envolver os satakeholders conforme planejamento
Institucionalizar técnicas e métodos básicos de teste
2.1- Estabelecer uma política organizacional para o planejamento e execução do processo
CMMI V&V x TMM
23
Relacionamento Metas do nível 3 do TMM com Capacidade dos processos CMMI
Nível TMM Objetivo de Maturidade Objetivo Genérico do CMMI
3 Estabelecer uma organização de testes de software
2.3 – Prover recursos par a execução dos processos2.4 – Definir responsabilidades e autoridade para a executar o processo2.7 – Identificar e envolver os satakeholders conforme planejamento
Integrar o teste no ciclo de vida do software
3.1 – Estabelecer e documentar o o processo adaptado do processo padrão da organização de acordo com as necessidades do projeto
Controlar e monitorar o Processo de Teste 2.7 – Identificar e envolver os satakeholders conforme planejamento2.8 – Monitorar e controlar o processo de acordo com o planejamento, tomando ações corretivas quando necessário2.9 – Avaliar objetivamente a aderência ao processo, identificando as não conformidades2.10 – Revisar as atividades, status e resultados do processo com a alta gerência3.2 – Coletar informações para suportar o uso futuro e a melhoria do processo da organização
Estabelecer um programa de treinamento 2.5 – Treinas as pessoas para executar e dar suporte ao processo
CMMI V&V x TMM
24
Relacionamento Metas do nível 4 do TMM com Capacidade dos processos CMMI
Nível TMM Objetivo de Maturidade Objetivo Genérico do CMMI
4 Estabelecer um programa amplo de revisão
2.2 – Estabelecer e manter um plano par a execução do processo2.3 – Prover recursos par a execução dos processos2.4 – Definir responsabilidades e autoridade para a executar o processo2.7 – Identificar e envolver os satakeholders conforme planejamento
Estabelecer um programa amplo de medições de teste
3.2 – Coletar informações para suportar o uso futuro e a melhoria do processo da organização
Avaliar a qualidade do Software 4.1 – Estabelecer objetivos quantitativos para o processo
CMMI V&V x TMM
25
Relacionamento Metas do nível 5 do TMM com Capacidade dos processos CMMI
Nível TMM Objetivo de Maturidade Objetivo Genérico do CMMI
5 Aplicar processo de prevenção de defeitos 5.1 – Garantir a melhoria contínua do processo de acordo com as necessidades da organização5.2 – Identificar e corrigir as causas dos defeitos e problemas no processo
Controlar a qualidade (usando métodos estatísticos)
4.2 – Estabilizar a perfornance dos subprocessos
Otimizar o Processo de Teste 5.1 – Garantir a melhoria contínua do processo de acordo com as necessidades da organização
Conclusões
26
Apesar do CMMI ser um modelo mundialmente difundido e tratar todas as disciplinas realtivas ao desenvlvimento de software, um modelo específico para Testes facilita o planejamento das organizações para iniciativas de melhoria nessa área.
O Test Maturity Model – TMM, além de facilitar a iniciativa de melhoria em testes da organização, também contribui para melhorar a capacidade em Verificação e Validação de acordo com o CMMI. Ou seja, a adoção do TMM não dispersa esforços relativos à metas de certificação CMMI, ao contrário, contribui para o alcance das mesmas.
Trabalhos Futuros
27
Realizar estudo de caso em uma organização de forma a constatar como o uso do TMM pode contribuir para o aumento da capacidade em Verificação e Validação.- Avaliação inicial TMM e CMMI V&V- Desenvolvimento de programa de melhoria em testes com base no TMM- Após concluído o projeto de melhorias em testes, reavaliar capacidade em CMMI V&V.
Obrigado!
Referências
28
• BASTOS, Aderson et al. Base de Conhecimento em Testes de Software: São Paulo: Martins, 2007
• BURSTEIN Illene; SUWANNASART, Taratip; CARLSON, C.R. Developing a Testing Maturity model: Part I. Crosstalk, Utah, Agosto 1996
• CMMI for Development version 1.2, Pittsburgh, Software Engineering Institute, Carnegie Mellon University, August 2006
• DELAMARO, Eduardo; MALDONADO, José Carlos; JINO, Mário. Introdução ao Teste de Software. Rio de janeiro: Elsevier, 2007
• KOSCIANSKI, André. Qualidade de Software. São Paulo: Novatec, 2007 • OLIVEIRA JÚNIOR, Nielso. An Assessment of CIn-BTC Automation Test
Process According to Test Maturity Model – TMM. 2005. 46p. Monografia de Conclusão de Curso (Curso Sequencial de Formação Complementar em Análise de Testes) - UFPE, Recife, 2005
• PEZZÈ, Mauro. Teste e Análise de Software. Porto Alegre: Bookman, 2008• SOMMERVILE, Ian. Engenharia de Software. 6 ª ed. São Paulo: Addison
Wesley, 2003• VASCONCELOS, A.. Modelos de Maturidade de Testes, 2007
29