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

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

M UT # Uma ferramenta para Geração de Mutantes para linguagem C#.

Apresentações semelhantes


Apresentação em tema: "M UT # Uma ferramenta para Geração de Mutantes para linguagem C#."— Transcrição da apresentação:

1 M UT # Uma ferramenta para Geração de Mutantes para linguagem C#.

2 APRESENTAÇÃO Autores: Alexandre Freitag Fábio Valter Siscate Orientador: Prof. Dr. Flávio Moreira de Oliveira

3 A GENDA Motivação Fundamentação Análise de Mutantes Mut# Conclusão Trabalhos Futuros Referências Bibliográficas

4 MOTIVAÇÃO " O custo de correção de defeitos tende a aumentar quanto mais tarde o defeito for encontrado, numa proporção de 10x." Glenford Myers em 1979 Qualidade no software é importante. Processo de teste é importante. E quem garante a qualidade do teste? Uma técnica é a Análise de Mutantes.

5 FUNDAMENTAÇÃO TEÓRICA Classificar os desvios: Falha - Inconsistências no código-fonte Erro - Resultados esperados inválidos Defeito - Desvio da especificação quanto a regra de negócio Técnicas: Funcional (Black-box) Estrutural (White-box) Níveis de teste: Teste Unitário: testa a classe, método ou trechos menores do código Teste de Integração: testa interface entre as classes Teste de Sistema: funcional, com visão do usuário Teste de Aceitação: executado pelo usuário

6 FUNDAMENTAÇÃO TEÓRICA Teste unitário Arquivos de entrada Verificação do resultado Como garantir a qualidade do Teste Unitário? Teste Unitário Método ou Classe

7 A NÁLISE DE M UTANTES Criada por DeMillo no final da década de 70. Pequenas alterações sintáticas no código fonte original. Desvendar se o teste unitário consegue identificar os códigos mutantes.

8 A NÁLISE DE M UTANTES Execução de diversas instâncias da classe no mesmo teste unitário. Execução do teste unitário nos mutantes. Mutantes mortos. Código Fonte Original Gerador de Mutantes M1 M2 M3 M4 M5 M6

9 TÉCNICAS DE MUTAÇÃO Mutação Clássica Mutação Orientada a Objetos. if ( a < b ) a++; else b++; if ( a > b ) a++; else b++; class pai { int x; } class filho extends filho { int x; } class pai { int x; } class filho extends filho { //int x; }

10 OPERADORES DE MUTAÇÃO Regras definidas para alteração do código. Por exemplo: OAR: Arithmetic Operator Replacement; ROR: Relational Operator Replacement; IHD: Hiding Variable Deletion; OAO: Argument Order Change

11 M UT # Ferramenta para Geração de Mutação Clássica para linguagem C#.

12 M UT # Mutação Clássica. Desenvolvida no Visual Studio NUnit. Mutação Seletiva.

13 M UT # Operadores de Mutação Utilizados Arithmetic Operator ReplacementAOR+ ; ++ ; =+- ; -- ; =- Arithmetic Operator InsertionAOI- ; +-- ; ++ Arithmetic Operator DeletionAOD-- ; ++- ; + Relational Operator ReplacementROR> ; <= ; == = ; != Assignment Operator Replacement ASR-= ; +=+= ; -= Conditional Operator Replacement COR|| ; &&&& ; ||

14 M UT # Arquivos de Entrada Código Original C#. Arquivo XML. Escolha do método: Análise Sintática (Gerador de Parser). Estrutura de Dados (Algoritmo Analisador).

15 M UT # Algoritmo Analisador Criar ProjetoLer Arquivo XML Ler Código- Fonte.cs Parser Mutação Seletiva Geração de Mutantes Análise Individual Salva as Linhas Carregar os arquivos Construir diretórios

16 M UT # Análise dos Resultados:

17 M UT # Conclusão: Objetivo atingido. Característica única. Limitações: Somente mutantes clássico. Programa não faz verificação sintática. Um grupo de mutação por linha.

18 M UT # Trabalhos Futuros: Integração com NUnit. Mutação orientada a objeto. Utilização do gerador de parser. Expansão da quantidade de operadores de mutantes.

19 M UT # Referências Bibliográficas: A. BARTIÉ. Garantia da Qualidade de Software. Editora Campus,Inc, ISBN R. A. DeMillo, R. J. Lipton, and F. G. Sayward. Hints on test data selection: Help for the practicing programmer. Computer, 11(4):34–41, ISSN R. A. DeMillo, R. J. Lipton, and F. G. Sayward. Program mutation: A new approach to program testing. Infotech state of the art report, 2:107–128, Glenford J. Myers. Art of Software Testing. John Wiley & Sons, Inc., New York, NY, USA, ISBN

20 M UT # Apresentação do Sistema


Carregar ppt "M UT # Uma ferramenta para Geração de Mutantes para linguagem C#."

Apresentações semelhantes


Anúncios Google