SlideShare uma empresa Scribd logo
1 de 28
Testando seus testes
com Stryker .net
Olá!
Robson Amorim
desenvolvedor na Lambda3
organizador do High5Devs
MCT, MCSA e MCSD
@amorimrob – rsamorim.azurewebsites.net
Obrigado!
Escrever testes vs testar
https://www.mauricioaniche.com/talks/escrever-testes-vs-
testar/
Mauricio Aniche
O que é um bom
teste?
Um teste que nunca
falha?
Um testes que
sempre falha?
TESTAR É PROCURAR
POR BUGS
1.
Por que escrevemos testes?
✘ Validar a regra de negócio
✘ Segurança para refatorar
✘ Line Coverage lá encima!
✘ Evitar testes manuais
✘ Escrever um código melhor
2.
Como você escreve seus testes?
TDD?
Teste
falha
Refatora
Testa
passa
E como dividimos nossos testes?
IntegraçãoUnidade Aceitação
3.
Pensamos todos os
cenários?
4.
Buscando bugs
16
“
“Uma suite de testes forte é
aquela que te revela bugs,
quando bugs acontecem” –
Mauricio Aniche
Testes
6.
Mutantes?
✘ Pequenos problemas, grande bugs
2 Hipóteses
✘ O código é escrito por programadores competentes
✘ Mutante sobrevivente -> Os testes passaram
✘ Mutante -> A mudança no código
✘ Mutante morto -> Os testes falharam
6.
Stryker .NET
Stryker.net
✘ Open source
✘ .NET Core / Full Framework
✘ Relatório visual ao fim da execução
✘ Command line
Command line tool
✘ Global -> dotnet tool install -g dotnet-stryker
✘ Pro projeto -> dotnet new tool-manifest > dotnet tool install
dotnet-stryker
Mutators
✘ Igualdade (==, !=, >, >=, <, <=)
✘ Operadores Lógicos (&&, ||)
✘ Aritiméticos (+, -, *, /, %)
✘ Atribuição (+=, -=, *=, …)
✘ Booleanos (true, false, list.any(), !lista.any())
Mas vai mudar tudo?
✘ Git diff -> dotnet stryker --diff
✘ Exclua arquivos específicos -> !Classe.cs
✘ Exclua métodos -> *Log*
Configuração via json
✘ Versionado junto com o projeto
✘ Simples de configurar
✘ Não obrigatório
DEMO
Obrigado!
Perguntas ?
@amorimrob
rsamorim.azurewebsites.net

Mais conteúdo relacionado

Mais procurados

Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a diaRafael Chiavegatto
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingSamanta Cicilia
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
Desconstruindo paradigmas - Tornando-se um testador ágil
Desconstruindo paradigmas - Tornando-se um testador ágilDesconstruindo paradigmas - Tornando-se um testador ágil
Desconstruindo paradigmas - Tornando-se um testador ágilThayse Severiano
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemStefan Teixeira
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesSamanta Cicilia
 
Falando sobre testes automatizados
Falando sobre testes automatizadosFalando sobre testes automatizados
Falando sobre testes automatizadosBreno Oliveira
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...Elias Souza
 
E você pensava que tdd era coisa de javaneiro
E você pensava que tdd era coisa de javaneiroE você pensava que tdd era coisa de javaneiro
E você pensava que tdd era coisa de javaneiroPaulo Alves Junior
 
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 minastestingconference
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testarElias Nogueira
 
Rtm3.20 - Ciashop apresenta Geração de Variante Automática / Template Expre...
Rtm3.20 - Ciashop apresenta  Geração de Variante Automática  / Template Expre...Rtm3.20 - Ciashop apresenta  Geração de Variante Automática  / Template Expre...
Rtm3.20 - Ciashop apresenta Geração de Variante Automática / Template Expre...Móveis Usados Curitiba
 
