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 –Estudo de caso: exemplos de mutantes Conclusões

3 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 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 5 Estudo de Caso: diagrama principal para o exemplo do carro

6 6 Estudo de Caso: classes para o sistema de iluminação do carro

7 7 Inherit: adiciona herança

8 8 Inherit: omite relação de herança

9 9 Inherit: muda a direção de um relacionamento de herança

10 10 Associate: muda a direção de uma associação

11 11 Associate: muda agregação para associação

12 12 Associate: muda classes ligadas por associação

13 13 Associate: duas associações por uma associação

14 14 Associate: aponta associação para classe base

15 15 Associate: substitui agregação para a classe base

16 16 Object: chama função de um outro objeto associado com classe

17 17 Object: controle do pedal é chamado por Brake_pedal

18 18 Object: chama função de classe derivada

19 19 Member: chama função complementar

20 20 Member: chama função herdada da classe base

21 21 Member: troca chamada de funções da mesma classe

22 22 Member: troca chamada de funções herdadas

23 23 Member: acessa dado diferente no mesmo objeto

24 24 Access: substitui função public por protected

25 25 Access: substitui herança public por private

26 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 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