A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estratégias para Redução do Custo do Teste de Mutação

Apresentações semelhantes


Apresentação em tema: "Estratégias para Redução do Custo do Teste de Mutação"— Transcrição da apresentação:

1 Estratégias para Redução do Custo do Teste de Mutação

2 Offutt e Untch – estratégias
“faça mais rápido” “faça mais inteligente” “faça menos”

3 Offutt e Untch – e estratégias
“faça mais rápido” : geração e execução mais rápida dos mutantes com a utilização de diferentes plataformas, como por exemplo a execução de programas compilados ao invés de programas interpretados. Execução paralela e etc.

4 Offutt e Untch – e estratégias
“faça mais inteligente” tenta dividir os custos de geração e execução de mutantes em diversas máquinas ou tenta evitar a execução completa dos mutantes. - “Strong Mutation” ou “Mutação Forte” – execução completa e comparação dos resultados finais. - “Weak Mutation” ou “Mutação Fraca” – basta que um estado intermediário incorreto seja obtido.

5 Offutt e Untch – e estratégias
“faça menos”: diminuir a quantidade de mutantes e casos de teste a serem executados, sem que a eficácia do teste seja prejudicada (ou seja mantendo o escore obtido com o conjunto total de mutantes: “Estratégias de Redução de Mutantes”. O testador pode obter um conjunto de casos de teste menor e que tenha um escore de mutação alto considerando todos os mutantes,

6 Estratégias de redução de mutantes (Jia e Harman)
1) Seleção de Mutantes (“Mutant Sampling”) 2) Agrupamento de Mutantes (“Mutant Clustering”) 3) Mutação Seletiva (“Selective Mutation”) 4) Mutação de Ordem Superior (“High Order Mutation”)

7 1. Seleção de Mutantes (“Mutant Sampling”)
Seleciona aleatoriamente os mutantes. Random X% Seleciona uma porcentagem X de mutantes. Seleciona uma porcentagem X de mutantes de cada operador

8 2) Agrupamento de Mutantes (“Mutant Clustering”)
Utiliza algoritmos de clustering – k-means por exemplo - para agrupar os mutantes segundo algumas medidas de similaridade características dos programas, como variáveis, comandos mutados, casos de teste, etc. Seleciona um ou mais (x%) de cada grupo.

9 3. Mutação Seletiva (“Selective Mutation”)
Reduzir o nr de mutantes eliminando os redundantes ou similares, ou facilmente mortos pelos casos de teste. - eliminar X operadores mais custosos (em termos de casos de teste) - eliminar X operadores mais custosos em uma categoria de operador – por ex em comando, variável, cte, operador. - determinar um conjunto essencial de operadores: reduz mutantes, mantendo escore original

10 4. Mutação de Ordem Superior (“High Order Mutation”)
- Reduzir o nr de mutantes combinando n operadores de mutação e gerando mutantes com mais de uma modificação, ou seja n modificações. - n é ordem do mutante. First-Order Mutation (FOM) n =1, mutação tradicional Second-Order Mutation (SOM) n=2 Mutação de segunda ordem. Higher-Ordem Mutation (HOM) Mutação de ordem superior.

11 4. Mutação de Ordem Superior (“High Order Mutation”)
A ideia é que casos de teste que matem os HOMs, matem seus FOMs constituintes – menos mutantes e menos casos de teste. Ainda pode haver HOMs que necessitem casos de teste extras, ou seja não são mortos pelos casos de teste que matam os FOMs  aumento da eficácia. Não considera o efeito do acoplamento.

12 Fortemente Subsuming e Acoplado

13 Fracamente Subsuming e Acoplado

14 Fracamente Subsuming e Desacoplado

15 Não Subsuming e Desacoplado

16 Não Subsuming e Desacoplado

17 Não Subsuming e Acoplado

18 Estratégias para geração de HOMs - SOMs
LastToFirst seleciona o primeiro mutante da lista de mutantes disponíveis. Em seguida, seleciona o último mutante da lista, então o segundo mutante, o penúltimo, o terceiro mutante, o antepenúltimo e assim por diante. DifferentOperators - seleciona mutantes de diferentes operadores para formar um HOM. RandomMix - seleção aleatória de mutantes.

19 Estratégias para geração de HOMs - SOMs
First2Last parecida com LastToFirst, porém ordena a lista de mutantes conforme o local onde a mutação ocorre no código. Assim, mutantes com modificações em pontos bem distintos do software são utilizados. Independente de ferramenta. SameNode utiliza mutantes constituídos de defeitos introduzidos em um mesmo bloco de código.

20 Estratégias para geração de HOMs - SOMs
SameUnit seleciona mutantes que possuem defeitos em uma mesma unidade do sistema. SameUnitFirstToLast e SameUnitDifferentOperators aplicam respectivamente as estratégias First2Last e DifferentOperators em uma mesma unidade do sistema.

21 Estratégias para geração de HOMs - SOMs
Each-Choice, seleciona sequencialmente os mutantes de uma lista de mutantes Estratégia baseada em busca – utiliza algoritmos de busca, tais como os Genéticos, guiados por um função de fitness que pode estar associada ao escore de mutação, à relação com os FOMs constituintes (strenght) e outros fatores de custo.


Carregar ppt "Estratégias para Redução do Custo do Teste de Mutação"

Apresentações semelhantes


Anúncios Google