SlideShare uma empresa Scribd logo
1 de 18
Mutant Testing
um mundo para um X-Tester participar.
Locaweb, 07 de novembro de 2015
RobsonAgapitoCorrea
Robson Agapito
 Entusiasta de Qualidade de Software
 Coordenador de Qualidade na Locaweb
 br.linkedin.com/in/robsonagapito
 www.testadores.com
 @robsonagapito
Teste Estrutural
Nãogarante
funcionalidade
TESTE ESTRUTURAL
def exemplo(numero)
auxiliar = 1
if numero = auxiliar
puts ‘é igual’
end
puts ‘fim’
end
Cobertura de
Comandos
Cobertura de
Condição
Cobertura de Código
RUBY
SIMPLECOV
RCOV
Mutant Testing
Conceito
Conceito
"Basicamente, testes de mutação propõem a
criação de variações de um programa
anteriormente desenvolvido, ou seja,
mutantes, posteriormente à construção de
casos de testes com a finalidade de provar
que as variações do programa original não
estão corretas.“
Artigo Engenharia de Software 8 - Testes de Mutação com o plug-in MuClipse
http://www.devmedia.com.br/artigo-engenharia-de-software-8-testes-de-
mutacao-com-o-plug-in-muclipse/11315#ixzz3qhzYUPxD
Vantagens
Vantagens
Identificação de falhas no código do programa
Desenvolvimento de efetivos casos de testes
Identificação de brechas nos casos de testes
Melhoria na qualidade do código do programa
desenvolvido
Eliminação de códigos ambíguos
Na prática:
"Ajudou a criar variações de testes que
não haviámos pensado.”
Dev Locaweb
Desvantagens
Desvantagens
Dificuldade na implementação de mutações
diversas
Caro e demorado
Requer um Tester com perfil mais técnico
Na prática:
”O tempo para iniciar e finalizar uma
execução se tornou inviável a utilização do
mutant testing em todo o programa.”
Dev Locaweb
Vamos Praticar
Vamos Praticar
Class: Book
Methods:
initialize
Class: Library
Methods:
Initialize
book
add_book
exists_book?
Dúvidas?
Robson Agapito Correa
robson.agapito@locaweb.com.br
robsonagapito@gmail.com
http://pt.slideshare.net/robsonagapito
https://github.com/robsonagapito
Muito Obrigado!
Estamos contratando!
Front End / Back End
Mutant Testing
um mundo para um X-Tester participar.
Locaweb, 07 de novembro de 2015
RobsonAgapitoCorrea

Mais conteúdo relacionado

Mais procurados

Exercícios teste de software
Exercícios   teste de softwareExercícios   teste de software
Exercícios teste de software
marildovezaro
 
TDD no Community Launch 2010 - Christian Cunha
TDD no Community Launch 2010 - Christian CunhaTDD no Community Launch 2010 - Christian Cunha
TDD no Community Launch 2010 - Christian Cunha
Christian Cunha
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
Vitor Silva
 

Mais procurados (20)

Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnit
 
Automatizando seus testes com robot framework
Automatizando seus testes com robot frameworkAutomatizando seus testes com robot framework
Automatizando seus testes com robot framework
 
Facilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHPFacilitando o desenvolvimento orientado a testes em aplicações PHP
Facilitando o desenvolvimento orientado a testes em aplicações PHP
 
RealDay: Introduction to TDD
RealDay: Introduction to TDDRealDay: Introduction to TDD
RealDay: Introduction to TDD
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDD
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva 3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
 
Exercícios teste de software
Exercícios   teste de softwareExercícios   teste de software
Exercícios teste de software
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 
Testes Unitários/Integrados
Testes Unitários/IntegradosTestes Unitários/Integrados
Testes Unitários/Integrados
 
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDDPHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
PHP Expericence 2015 - Testes Unitários - Existe vida antes do TDD
 
Seu app a prova de gambiarras (ou não) - Ferramentas de validaSPção de código
Seu app a prova de gambiarras (ou não) - Ferramentas de validaSPção de códigoSeu app a prova de gambiarras (ou não) - Ferramentas de validaSPção de código
Seu app a prova de gambiarras (ou não) - Ferramentas de validaSPção de código
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
JUnit Experience
JUnit ExperienceJUnit Experience
JUnit Experience
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Testes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalksTestes O que são e para que servem? - LadyTalks
Testes O que são e para que servem? - LadyTalks
 
TDD - Workshop Pyladies SP
TDD - Workshop Pyladies SPTDD - Workshop Pyladies SP
TDD - Workshop Pyladies SP
 
TDD no Community Launch 2010 - Christian Cunha
TDD no Community Launch 2010 - Christian CunhaTDD no Community Launch 2010 - Christian Cunha
TDD no Community Launch 2010 - Christian Cunha
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Desenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes UnitáriosDesenvolvimento em .Net - Testes Unitários
Desenvolvimento em .Net - Testes Unitários
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de código
 

Destaque (8)

Trabajo de informatica 9 a
Trabajo de informatica 9 aTrabajo de informatica 9 a
Trabajo de informatica 9 a
 
Untitled 1
Untitled 1Untitled 1
Untitled 1
 
Валерия Ибраева
Валерия ИбраеваВалерия Ибраева
Валерия Ибраева
 
Fundamentos2013 circunferencia
Fundamentos2013 circunferenciaFundamentos2013 circunferencia
Fundamentos2013 circunferencia
 
Agenda 26012017
Agenda 26012017Agenda 26012017
Agenda 26012017
 