#Javou10 - Testes E2E com JavaScript
#Javou10 - Testes E2E com JavaScript#Javou10 - Testes E2E com JavaScript
#Javou10 - Testes E2E com JavaScriptHenrique Luz
 
Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3Wende Mendes
 
Medindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterMedindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterJúlio de Lima
 

Mais procurados (20)

Mtc docker - utilizando no seu dia a dia
Mtc   docker - utilizando no seu dia a diaMtc   docker - utilizando no seu dia a dia
Mtc docker - utilizando no seu dia a dia
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Desconstruindo paradigmas - Tornando-se um testador ágil
Desconstruindo paradigmas - Tornando-se um testador ágilDesconstruindo paradigmas - Tornando-se um testador ágil
Desconstruindo paradigmas - Tornando-se um testador ágil
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
Testes de a a z
Testes de a a zTestes de a a z
Testes de a a z
 
Desenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por TestesDesenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por Testes
 
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvemMinas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
Minas Testing Conference 2015 - Visual Regression Testing em ambientes na nuvem
 
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de TestesTOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
TOTVS - Agile Testing e a Importância de se ter Estratégia de Testes
 
Falando sobre testes automatizados
Falando sobre testes automatizadosFalando sobre testes automatizados
Falando sobre testes automatizados
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...
 
E você pensava que tdd era coisa de javaneiro
E você pensava que tdd era coisa de javaneiroE você pensava que tdd era coisa de javaneiro
E você pensava que tdd era coisa de javaneiro
 
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
 
Nunca foi tao facil testar
Nunca foi tao facil testarNunca foi tao facil testar
Nunca foi tao facil testar
 
Rtm3.20 - Ciashop apresenta Geração de Variante Automática / Template Expre...
Rtm3.20 - Ciashop apresenta  Geração de Variante Automática  / Template Expre...Rtm3.20 - Ciashop apresenta  Geração de Variante Automática  / Template Expre...
Rtm3.20 - Ciashop apresenta Geração de Variante Automática / Template Expre...
 
#Javou10 - Testes E2E com JavaScript
#Javou10 - Testes E2E com JavaScript#Javou10 - Testes E2E com JavaScript
#Javou10 - Testes E2E com JavaScript
 
Trabalho engenharia de software netbeans
Trabalho engenharia de software   netbeansTrabalho engenharia de software   netbeans
Trabalho engenharia de software netbeans
 
Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3Palestra codigomaravilhosoparte3
Palestra codigomaravilhosoparte3
 
Medindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeterMedindo a performance de aplicações web com JMeter
Medindo a performance de aplicações web com JMeter
 

Semelhante a Testando seus testes com Stryker.NET

Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de SoftwareIgor Takenami
 
Mantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de TesteMantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de Testemauricioszabo
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHPCezar Souza
 
Boas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesBoas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesIsmael
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaRafael Ponte
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In TubaRafael Paz
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Thiago Barradas
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...Isaac de Souza
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 

Semelhante a Testando seus testes com Stryker.NET (20)

Introdução a Testes de Software
Introdução a Testes de SoftwareIntrodução a Testes de Software
Introdução a Testes de Software
 
Mantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de TesteMantendo a Qualidade dos Códigos de Teste
Mantendo a Qualidade dos Códigos de Teste
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Debug Otimizado
Debug OtimizadoDebug Otimizado
Debug Otimizado
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
Boas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros MacetesBoas Praticas de Testes, Bad Smell e Outros Macetes
Boas Praticas de Testes, Bad Smell e Outros Macetes
 
Greenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresaGreenbar - Testes automatizados na sua empresa
Greenbar - Testes automatizados na sua empresa
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Introdução ao Teste de Software
Introdução ao Teste de SoftwareIntrodução ao Teste de Software
Introdução ao Teste de Software
 
TDD
TDDTDD
TDD
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Testes - Para que?
Testes - Para que?Testes - Para que?
Testes - Para que?
 
Clean Code - Fork In Tuba
Clean Code - Fork In TubaClean Code - Fork In Tuba
Clean Code - Fork In Tuba
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
O que seus testes garantem, o funcionamento do código ou das funcionalidades ...
 
