26
Motiva¸c˜ ao e Objetivos Teste de Software em M´ etodos ´ Ageis etricas de Software Estudo de Caso Conclus˜ oes Referˆ encias ATMM uma ferramenta para gerenciamento de m´ etricas de teste no contexto de m´ etodos ´ ageis M.Sc. Andr´ e Abe Vicente , Dr. M´ arcio Eduardo Delamaro Instituto de Ciˆ encias Matem´ aticas e de Computa¸c˜ ao – ICMC Universidade de S˜ ao Paulo – USP Laborat´ orio de Engenharia de Software – LabES Workshop Brasileiro de M´ etodos ´ Ageis (WBMA) - Agile Brazil 2010 Porto Alegre, 24/06/2010 Andr´ e Abe Vicente (ICMC-USP) Apresenta¸c˜ ao WBMA (Testes) Porto Alegre, 24/06/2010 1 / 25

ATMM uma ferramenta para gerenciamento de métricas de ... · m etricas, ferramentas para coleta, gerenciamento e an alise de m etricas. Objetivos ... Teste de Software Agil Executados

Embed Size (px)

Citation preview

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

ATMM uma ferramenta para gerenciamento de metricasde teste no contexto de metodos ageis

M.Sc. Andre Abe Vicente, Dr. Marcio Eduardo Delamaro

Instituto de Ciencias Matematicas e de Computacao – ICMCUniversidade de Sao Paulo – USP

Laboratorio de Engenharia de Software – LabES

Workshop Brasileiro de Metodos Ageis (WBMA) - Agile Brazil 2010

Porto Alegre, 24/06/2010

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 1 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Roteiro

1 Motivacao e Objetivos

2 Teste de Software em Metodos Ageis

3 Metricas de SoftwareMetricas de Acompanhamento de TesteFerramenta ATMM

4 Estudo de CasoMetodo e Metricas AvaliadasAnalise dos Resultados

5 Conclusoes e Trabalhos Futuros

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 2 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Introducao e Motivacao

Mudancas: necessidades do cliente (satisfacao). Nao podemafetar: cronograma e orcamento.

Metodos ageis: valores, princıpios e boas praticas dedesenvolvimento e conducao de projeto.

Feedback e melhoria contınua

Testes ageis: Constante feedback do cliente.

Executado com frequencia para detectar defeitos o mais cedo possıvel.

Metricas de teste: Acompanhamento, melhoria do processo e praticas.

Avaliar e estabelecer metas de qualidade (artefatos).Codigo de teste de qualidade → medir de forma eficiente softwareproduzido.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 3 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Introducao e Motivacao

Mudancas: necessidades do cliente (satisfacao). Nao podemafetar: cronograma e orcamento.

Metodos ageis: valores, princıpios e boas praticas dedesenvolvimento e conducao de projeto.

Feedback e melhoria contınua

Testes ageis: Constante feedback do cliente.

Executado com frequencia para detectar defeitos o mais cedo possıvel.

Metricas de teste: Acompanhamento, melhoria do processo e praticas.

Avaliar e estabelecer metas de qualidade (artefatos).Codigo de teste de qualidade → medir de forma eficiente softwareproduzido.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 3 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Trabalhos Relacionados e Objetivos

Trabalhos Relacionados

Abordagens para escolha e utilizacao de metricas em projetos ageis(Sato, 2007; Williams et al., 2004; Hartmann e Dymond, 2006;Crispin e Gregory, 2009).

Metricas de teste: objetivos e fatores que influenciam essasmetricas, ferramentas para coleta, gerenciamento e analise demetricas.

Objetivos

Propor adocao de um conjunto de metricas de acompanhamento de teste.

Objetivo Metricas: melhoria contınua do processo de testes e dosartefatos de teste (problemas ou evolucoes e metas de qualidade).

Validar as Metricas com um estudo de caso.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 4 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Teste de Software em Metodos Ageis

Papel central em atividades de Garantia de Qualidade de Software.

Objetivos: Revelar a presenca de erros ou defeitos no produto eaumentar confianca de que o produto esteja correto (Myers et al.,2004).

Aplicado em varios estagios, com diferentes objetivos.

Teste de Software Agil

Executados frequentemente, procurando detectar defeitos o mais cedopossıvel.

Testando sob o ponto de vista do cliente (aceitacao).

Desenvolvimento Dirigido a Testes (TDD), testes de aceitacao, testesexploratorios, de usabilidade e sistema.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 5 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Metricas de software e Metricas ageis

Metricas de software: padroes quantitativos de medidas de varios aspectosdo projeto de software (Pressman, 2006; Crispin e Gregory, 2009).