Impress unitat de mesura jp
Impress unitat de mesura jpImpress unitat de mesura jp
Impress unitat de mesura jp
 
External influences on business activity
External influences on business activity External influences on business activity
External influences on business activity
 
NGHIÊN CỨU ĐẶC ĐIỂM LÂM SÀNG CHẨN ĐOÁN HÌNH ẢNH VÀ MÔ BỆNH HỌC CỦA UNG THƯ SÀ...
NGHIÊN CỨU ĐẶC ĐIỂM LÂM SÀNG CHẨN ĐOÁN HÌNH ẢNH VÀ MÔ BỆNH HỌC CỦA UNG THƯ SÀ...NGHIÊN CỨU ĐẶC ĐIỂM LÂM SÀNG CHẨN ĐOÁN HÌNH ẢNH VÀ MÔ BỆNH HỌC CỦA UNG THƯ SÀ...
NGHIÊN CỨU ĐẶC ĐIỂM LÂM SÀNG CHẨN ĐOÁN HÌNH ẢNH VÀ MÔ BỆNH HỌC CỦA UNG THƯ SÀ...
 

Semelhante a Mutant Testing: um mundo para um X-Tester participar.

Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
Thiago Ghisi
 

Semelhante a Mutant Testing: um mundo para um X-Tester participar. (20)

Demystifying Automated Tests - [ PT-BR ]
Demystifying Automated Tests - [ PT-BR ]Demystifying Automated Tests - [ PT-BR ]
Demystifying Automated Tests - [ PT-BR ]
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...A importância dos testes unitários: do código legado ao pipeline de testes em...
A importância dos testes unitários: do código legado ao pipeline de testes em...
 
Descomplicando os mocks - pyse
Descomplicando os mocks - pyseDescomplicando os mocks - pyse
Descomplicando os mocks - pyse
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Usando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScriptUsando QUnit para testes unitários em JavaScript
Usando QUnit para testes unitários em JavaScript
 
Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!Teste agora! Não deixe para depois!
Teste agora! Não deixe para depois!
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojo
 
Testes de unidade - RP Tec Com
Testes de unidade - RP Tec ComTestes de unidade - RP Tec Com
Testes de unidade - RP Tec Com
 
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz6. apresentacao rp tec com 2018 igor rozani e felipe muniz
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
 
Descomplicando os mocks
Descomplicando os mocksDescomplicando os mocks
Descomplicando os mocks
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Agile Testing - Qualidade do Discovery ao Deploy
Agile Testing - Qualidade do Discovery ao DeployAgile Testing - Qualidade do Discovery ao Deploy
Agile Testing - Qualidade do Discovery ao Deploy
 
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
[DevOps Summit]Importância de testes automatizados para sustentar Continuous...
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 
Testes Funcionais - Unidade IV
Testes Funcionais - Unidade IVTestes Funcionais - Unidade IV
Testes Funcionais - Unidade IV
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 

Mais de Robson Agapito Correa

Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
Robson Agapito Correa
 

Mais de Robson Agapito Correa (17)

ChatGPT e Testes de Software
ChatGPT e Testes de SoftwareChatGPT e Testes de Software
ChatGPT e Testes de Software
 
Testes em uma arquitetura com messageria/streaming (Kafka)
Testes em uma arquitetura com messageria/streaming (Kafka)Testes em uma arquitetura com messageria/streaming (Kafka)
Testes em uma arquitetura com messageria/streaming (Kafka)
 
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall PortuguesaA aventura de um Agile Tester em uma empresa Waterfall Portuguesa
A aventura de um Agile Tester em uma empresa Waterfall Portuguesa
 
Python com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium WebdriverPython com qualidade - testes funcionais com Python e Selenium Webdriver
Python com qualidade - testes funcionais com Python e Selenium Webdriver
 
Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?Qual arquitetura de automação escolher: monolítica ou distribuída?
Qual arquitetura de automação escolher: monolítica ou distribuída?
 
MindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo AgileMindMaps ajudando planejar meus testes no mundo Agile
MindMaps ajudando planejar meus testes no mundo Agile
 
Utilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous DeliveryUtilizando Cucumber para um Continuous Delivery
Utilizando Cucumber para um Continuous Delivery
 
Automação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e MechanizeAutomação de testes funcionais com Python e Mechanize
Automação de testes funcionais com Python e Mechanize
 
Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.Estou desempregado e agora? Como me recolocar como QA.
Estou desempregado e agora? Como me recolocar como QA.
 
Ruby Conf Brasil 2015
Ruby Conf Brasil 2015Ruby Conf Brasil 2015
Ruby Conf Brasil 2015
 
Criação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao AgileCriação de uma equipe de QAs, do Waterfall ao Agile
Criação de uma equipe de QAs, do Waterfall ao Agile
 
QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!QAs podem realizar testes de APIs? DEVEM!!!
QAs podem realizar testes de APIs? DEVEM!!!
 
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
Continuous Integration, Automated Builds e Continuous Deploy, desenvolvimento...
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
 
Palestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de SoftwarePalestra FIAP - 11/09/2014 - Testes de Software
Palestra FIAP - 11/09/2014 - Testes de Software
 
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver  para reali...
Evento Locaweb Curitiba - Utilizando Rspec com Selenium Webdriver para reali...
 
TDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de SoftwareTDC 2012 - Processo de Teste e Qualidade de Software
TDC 2012 - Processo de Teste e Qualidade de Software
 

Mutant Testing: um mundo para um X-Tester participar.