Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska. - ppt carregar
Apresentação em tema: "Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska."— Transcrição da apresentação:
1 Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska Junho de 2004
2 Roteiro Introdução Mutações Orientada a Objetos Conclusões
Estudo de caso: exemplos de mutantes Conclusões
3 Introdução No teste de mutação pequenas modificações sintáticas são introduzidas em um programa P. Objetivo: investigar resultados de operadores de mutação OO aplicados às especificações de classe UML e ao código fonte.
4 Mutações Orientada a Objetos
Grupos de operadores de mutação OO: Inherit (Inh) – Muda a classe base ou omite a relação de herança; Associate (Ass) – Muda a associação entre classes; Object (Obj) – Acessa um membro em outro objeto da mesma classe ou membro em outra classe da mesma hierarquia de herança; Member (Mem) – Acessa dado ou função diferente do objeto; Access (Acc) – Muda o especificador de acesso relacionados ao dado, às funções, ou às classes em um relacionamento de herança.
5 Estudo de Caso: diagrama principal para o exemplo do carro
6 Estudo de Caso: classes para o sistema de iluminação do carro
7 Inherit: adiciona herança
8 Inherit: omite relação de herança
9 Inherit: muda a direção de um relacionamento de herança
10 Associate: muda a direção de uma associação
11 Associate: muda agregação para associação
12 Associate: muda classes ligadas por associação
13 Associate: duas associações por uma associação
14 Associate: aponta associação para classe base
15 Associate: substitui agregação para a classe base
16 Object: chama função de um outro objeto associado com classe
17 Object: controle do pedal é chamado por Brake_pedal
18 Object: chama função de classe derivada
19 Member: chama função complementar
20 Member: chama função herdada da classe base
21 Member: troca chamada de funções da mesma classe
22 Member: troca chamada de funções herdadas
23 Member: acessa dado diferente no mesmo objeto
24 Access: substitui função public por protected
25 Access: substitui herança public por private
26 Mutações OO Grupos Inherit, Associate e Access foram aplicados para especificações UML. Grupos Object e Member foram aplicados diretamente no código. Alguns mutantes UML invalidados (compilador) Mutante equivalente. Casos de teste: conjunto básico de testes funcionais + teste adicional. Cobertura: 83% : funções; 85%: linhas de código.
27 Conclusões Operadores melhores: grupos Object e Member.
Mutantes que mudam relação de herança (Inherit) ou tipo de relacionamento de associações são mais adequados na especificação.
Carregar ppt "Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska."