Escolar Documentos
Profissional Documentos
Cultura Documentos
Projeto de Experimentos em
Engenharia de Software
Eduardo Aranha, UFRN (eduardoaranha@dimap.ufrn.br)
Cristiano Ferraz, UFPE (cferraz@de.ufpe.br)
Paulo Borba, UFPE (phmb@cin.ufpe.br)
Objetivos
2
Agenda
Problema referência
Experimentos controlados
Projeto estatístico de experimentos
Plano Completamente Aleatorizado
Plano Aleatorizado em Blocos Completos
Plano de Quadrados Latinos
Conclusões
3
Problema Referência
A B C
4
Model Based Testing MBT
Especificação do
Sistema
Avaliação:
• Eficiência
• Efetividade
Especificação usando • Facilidade de
notação específica: UML CNL LTS manutenção
• ...
A B C
Especificação dos
casos de teste:
Engenheiro de SW Estatístico*
Responsável por planejar
Sem Conhecimento de
avaliações sobre MBT Tecnologias de SW
Sem conhecimento de
Conhecimento das técnicas
técnicas de DOE de DOE
• Indústria de software
– Profissionais variados
– Projetos diferentes
– Recursos limitados
– Requer resultados cientificamente embasados
7
Como Avaliar as
Ferramentas de MBT?
Requisitos:
Desenvolvedor:
Abordagem: A B C
9
Possíveis Resultados e
Conclusões da Proposta A1
Abordagens: A, B, C
Cenário 1:
10 15 20 25 30 40 h
Cenário 2:
10 15 20 25 30 40 h
Cenário 3:
10 15 20 25 30 40 h
Ambiente de desenvolvimento
Complexidade do projeto
12
Proposta A2 do Eng. de SW
(controle do ambiente)
Requisitos:
• Controle
– Um único projeto
– Um único
desenvolvedor Desenvolvedor:
• Uso de todas as
abordagens
Abordagens: A B C
13
Considerações Sobre
Proposta A2
• Fixar projeto e desenvolvedor elimina alguns
efeitos indesejáveis
14
Proposta A3 do Eng. de SW
(evitando efeito de aprendizagem)
• Mesmo perfil de
desenvolvedor Requisitos:
• Interesse pessoal
determina
abordagem
Desenvolvedor:
• Treinamento na
abordagem
escolhida Abordagens: A B C
15
Considerações Sobre
Proposta A3
• Mesmo perfil de
Requisitos:
desenvolvedor
• Sorteio determina
abordagem
Desenvolvedor:
• Treinamento na
abordagem
sorteada Abordagens: A B C
17
Considerações Sobre
Proposta A4
18
Proposta A5 do Eng. de SW
(aumentando observações)
Requisitos:
Desenvolvedor:
Abordagem: C A B A C B
19
Possíveis Resultados e
Conclusões da Proposta A5
Abordagens: A, B, C
10 15 20 25 30 40 h
Cenário 1:
10 15 20 25 30 40 h
10 15 20 25 30 40 h
Cenário 2:
10 15 20 25 30 40 h
20
Possíveis Resultados e
Conclusões da Proposta A5
Abordagens: A, B, C
10 15 20 25 30 40 h
Cenário 3:
10 15 20 25 30 40 h
21
Aumentando a Quantidade de
Réplicas
• Adicionar mais desenvolvedores
• Subdividir o problema
Requisitos da
aplicação
completa
homemhora
22
Aumentando a Quantidade de
Réplicas
• Adicionar mais desenvolvedores
• Subdividir o problema
Requisitos
dos módulos
da aplicação
homemhora
23
Conclusões Mudaram com
Mais Réplicas?
Abordagens: A, B, C
10 15 20 25 30 40 h
Cenário 1:
10 15 20 25 30 40 h
10 15 20 25 30 40 h
Cenário 2:
10 15 20 25 30 40 h
24
Conclusões Mudaram com
Mais Réplicas?
Abordagens: A, B, C
10 15 20 25 30 40 h
Cenário 3:
10 15 20 25 30 40 h
25
Princípios aprendidos pelo engenheiro de SW formam a
base dos
EXPERIMENTOS CONTROLADOS
26
Experimento Controlado
• Procedimentos que mudam de forma proposital as
variáveis de um processo/sistema
• Observam mudanças na saída e identificar as causas
Variáveis controladas
Entradas Saída
Processo/Sistema Coletam evidências contra
hipótese formulada.
27
Considerações
28
Definições
• Fatores
• Níveis de fatores
• Tratamento
• Unidade experimental
29
Princípios Fundamentais dos
Experimentos Controlados
• Controle local
• Replicação
• Aleatorização
30
Controle Local
...
• Diferente de repetição!
32
Aleatorização
C A B A B C A B C
... ... ... (3º) (1º) (2º) (3º) (1º) (2º)
Altura Experiência
34
Nível de Importância
Aleatorização
Replicação
Controle local
35
Projeto Estatístico de Experimentos
Legado de R. A. Fisher
The Design of Experiments (1935)
37
Plano Experimental
COMPLETAMENTE ALEATORIZADO
38
Plano Experimental
Completamente Aleatorizado (CRD)
• Tratamentos atribuídos de forma aleatória as
unidades experimentais
Requisitos:
Desenvolvedor:
Abordagem: C A B C B A
40
Mas Como Analisar os Dados?
Abordagens: A, B, C
Cenário 1:
10 15 20 25 30 40 h
Cenário 2:
10 15 20 25 30 40 h
• Observação =
Efeito do plano experimental
+ Efeito do tratamento
+ Efeito do erro experimental
• Erro experimental
42
Modelo Linear
yij = µ + τ i + ε ij
ya1
εa1
tratamento réplica µ+Ʈa
ya2 εa2
µ
43
Hipótese Estatística
N(µ, σ2)
H0: µa= µb= µc
H1: µi ≠ µj
µ onde i,j = a, b, c
44
Idéia da Análise
(cenário 1)
Variação “dentro" dos tratamentos
(efeito dos resíduos)
h
Variação “entre” os tratamentos
(efeito dos tratamentos)
45
Idéia da Análise
(cenário 2)
Variação “dentro" dos tratamentos
(efeito dos resíduos)
h
Variação “entre” os tratamentos
(efeito dos tratamentos)
46
ANOVA – Analysis of Variance
∑∑ ( y − yi . )
a n
Erro N–a
Experimental ij QM Erro
i =1 j =1
∑∑ ( y − y.. )
a n
Total N–1
ij
i =1 j =1
valorp
F( a −1, N − a )
47
Exemplo de ANOVA
Fonte de Graus de Liberdade Soma de Quadrado Fo Valor–P
Variação (G.L.) Quadrados Médio
Total 23 407,14
0,8
0,6
0 48
0 4 8 12 16 20
Suposições da ANOVA
erro
– Variância constante
– Normalidade
y y
• Ttest
– H01 : µa ≤ µb H02 : µb ≤ µc H03 : µa ≤ µc
• Resultado é válido?
51
Proposta B1: CRD com
Desenvolvedor Senior e Junior
• Desenvolvedores Junior
• Desenvolvedores Sênior
52
Considerações Sobre Níveis
de Experiência no CRD
• Efeito da experiência ya1
53
Proposta B2: Dois Experimentos
Usando o CRD
• Experimento 1: Grupo de desenvolvedores Junior
Abordagens: A, B, C
Abordagens: A, B, C
54
Considerações Sobre B2
56
Plano Aleatorizado em Blocos
Completos
• Aplicado quando:
– Existe um fator não investigado com influência
significante na variável de saída
– Não é possível ou interessante fixar um único
nível para esse fator
• Bloco
– Grupo homogêneo de unidades experimentais
– Aleatorização feita dentro dos blocos
57
Exemplo de Blocos em
Engenharia de Software
• Níveis de experiência em desenvolvimento
... Baixo
Blocos
(6 desenvolvedores)
... Médio
... Alto
18 participantes
58
Esquema Básico das Fontes de
Variação de Um Experimento
• Observação =
Efeito do plano experimental
+ Efeito do bloco
+ Efeito do tratamento
+ Efeito do erro experimental
59
Modelo Linear*
*Suposição de aditividade
60
ANOVA para RCBD
Erro
(a – 1)(b – 1) SSErro QM Erro
Experimental
...
62
Plano Experimental
QUADRADOS LATINOS
LS – Latin Square
63
Quadrado Latino
• Aplicado quando:
– Existem dois fatores de ruído com influência
significante na variável de saída
• Bloco
– Combinação de níveis dos dois fatores de ruído
(linha, coluna)
64
Cruzamentos Entre Experiência e
Tamanho
Tamanho do Projeto
66
Formas de Obter Mais Observações
(linhas)
Réplica 1 do Quadrado Réplica 2 do Quadrado ...
67
Formas de Obter Mais Observações
(colunas)
Réplica 1 do Quadrado Réplica 2 do Quadrado ...
68
Formas de Obter Mais Observações
(linhas e colunas)
Réplica 1 do Quadrado Réplica 2 do Quadrado ...
69
Esquema Básico das Fontes de
Variação de Um Experimento
• Observação =
Efeito do plano experimental
+ Efeito do tratamento
+ Efeito do erro experimental
70
Modelo Linear
Supõe aditividade
71
ANOVA para Quadrado Latino
Erro
(a1)(b2) SSErro QM Erro
Experimental
73
Considerações Finais
• Experimentos controlados
– Controle local
– Replicação
– Aleatorização
• Importância experimentação em ES
– SBES, ESELAW, ESEM, ICSE,...
74
Considerações Finais
• Planos experimentais
– Completamente aleatorizado
– Aleatorizado em blocos completos
– Quadrado latino
75
Referências
• G. Box, J. Hunter e W. Hunter. Statistics for Experimenters. WileyInterscience,
2nd edition, 2005.
• D. Montgomery. Design and Analysis of Experiments. Wiley, 7th edition, 2008.
• A. Jedlitschka, M. Ciolkowski and D. Pfahl. Reporting Experiments in Software
Engineering. Guide to Advanced Empirical Software Engineering, Springer
London, 201228, 2007.
• K. Hinkelmann and O. Kempthorne. Design and Analysis of Experiments,
Introduction to Experimental Design. WileyInterscience, 2nd edition, 2007.
• R. Kuehl. Design of Experiments: Statistical Principles of Research Design and
Analysis. Duxbury Press, 2nd edition, 1999.
• K. Maxwell. Applied Statistics for Software Managers. Prentice Hall, 2002.
• G. Milliken and D. Johnson. Analysis of Messy Data: Designed Experiments,
volume I. Chapman Hall/CRC, 1993.
• G. Snedecor and W. Cochran. Statistical Methods. Iowa State University Press,
8 edition, 1989.
• C. Wu and M. Hamada. Experiments: Planning, Analysis, and Parameter
Design Optimization. WileyInterscience, 2000.
76
1º Encontro de Engenharia de
Software Experimental 2011
Natal, 10 e 11 de Outubro de 2011
Projeto de Experimentos em
Engenharia de Software
Eduardo Aranha, UFRN (eduardoaranha@dimap.ufrn.br)
Cristiano Ferraz, UFPE (cferraz@de.ufpe.br)
Paulo Borba, UFPE (phmb@cin.ufpe.br)
Proposta C1: RCBD, onde bloco
é (Tamanho, Experiência)
79
Proposta C3: Cada Desenvolvedor
em um Único Bloco