Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´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
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Roteiro
1
Motiva¸
c˜
ao e Objetivos
2
Teste de Software em M´
etodos ´
Ageis
3
M´
etricas de Software
M´
etricas de Acompanhamento de Teste
Ferramenta ATMM
4
Estudo de Caso
M´
etodo e M´
etricas Avaliadas
An´
alise dos Resultados
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Introdu¸c˜
ao e Motiva¸c˜
ao
Mudan¸
cas:
necessidades do cliente (satisfa¸
c˜
ao). N˜
ao podem
afetar: cronograma e or¸
camento.
M´
etodos ´
ageis: valores, princ´ıpios e boas pr´
aticas de
desenvolvimento e condu¸
c˜
ao de projeto.
Feedback e melhoria cont´ınua
Testes ´ageis: Constante feedback do cliente.
Executado com frequˆencia para detectar defeitos o mais cedo poss´ıvel. M´etricas de teste: Acompanhamento, melhoria do processo e pr´aticas.
Avaliar e estabelecer metas de qualidade (artefatos).
C´odigo de teste de qualidade → medir de forma eficiente software produzido.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Introdu¸c˜
ao e Motiva¸c˜
ao
Mudan¸
cas:
necessidades do cliente (satisfa¸
c˜
ao). N˜
ao podem
afetar: cronograma e or¸
camento.
M´
etodos ´
ageis: valores, princ´ıpios e boas pr´
aticas de
desenvolvimento e condu¸
c˜
ao de projeto.
Feedback e melhoria cont´ınua
Testes ´ageis: Constante feedback do cliente.
Executado com frequˆencia para detectar defeitos o mais cedo poss´ıvel. M´etricas de teste: Acompanhamento, melhoria do processo e pr´aticas.
Avaliar e estabelecer metas de qualidade (artefatos).
C´odigo de teste de qualidade → medir de forma eficiente software produzido.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Trabalhos Relacionados e Objetivos
Trabalhos Relacionados
Abordagens para escolha e utiliza¸c˜
ao de m´
etricas em projetos ´
ageis
(Sato, 2007; Williams et al., 2004; Hartmann e Dymond, 2006;
Crispin e Gregory, 2009).
M´
etricas de teste: objetivos e fatores que influenciam essas
m´
etricas, ferramentas para coleta, gerenciamento e an´
alise de
m´
etricas.
Objetivos
Propor ado¸c˜ao de um conjunto de m´etricas de acompanhamento de teste. Objetivo M´etricas: melhoria cont´ınua do processo de testes e dos artefatos de teste (problemas ou evolu¸c˜oes e metas de qualidade). Validar as M´etricas com um estudo de caso.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Teste de Software em M´
etodos ´
Ageis
Papel central em atividades de Garantia de Qualidade de Software. Objetivos: Revelar a presen¸ca de erros ou defeitos no produto e aumentar confian¸ca de que o produto esteja correto (Myers et al.,2004). Aplicado em v´arios est´agios, com diferentes objetivos.
Teste de Software ´Agil
Executados frequentemente, procurando detectar defeitos o mais cedo poss´ıvel.
Testando sob o ponto de vista do cliente (aceita¸c˜ao).
Desenvolvimento Dirigido a Testes (TDD), testes de aceita¸c˜ao, testes explorat´orios, de usabilidade e sistema.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
M´
etricas de software e M´
etricas ´
ageis
M´etricas de software: padr˜oes quantitativos de medidas de v´arios aspectos do 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 est´a no caminho correto).
Controle do projeto.
Boas M´etricas ´Ageis: Refor¸car princ´ıpios ´ageis (Hartmann e Dymond, 2006).
Minimiza¸c˜ao de m´etricas e facilidade para serem coletadas. Influˆencias de outras m´etricas.
Feedback frequente e regular.
Atualizadas, discutidas e disponibilizadas. Incentivar melhoria e alto n´ıvel de qualidade.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
M´etricas de Acompanhamento de Teste
M´
etricas de acompanhamento de teste
M´
etricas de acompanhamento de teste
Criadas a partir de uma lista de verifica¸
c˜
ao (Hartmann e Dymond,
2006).
Objetivo, base da medi¸c˜ao, quando utilizar, tendˆencia esperada, formas de manipula¸c˜ao...
Categorias:
Apoio ao teste de unidade (4 m´etricas) Apoio ao teste de aceita¸c˜ao (3 m´etricas) Apoio geral (2 m´etricas)
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
M´etricas de Acompanhamento de Teste
M´
etricas de acompanhamento de teste
M´
etricas de teste adotadas/propostas
M1. Cobertura de C´odigo [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 Aceita¸c˜ao por Funcionalidades [3]
M6. Porcentagem de Assertivas de Teste de Aceita¸c˜ao Passando e Falhando M7. Funcionalidades Testadas e Entregues (Running Tested Features ou RTF) [4] M8. Tempo de Execu¸c˜ao 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).
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Ferramenta ATMM
Agile Testing Metrics Management (ATMM) (1/3)
Apoiar teste de unidade, gerenciar itera¸c˜oes e exibir m´etricas (c´odigo e teste). M´etricas implementadas: M1 (Cobertura), M2 (Fator de Teste), M3 (CTs e Assertivas), M4 (Assertivas Passando/Falhando), M8 (Tempo)
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Ferramenta ATMM
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Ferramenta ATMM
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Estudo de Caso
Objetivo: avaliar a aplica¸c˜ao das m´etricas de teste de software propostas. Kalibro (M´etricas): Utilizou m´etodo XP, desenvolvido pela AgilCoop (IME-USP).
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
M´etodo e M´etricas Avaliadas
M´
etodo e M´
etricas Avaliadas
Fontes de Informa¸
c˜
ao (Estudo de Caso)
Ferramenta ATMM: m´
etricas de teste e m´
etricas c´
odigo-fonte.
Scripts JaBUTi: cobertura requisitos de teste (fluxo de controle e
dados)
Ferramenta Kalibro: algumas das m´
etricas (qualidade do c´
odigo)
-qualidade dos m´
etodos, coes˜
ao e acoplamento.
Question´
ario (XP-EF): caracteriza¸
c˜
ao dos projetos (Williams et al.,
2004).
Ferramentas, pr´aticas ´ageis e pr´aticas de teste. Aderˆencia e maturidade da atividade de teste.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
An´
alise dos Resultados - Maturidade e Aderˆ
encia
Aderˆ
encia atividades de teste (0 a 4):
Testes de Unidade Automatizados: 3 Testes de Aceita¸c˜ao com o cliente: 1 Desenvolvimento Dirigido a testes (TDD): 2
Resultado: n´ıvel alto teste de unidade, teste de aceita¸c˜ao e TDD n˜ao utilizados totalmente.
Maturidade da atividade de teste (0 a 5):
Teste de Unidade e TDD: 5 Processo e Melhoria: 3,75 Teste de Aceita¸c˜ao e Sistema: 2,5 Automa¸c˜ao Teste: 2
Total Pr´aticas de Teste: 2,1
Resultado: Maturidade teste de unidade. preocupa¸c˜ao com processo e melhoria e teste de aceita¸c˜ao.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
An´
alise dos Resultados - Qtde c´
odigo e teste (Kalibro) (2/2)
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
An´alise dos Resultados - Qualidade do c´odigo
M´etricas de Qualidade
AMLOC (Average Lines per Method) MMLOC (Max Method LOC)
LCOM4 (Lack of Cohesion in Methods): m´etodos relacionados.
ACC (Afferent Connections per Class): classe acessa m´etodo ou atributo de outra classe.
CBO (Coupling Between Objects): qtde de classes utilizadas pela classe analisada.
Resultados
M´etodos pequenos (facilita entendimento), m´etodos com bom grau de coes˜ao, baixo acoplamento entre as classes.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
An´
alise dos Resultados - Evolu¸c˜
ao Cobertura (Kalibro)
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
An´alise dos Resultados
An´
alise dos Resultados - Evolu¸c˜
ao Cobertura (Kalibro)
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Discuss˜ao e Conclus˜oes
Discuss˜
ao e Conclus˜
oes
Aderˆencia e maturidade da atividade de testes Evolu¸c˜ao do c´odigo-fonte, testes e cobertura
Itera¸c˜oes maior ˆenfase aos testes → aumento cobertura. Framework Fest (GUI) contribuiu para o aumento cobertura. Qualidade do c´odigo
Coleta de M´etricas de Acompanhamento de Teste Feedback constante durante as itera¸c˜oes.
Utilizar informa¸c˜oes em reuni˜oes di´arias e retrospectivas. Melhoria do processo e tamb´em dos artefatos produzidos.
Detectar problemas ou evolu¸c˜oes (qualidade dos CTs produzidos). Metodologia para metas de qualidade e intervalos de referˆencia. Automa¸c˜ao: rapidez (coleta), sa´ıdas devem ser f´aceis de serem interpretadas.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Conclus˜oes
Contribui¸c˜
oes
Caracteriza¸c˜ao do processo, estrat´egias e pr´aticas de teste de software em m´etodos ´ageis.
Descri¸c˜ao conjunto de m´etricas (atividade de teste em projetos ´ageis). Ferramenta ATMM: gerˆencia de itera¸c˜oes e algumas das m´etricas de teste. Cen´ario de uso de como a equipe poderia utilizar a ferramenta em um projeto ´agil.
An´alise de projeto de software que utilizou o m´etodo XP.
Question´ario info. gerais de um projeto ´agil baseado no (XP-EF): proposta de novas categorias relacionadas a pr´aticas, aderˆencia e maturidade da atividade de teste.
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias
Conclus˜oes
Trabalhos Futuros
Valida¸
c˜
ao mais aprofundada das m´
etricas.
Conduzir outro estudo de caso (valores de referˆ
encia e compor novas
m´
etricas).
Aplica¸
c˜
ao em projetos reais, durante o seu desenvolvimento.
Melhoria da ferramenta ATMM: outras linguagens, m´
etricas de teste
de aceita¸
c˜
ao, coletar c´
odigo diretamente reposit´
orio, integra¸
c˜
ao
Kalibro (valores de referˆ
encia).
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias Conclus˜oes
FIM
Obrigado...Quest˜
oes???
e-mail: andvicente@gmail.com
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)
Motiva¸c˜ao e Objetivos Teste de Software em M´etodos ´Ageis M´etricas de Software Estudo de Caso Conclus˜oes Referˆencias Conclus˜oes
Referˆ
encias 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 to deliver 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: 26th International 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 quality feedback using static source code and automatic test suite metrics. In: 16th IEEE International 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. S˜ao Paulo: McGraw-Hill, 2006. Sato, D. T. Uso eficaz de m´etricas em m´etodos ´Ageis de desenvolvimento de software.
Disserta¸c˜ao de Mestrado, Instituto de Matem´atica e Estat´ıstica - Universidade de S˜ao Paulo, S˜ao Paulo, SP, Orientador: Prof. Dr. Alfredo Goldman, 2007.
Williams, L.; Krebs, W.; Layman, L.; Ant´on, A. I.; Abrahamsson, P. Toward a framework for evaluating extreme programming. In: Empirical Assessment in Software Engineering