Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Melhorando a qualidade derrotando um mutante por vez

Melhorando a qualidade derrotando um mutante por vez

Talk apresentada no TDC SP 2017 em São Paulo.

http://www.thedevelopersconference.com.br/tdc/2017/saopaulo/trilha-devtest

Você sabe o que significa teste de mutação? É uma técnica que garante a REAL cobertura de testes em sua aplicação contra falhas de implementação.

Essa abordagem é melhor do que uma cobertura por linhas, pois observa se os testes estão cobrindo totalmente todos os cenários possíveis e não apenas se os testes executaram todas as linhas de código implementadas.

Descubra como testes de mutação podem te defender de bugs e defeitos em produção. Nessa palestra você entenderá o conceito e como aplicá-lo em Ruby.

Repositório de exemplo para entender testes de mutação e usado na demonstração da apresentação.

https://github.com/lucasalencar/xmen-danger-room

Lucas André de Alencar

July 20, 2017
Tweet

More Decks by Lucas André de Alencar

Other Decks in Programming

Transcript

  1. O que é uma mutação? Original Mutação Condicional x >=

    20 x > 20 Operações 2 + 40 2 - 40 Parâmetros func(name = 'hello') func(name = nil)
  2. Identificação de cenários não cobertos Fortalece cobertura da aplicação Melhora

    o código da aplicação Ajuda a encontrar código não utilizado