1 / 37

CIn-UFPE

CIn-UFPE. Modelos de Maturidade de Testes. Juliana Mafra – jndm@cin.ufpe.br Novembro 2008. 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

kezia
Download Presentation

CIn-UFPE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIn-UFPE Modelos de Maturidade de Testes Juliana Mafra – jndm@cin.ufpe.br 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

  3. CIn-UFPE Introdução a Testes Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 4

  4. Definição • “Testing is the process of executing a program with the intent of finding errors.” [Myers,2004] 5

  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

  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

  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

  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

  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

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

  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

  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

  13. Principais Modelos • Test Improvement Model (TIM) • Test Process Improvement (TPI) • Test Maturity Model (TMM) 14

  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

  15. TIM: Estrutura 16

  16. TIM: Níveis 17

  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 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 18

  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. • 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 19

  19. TPI: Estrutura 20

  20. TPI: Níveis 21

  21. TPI: Modelo de Avaliação • 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 22

  22. TMM: Test Maturity Model • IllinoisInstituteofTechnology • 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

  23. TMM: Estrutura 24

  24. TMM: Níveis 25

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

  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

  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

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

  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

  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

  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

  32. CIn-UFPE Análise Comparativa Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 33

  33. Análise Comparativa 34

  34. CIn-UFPE Conclusões Juliana Mafra – jndm@cin.ufpe.br Novembro 2008 35

  35. Conclusões • 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 36

  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

More Related