Apoiar estimativas e medir progresso.Produtividade da equipe.Controle de qualidade (desvios do objetivo, ou a equipe esta nocaminho correto).Controle do projeto.

Boas Metricas Ageis: Reforcar princıpios ageis (Hartmann e Dymond,2006).

Minimizacao de metricas e facilidade para serem coletadas.Influencias de outras metricas.Feedback frequente e regular.Atualizadas, discutidas e disponibilizadas.Incentivar melhoria e alto nıvel de qualidade.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 6 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Metricas de Acompanhamento de Teste

Metricas de acompanhamento de teste

Metricas de acompanhamento de teste

Criadas a partir de uma lista de verificacao (Hartmann e Dymond,2006).

Objetivo, base da medicao, quando utilizar, tendencia esperada, formasde manipulacao...

Categorias:Apoio ao teste de unidade (4 metricas)Apoio ao teste de aceitacao (3 metricas)Apoio geral (2 metricas)

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 7 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Metricas de Acompanhamento de Teste

Metricas de acompanhamento de teste

Metricas de teste adotadas/propostas

M1. Cobertura de Codigo [1,2]

M2. Fator de Teste [4]

M3. Quantidade de Casos de Teste e Assertivas [1,2]

M4. Porcentagem de Assertivas de Teste de Unidade Passando e Falhando

M5. Quantidade de Testes de Aceitacao por Funcionalidades [3]

M6. Porcentagem de Assertivas de Teste de Aceitacao Passando e Falhando

M7. Funcionalidades Testadas e Entregues (Running Tested Features ou RTF) [4]

M8. Tempo de Execucao de Testes

M9. Quantidade de Defeitos Encontrados [1]

Fonte: [1] XP-EF (Williams et al., 2004), [2] Nagappan et al. (2005), [3] (Nagappan,

2004) e [4] (Sato, 2007).

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 8 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Ferramenta ATMM

Agile Testing Metrics Management (ATMM) (1/3)

Apoiar teste de unidade, gerenciar iteracoes e exibir metricas (codigo e teste).

Metricas implementadas: M1 (Cobertura), M2 (Fator de Teste), M3 (CTs eAssertivas), M4 (Assertivas Passando/Falhando), M8 (Tempo)

Outras metricas: LOC/Classes, Qtde. Historias/Backlog, Duracao Iteracao...

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 9 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Ferramenta ATMM

Agile Testing Metrics Management (ATMM) (2/3)

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 10 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Ferramenta ATMM

Agile Testing Metrics Management (ATMM) (3/3)

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 11 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Estudo de Caso

Objetivo: avaliar a aplicacao das metricas de teste de software propostas.

Kalibro (Metricas): Utilizou metodo XP, desenvolvido pela AgilCoop(IME-USP).

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 12 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Metodo e Metricas Avaliadas

Metodo e Metricas Avaliadas

Fontes de Informacao (Estudo de Caso)

Ferramenta ATMM: metricas de teste e metricas codigo-fonte.

Scripts JaBUTi: cobertura requisitos de teste (fluxo de controle edados)

Ferramenta Kalibro: algumas das metricas (qualidade do codigo) -qualidade dos metodos, coesao e acoplamento.

Questionario (XP-EF): caracterizacao dos projetos (Williams et al.,2004).

Ferramentas, praticas ageis e praticas de teste.Aderencia e maturidade da atividade de teste.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 13 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Maturidade e Aderencia

Aderencia atividades de teste (0 a 4):Testes de Unidade Automatizados: 3Testes de Aceitacao com o cliente: 1Desenvolvimento Dirigido a testes (TDD): 2Resultado: nıvel alto teste de unidade, teste de aceitacao e TDD naoutilizados totalmente.

Maturidade da atividade de teste (0 a 5):Teste de Unidade e TDD: 5Processo e Melhoria: 3,75Teste de Aceitacao e Sistema: 2,5Automacao Teste: 2Total Praticas de Teste: 2,1Resultado: Maturidade teste de unidade. preocupacao com processo emelhoria e teste de aceitacao.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 14 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Qtde codigo e teste (Kalibro) (1/2)

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 15 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Qtde codigo e teste (Kalibro) (2/2)

LOC FACTOR [LOC T / LOC SUT]

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 16 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Evolucao dos Testes de Unidade (Kalibro)

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 17 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Qualidade do codigo

Metricas de Qualidade

AMLOC (Average Lines per Method)

MMLOC (Max Method LOC)

LCOM4 (Lack of Cohesion in Methods): metodos relacionados.

