Mutation Testing
Upcoming SlideShare
Loading in...5
×
 

Mutation Testing

on

  • 1,539 views

Testes de Mutação

Testes de Mutação

Statistics

Views

Total Views
1,539
Views on SlideShare
1,421
Embed Views
118

Actions

Likes
0
Downloads
24
Comments
0

6 Embeds 118

http://diariodaqualidade.blogspot.com 100
http://diariodaqualidade.blogspot.com.br 11
http://www.slideshare.net 3
http://diariodaqualidade.blogspot.pt 2
http://www.diariodaqualidade.blogspot.com 1
http://www.diariodaqualidade.blogspot.com.br 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mutation Testing Mutation Testing Presentation Transcript

  • Leonardo Molinari
    • Questões Básicas
    • Entendendo Teste de Mutação
    • Terminologia Base
    • Visão do Processo
    • Usuário não sabe se a suíte de teste é adequada ou não para encontrar erro
    • Solução 1
      • Medir cobertura
        • Mas não se sabe se o teste é adequado para encontrar erros
    • Usuário não sabe se a suíte de teste é adequada ou não para encontrar erro
    • Solução 2
      • Introduzir um bug (Fault seeding)
        • É possível saber se o erro introduzido será ou não encontrado
    • Como saber se TS é adequada para encontrar erros?
    P TS = T0 T1 T2 … Tn    
    • P’ é uma versão que contém um erro!
    • O que se pode concluir sobre TS?
    P P’ TS = T0 T1 T2 … Tn     T0 T1 T2 … Tn    
    • P’ é uma versão que contém um erro!
    • O que se pode concluir sobre TS?
    P P’ TS = Inadequado para encontrar erro introduzido em P’ T0 T1 T2 … Tn     T0 T1 T2 … Tn    
    • O que o programador deve fazer ao perceber isto?
    P P’ TS = T0 T1 T2 … Tn     T0 T1 T2 … Tn    
    • O que o programador deve fazer ao perceber isto?
    P P’ TS = Adicionar novo teste para capturar erro em P’ T0 T1 T2 … Tn     T0 T1 T2 … Tn    
    • Novo teste deve passar em P e falhar em P’
    • Definição: TS distingue programas P e P’
    P P’ T0 T1 T2 … Tn     TS = Tn+1  Tn+1  T0 T1 T2 … Tn    
    • Mutante : Programa original modificado
    • Operador de Mutação : Definição de uma transformação (de original para mutante)
    • Mutante morto : Quando a suíte de teste consegue distinguir mutante do original
    • Mutante sobrevivente : Não morto (acima)
    • Mutante equivalente : Semântica do mutante é equivalente ao original
  • P TS Set of Mutants OPs gerarMutantes encontreSobreviventes sobreviventes novos testes P: Pgm, TS: set of Pgm Ops: Output (survivors: set of Pgm, killed)
    • Não se sabe se erro introduzido por um operador de mutação é relevante
    • Classificar um mutante como equivalente é manual (caro e passível de erro)