O programador pragmático
O programador pragmáticoO programador pragmático
O programador pragmático
 
Introdução a TDD
Introdução a TDDIntrodução a TDD
Introdução a TDD
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 

Mais de Robson Soares Amorim

Mobile DevOps - Facilitando sua vida em 7 passos
Mobile DevOps - Facilitando sua vida em 7 passosMobile DevOps - Facilitando sua vida em 7 passos
Mobile DevOps - Facilitando sua vida em 7 passosRobson Soares Amorim
 
Cosmos DB - Na nuvem, grátis e robusto
Cosmos DB - Na nuvem, grátis e robustoCosmos DB - Na nuvem, grátis e robusto
Cosmos DB - Na nuvem, grátis e robustoRobson Soares Amorim
 
Os Pilares do desenvolvimento seguro de um aplicativo mobile
Os Pilares do desenvolvimento seguro de um aplicativo mobileOs Pilares do desenvolvimento seguro de um aplicativo mobile
Os Pilares do desenvolvimento seguro de um aplicativo mobileRobson Soares Amorim
 
Escalando sua aplicação mundial com Cosmos DB
Escalando sua aplicação mundial com Cosmos DBEscalando sua aplicação mundial com Cosmos DB
Escalando sua aplicação mundial com Cosmos DBRobson Soares Amorim
 
Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!Robson Soares Amorim
 
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin FormsAlerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin FormsRobson Soares Amorim
 
Reagindo a eventos com Xamarin + Firebase
Reagindo a eventos com Xamarin + FirebaseReagindo a eventos com Xamarin + Firebase
Reagindo a eventos com Xamarin + FirebaseRobson Soares Amorim
 
App mobile escalável e seguro com Cosmos DB
App mobile escalável e seguro com Cosmos DBApp mobile escalável e seguro com Cosmos DB
App mobile escalável e seguro com Cosmos DBRobson Soares Amorim
 

Mais de Robson Soares Amorim (11)

Mobile DevOps - Facilitando sua vida em 7 passos
Mobile DevOps - Facilitando sua vida em 7 passosMobile DevOps - Facilitando sua vida em 7 passos
Mobile DevOps - Facilitando sua vida em 7 passos
 
Cosmos DB - Na nuvem, grátis e robusto
Cosmos DB - Na nuvem, grátis e robustoCosmos DB - Na nuvem, grátis e robusto
Cosmos DB - Na nuvem, grátis e robusto
 
Reacting to events with Firebase
Reacting to events with FirebaseReacting to events with Firebase
Reacting to events with Firebase
 
Os Pilares do desenvolvimento seguro de um aplicativo mobile
Os Pilares do desenvolvimento seguro de um aplicativo mobileOs Pilares do desenvolvimento seguro de um aplicativo mobile
Os Pilares do desenvolvimento seguro de um aplicativo mobile
 
Escalando sua aplicação mundial com Cosmos DB
Escalando sua aplicação mundial com Cosmos DBEscalando sua aplicação mundial com Cosmos DB
Escalando sua aplicação mundial com Cosmos DB
 
Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!Automatizando tudo no backend com Cake!
Automatizando tudo no backend com Cake!
 
Streamline your dream dev team
Streamline your dream dev teamStreamline your dream dev team
Streamline your dream dev team
 
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin FormsAlerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
 
Conhecendo ChatBots
Conhecendo ChatBotsConhecendo ChatBots
Conhecendo ChatBots
 
Reagindo a eventos com Xamarin + Firebase
Reagindo a eventos com Xamarin + FirebaseReagindo a eventos com Xamarin + Firebase
Reagindo a eventos com Xamarin + Firebase
 
App mobile escalável e seguro com Cosmos DB
App mobile escalável e seguro com Cosmos DBApp mobile escalável e seguro com Cosmos DB
App mobile escalável e seguro com Cosmos DB
 

Testando seus testes com Stryker.NET