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

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

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.

Apresentações semelhantes


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."

Apresentações semelhantes


Anúncios Google