ACC (Afferent Connections per Class): classe acessa metodo ou atributode outra classe.

CBO (Coupling Between Objects): qtde de classes utilizadas pela classeanalisada.

Resultados

Metodos pequenos (facilita entendimento), metodos com bom grau de coesao,baixo acoplamento entre as classes.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 18 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Evolucao Cobertura (Kalibro)

EI - Exception Independent

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 19 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Analise dos Resultados

Analise dos Resultados - Evolucao Cobertura (Kalibro)

ED - Exception Dependent

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 20 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Discussao e Conclusoes

Discussao e Conclusoes

Aderencia e maturidade da atividade de testes

Evolucao do codigo-fonte, testes e cobertura

Iteracoes maior enfase aos testes → aumento cobertura.Framework Fest (GUI) contribuiu para o aumento cobertura.

Qualidade do codigo

Coleta de Metricas de Acompanhamento de Teste

Feedback constante durante as iteracoes.

Utilizar informacoes em reunioes diarias e retrospectivas.Melhoria do processo e tambem dos artefatos produzidos.Detectar problemas ou evolucoes (qualidade dos CTs produzidos).Metodologia para metas de qualidade e intervalos de referencia.

Automacao: rapidez (coleta), saıdas devem ser faceis de serem interpretadas.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 21 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Conclusoes

Contribuicoes

Caracterizacao do processo, estrategias e praticas de teste de softwareem metodos ageis.

Descricao conjunto de metricas (atividade de teste em projetos ageis).

Ferramenta ATMM: gerencia de iteracoes e algumas das metricas de teste.Cenario de uso de como a equipe poderia utilizar a ferramenta em umprojeto agil.

Analise de projeto de software que utilizou o metodo XP.

Questionario info. gerais de um projeto agil baseado no (XP-EF):proposta de novas categorias relacionadas a praticas, aderencia e maturidadeda atividade de teste.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 22 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Conclusoes

Trabalhos Futuros

Validacao mais aprofundada das metricas.

Conduzir outro estudo de caso (valores de referencia e compor novasmetricas).

Aplicacao em projetos reais, durante o seu desenvolvimento.

Melhoria da ferramenta ATMM: outras linguagens, metricas de testede aceitacao, coletar codigo diretamente repositorio, integracaoKalibro (valores de referencia).

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 23 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Conclusoes

FIM

Obrigado...Questoes???e-mail: [email protected]

www: andvicente.wordpress.com

Dakar 2010 on January 1, 2010 in Buenos Aires (Maxi Failla/AFP/Getty Images)Big Picture (http://www.boston.com/bigpicture)

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 24 / 25

Motivacao e Objetivos Teste de Software em Metodos Ageis Metricas de Software Estudo de Caso Conclusoes Referencias

Conclusoes

Referencias I

Crispin, L.; Gregory, J. Agile testing: A practical guide for testers and agile teams.Addison-Wesley Professional, 2009.

Hartmann, D.; Dymond, R. Appropriate agile measurement: Using metrics and diagnostics todeliver business value. In: Proceedings of Agile Conference 2006 (AGILE ’06). Minnesota,USA, Washington, DC, USA: IEEE Computer Society, 2006, p. 126–134.

Nagappan, N. Toward a software testing and reliability early warning metric suite. In: 26thInternational Conference on Software Engineering (ICSE 2004), Edinburgh, United Kingdom,IEEE Computer Society, 2004, p. 60–62.

Nagappan, N.; Williams, L.; Osborne, J.; Vouk, M.; Abrahamsson, P. Providing test qualityfeedback using static source code and automatic test suite metrics. In: 16th IEEEInternational Symposium on Software Reliability Engineering, 2005 (ISSRE 2005), Chicago,IL, USA, IEEE Computer Society, 2005, p. 85–94.

Pressman, R. S. Engenharia de software. 6 ed. Sao Paulo: McGraw-Hill, 2006.

Sato, D. T. Uso eficaz de metricas em metodos Ageis de desenvolvimento de software.Dissertacao de Mestrado, Instituto de Matematica e Estatıstica - Universidade de Sao Paulo,Sao Paulo, SP, Orientador: Prof. Dr. Alfredo Goldman, 2007.

Williams, L.; Krebs, W.; Layman, L.; Anton, A. I.; Abrahamsson, P. Toward a framework forevaluating extreme programming. In: Empirical Assessment in Software Engineering(EASE), Edinburgh, Scotland, 2004, p. 11–20.

Andre Abe Vicente (ICMC-USP) Apresentacao WBMA (Testes) Porto Alegre, 24/06/2010 25 / 25