SlideShare uma empresa Scribd logo
Testes com xUnit------------------------------------------------------
Letticia Nicoli
Paula Santos
Letticia Nicoli
● Desenvolvedora na Lambda3
● letticia.nicoli@gmail.com
● @LetticiaNicoli
Quem somos
Paula Santos
● Desenvolvedora na Cubo Tecnologia
● paulacs21@hotmail.com
● https://www.linkedin.com/in/pcrissantos/
MAIS SÉRIO
DO QUE PARECE ...
Autodestruição ativada
O primeiro lançamento do foguete Ariane 5 falhou 37
segundos após sair do solo causando sua destruição.
Motivo: mau funcionamento no software de controle.
O valor de ponto flutuante era muito grande para
ser representado por um inteiro de 16 bits.
Fonte:
en.wikipedia.org/wiki/Ariane_5
Pareceu malware, mas não era
Em 2009, foi adicionada uma barra invertida em todas as URLs que eram
direcionadas para o buscador da empresa.
Resultado: o site foi sinalizado como malware no mundo todo por cerca de 1 hora
Gerou prejuízo total de quase US$ 3 milhões
➔ Tempo
➔ Planejamento
➔ Hábito
➔ Trabalhoso
➔ Conflito com a área de negócios
Por que deixamos os testes para depois/nunca ?
➔ Retrabalho
➔ Virar a noite codando
➔ Alterar código antes da review
➔ Encontrar bug minutos antes do deploy
➔ Cobrir apenas o happy path
Impactos
ENTÃO ….
COMECE A TESTAR
Tipos de Testes
➔ Funcional
Tem o objetivo de validar as
funcionalidades descritas na
documentação.
➔ Interface
Testa se objetos de tela e a
navegabilidade funcionam
conforme o especificado.
➔ Regressão
Ocorre quando é feita alguma alteração na aplicação, por
exemplo, uma nova funcionalidade. Neste caso a recomendação
é executar todos os testes novamente.
Existem diversos tipos de testes de software. Os mais comuns são:
UNIDADE
INTEGRAÇÃO
UI
TESTES
MANUAIS
Testes Unitários
➔ Testar a menor unidade de
código possível, podendo ser
uma classe ou um método.
➔ Mostrar que cada unidade
atende corretamente sua
especificação.
Testes Unitários
➔ A implementação é de responsabilidade do
desenvolvedor, por se tratar de um teste com foco
direto no código.
➔ Devem ser formulados para garantir que todos os
pontos do fluxo a ser testado sejam verificados ao
menos uma vez durante o teste.
Frameworks
Existem hoje no mercado vários frameworks de teste para a plataforma .NET.
Podemos citar alguns:
➔ MsTest: É a biblioteca de testes padrão do .NET integrada ao Visual Studio.
➔ NUnit: Projeto open source derivado do JUnit, que é um framework de
testes para Java.
➔ xUnit.net: É biblioteca de testes também open source que surgiu como
uma evolução do NUnit para testar linguagens da plataforma .NET (C#,
VB.NET, F# e outras).
Testes com xUnit + Coding Dojo
Programação Orientada a Testes
TDD (Test-Driven Development)
➔ Escreva testes antes mesmo de escrever o código de
produção
➔ Assegurar que boa parte do seu sistema tenha um teste
que garanta o seu funcionamento
Como funciona?
➔ Escreva um teste que falha,
faça-o passar da maneira mais
simples possível e, por fim,
refatore o código.
➔ Esse ciclo é conhecido como
Ciclo Vermelho-Verde-Refatora.
O que eu ganho?
➔ Agilidade nos testes automatizados (mais rápido que testes manuais);
➔ Menor quantidade de bugs;
➔ Redução de custos com manutenção;
➔ Segurança ao desenvolvedor na hora de mudanças;
➔ Auxilia na documentação do sistema, pois o teste indica qual deve ser
o comportamento esperado para a unidade a ser testada;
➔ Código de produção de qualidade;
Se está difícil escrever um teste automatizado,
é porque provavelmente o código de produção está complicado !
CODING DOJO
DESENVOLVEDORES
REUNIDOS PARA RESOLVER
UM DESAFIO
NÃO É UMA COMPETIÇÃO !
EXPERIMENTAR e TESTAR
TODOS PARTICIPAM
Piloto e Co-Piloto
Todos podem participar
5 minutos
Randori Kata
PLATÉIA FICA EM SILÊNCIO
ENQUANTO ALGUM DOS TESTES
NÃO ESTIVER PASSANDO
RETROSPECTIVA
AVALIAÇÃO
PONTOS POSITIVOS E NEGATIVOS
Desafio
Ano Bissexto
Um ano é bissexto se ele for divisível por 400
ou se ele for divisível por 4 e não por 100.
Exemplos de anos Bissexto:
1980, 1984, 1988, 1992, 1996 e 2000.
Sugestões
tdd.caelum.com.br
Referências
➔ http://testesdesoftware.com/tipos-de-teste-de-software/
➔ http://bit.ly/TesteUnitarioTesteIntegrado
➔ http://bit.ly/TestesUnitarios-xUnit
➔ http://bit.ly/TestesUnitarios
➔ http://www.codeatest.com/testes-unitarios-porque-escrever/
Obrigada !------------------------------------------------------
Letticia Nicoli
Paula Santos

Mais conteúdo relacionado

PDF
.NET 6: O que há de novo e o que está por vir?
Letticia Nicoli
 
KEY
Programação Orientada a Testes
Gregorio Melo
 
PPTX
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
akamud
 
PDF
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Criciúma Dev
 
PPTX
Xamarin em 7 minutos
akamud
 
PDF
Linguagem c
saido_embalo1980
 
PDF
Desenvolvendo uma App multiplataforma compartilhando 90% do código
Guilherme Heynemann Bruzzi
 
PPTX
Uaijug ADF - spring boot - microservice - Introdução
Rogerio Fontes
 
.NET 6: O que há de novo e o que está por vir?
Letticia Nicoli
 
Programação Orientada a Testes
Gregorio Melo
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
akamud
 
Desenvolvimento Mobile Multiplataforma: Uma abordagem ágil e de alto desempen...
Criciúma Dev
 
Xamarin em 7 minutos
akamud
 
Linguagem c
saido_embalo1980
 
Desenvolvendo uma App multiplataforma compartilhando 90% do código
Guilherme Heynemann Bruzzi
 
Uaijug ADF - spring boot - microservice - Introdução
Rogerio Fontes
 

Mais procurados (20)

PDF
ASP.NET Core com Linux, Docker e Azure
Giovanni Bassi
 
PDF
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
Júnior Porfirio
 
PPTX
9 erros que desenvolvedores Node.js cometem
Fernando Henriques
 
PDF
Javascript por debaixo dos panos
Laís Lima
 
PPTX
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
PDF
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Thiago Ferreira
 
PDF
Integração contínua em PHP com Jenkins
Gilmar Pupo
 
PDF
Jenkins - livre-se da parte chata do Java
Fernando Boaglio
 
PPTX
Workshop react + adonis.js
Denis Velrino
 
PDF
Jenkins
Emmanuel Neri
 
ODP
Botando o Jenkins para rodar seus testes
kinow
 
PPTX
Seminário: Delphi
Ivna Valença
 
PPTX
Monitoramento de containers Docker
José Barbosa
 
PDF
Docker como super comando
Rafael Gomes
 
PPTX
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
Renato Groff
 
PPTX
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Renato Groff
 
PDF
Jenkins, o CI ao seu dispor
s4nx
 
PPTX
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Renato Groff
 
PDF
Novidades das Bibliotecas Jetpack do Android (2021)
Nelson Glauber Leal
 
PDF
Developer Experience no Nubank
Letticia Nicoli
 
ASP.NET Core com Linux, Docker e Azure
Giovanni Bassi
 
DevPira Festival 21 - .NET6 Uma nova forma de construir apis MinimalAPIs
Júnior Porfirio
 
9 erros que desenvolvedores Node.js cometem
Fernando Henriques
 
Javascript por debaixo dos panos
Laís Lima
 
ASP.NET vNext no .NET Architects Days 2014
Giovanni Bassi
 
Devops CI/CD: Obtendo qualidade de vida para o time de desenvolvimento
Thiago Ferreira
 
Integração contínua em PHP com Jenkins
Gilmar Pupo
 
Jenkins - livre-se da parte chata do Java
Fernando Boaglio
 
Workshop react + adonis.js
Denis Velrino
 
Jenkins
Emmanuel Neri
 
Botando o Jenkins para rodar seus testes
kinow
 
Seminário: Delphi
Ivna Valença
 
Monitoramento de containers Docker
José Barbosa
 
Docker como super comando
Rafael Gomes
 
.NET e ASP.NET Core 2.2, .NET Core 3, Visual Studio 2019: uma visão geral - ....
Renato Groff
 
Docker no Back e no Front - um exemplo com .NET Core e Angular - Campus Party...
Renato Groff
 
Jenkins, o CI ao seu dispor
s4nx
 
Docker para Desenvolvedores - Developers-BR - Agosto-2018
Renato Groff
 
Novidades das Bibliotecas Jetpack do Android (2021)
Nelson Glauber Leal
 
Developer Experience no Nubank
Letticia Nicoli
 
Anúncio

Destaque (8)

PDF
Entendendo Xamarin.Forms V2
Letticia Nicoli
 
PDF
C# 7 em 7 minutos
Letticia Nicoli
 
PDF
Desenvolvimento Cross-Mobile com Xamarin
Letticia Nicoli
 
PPTX
Apresentação arquitetura mvc
Jessica Nathany Carvalho Freitas
 
PDF
Entendendo Xamarin.Forms
Letticia Nicoli
 
PDF
Instrumentação Completa para sua Aplicação Mobile com Visual Studio Mobile Ce...
Letticia Nicoli
 
PDF
Desenvolvimento Mobile: Híbrido x Nativo
Letticia Nicoli
 
PDF
Apache Cordova
Ivano Malavolta
 
Entendendo Xamarin.Forms V2
Letticia Nicoli
 
C# 7 em 7 minutos
Letticia Nicoli
 
Desenvolvimento Cross-Mobile com Xamarin
Letticia Nicoli
 
Apresentação arquitetura mvc
Jessica Nathany Carvalho Freitas
 
Entendendo Xamarin.Forms
Letticia Nicoli
 
Instrumentação Completa para sua Aplicação Mobile com Visual Studio Mobile Ce...
Letticia Nicoli
 
Desenvolvimento Mobile: Híbrido x Nativo
Letticia Nicoli
 
Apache Cordova
Ivano Malavolta
 
Anúncio

Semelhante a Testes com xUnit + Coding Dojo (20)

PPT
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Gabriela Patuci
 
PPT
Testes de software(feed_back)
Ramon Tanoeiro
 
PDF
Robotium_Sikuli
Lucas Cortazzo
 
PPTX
Keynote Visual Studio Summit 2016
Ramon Durães
 
PDF
Criando microsserviços em PHP
Flávio Lisboa
 
PPTX
Desenvolvimento de software: Mundo ideal x Mundo real
Henrique Schmidt
 
PPTX
Desenvolvimento de software mundo ideal x mundo real
Willy Salazar
 
PPTX
Integração Contínua
ScrumHalf Tool
 
PDF
Ideais Cowabunga - Headless Testing com GhostDriver
Stefan Teixeira
 
PDF
Lm 71 64_67_04_tut_openaudit
Luciano Silva de Souza
 
PPTX
Cloud Computing e Integração Contínua com o Windows Azure
Grupo de Testes Carioca
 
PDF
Como aumentar a produtividade da sua equipe
Wende Mendes
 
PPTX
Testes automatizados.pptx
Carlos Gonzaga
 
PDF
Cultura de testes em times mobile
Ramon Ribeiro Rabello
 
PPTX
RedGate .NET Reflector
Nuno Gomes
 
PDF
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Eliane Collins
 
PDF
DEV-OPS para teste de software
Qualister
 
PDF
Tdd em django sem desculpas versao final
Adriano Petrich
 
PPT
Integracao Continua em projetos .NET
Luthiano Vasconcelos
 
PPT
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Douglas Leandro Kleinkauf
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Gabriela Patuci
 
Testes de software(feed_back)
Ramon Tanoeiro
 
Robotium_Sikuli
Lucas Cortazzo
 
Keynote Visual Studio Summit 2016
Ramon Durães
 
Criando microsserviços em PHP
Flávio Lisboa
 
Desenvolvimento de software: Mundo ideal x Mundo real
Henrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Willy Salazar
 
Integração Contínua
ScrumHalf Tool
 
Ideais Cowabunga - Headless Testing com GhostDriver
Stefan Teixeira
 
Lm 71 64_67_04_tut_openaudit
Luciano Silva de Souza
 
Cloud Computing e Integração Contínua com o Windows Azure
Grupo de Testes Carioca
 
Como aumentar a produtividade da sua equipe
Wende Mendes
 
Testes automatizados.pptx
Carlos Gonzaga
 
Cultura de testes em times mobile
Ramon Ribeiro Rabello
 
RedGate .NET Reflector
Nuno Gomes
 
Implantação de Ambiente de Integração contínua para projeto que usa Java e C
Eliane Collins
 
DEV-OPS para teste de software
Qualister
 
Tdd em django sem desculpas versao final
Adriano Petrich
 
Integracao Continua em projetos .NET
Luthiano Vasconcelos
 
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Douglas Leandro Kleinkauf
 

Mais de Letticia Nicoli (20)

PDF
Generalização prematura e complexidade acidental, a raiz do mal de todo sof...
Letticia Nicoli
 
PDF
Machine Learning para devs com ML.NET
Letticia Nicoli
 
PDF
O futuro do .NET
Letticia Nicoli
 
PDF
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Letticia Nicoli
 
PDF
Machine Learning para devs com ML.NET
Letticia Nicoli
 
PDF
Xamarin + App Center + Azure DevOps = 
Letticia Nicoli
 
PDF
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Letticia Nicoli
 
PDF
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Letticia Nicoli
 
PDF
Generalização prematura e complexidade acidental, a raiz do mal de todo software
Letticia Nicoli
 
PDF
Visual Studio App Center - Continuous Everything
Letticia Nicoli
 
PDF
Write beautiful code, faster
Letticia Nicoli
 
PPTX
Como Mobile DevOps me ajudou no sucesso de desenvolvimento de aplicativos.
Letticia Nicoli
 
PPTX
Precisamos falar sobre Visual Studio App Center
Letticia Nicoli
 
PDF
Dicas e Truques para aumentar sua produtividade no Visual Studio
Letticia Nicoli
 
PDF
DevOps aplicado a Mobile: Challenge Accepted
Letticia Nicoli
 
PDF
Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Letticia Nicoli
 
PDF
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Letticia Nicoli
 
PDF
Últimas atualizações de produtividade no Visual Studio 2017​
Letticia Nicoli
 
PDF
Xamarin.Forms: Você já ouviu falar?
Letticia Nicoli
 
PDF
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Letticia Nicoli
 
Generalização prematura e complexidade acidental, a raiz do mal de todo sof...
Letticia Nicoli
 
Machine Learning para devs com ML.NET
Letticia Nicoli
 
O futuro do .NET
Letticia Nicoli
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos.
Letticia Nicoli
 
Machine Learning para devs com ML.NET
Letticia Nicoli
 
Xamarin + App Center + Azure DevOps = 
Letticia Nicoli
 
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Letticia Nicoli
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Letticia Nicoli
 
Generalização prematura e complexidade acidental, a raiz do mal de todo software
Letticia Nicoli
 
Visual Studio App Center - Continuous Everything
Letticia Nicoli
 
Write beautiful code, faster
Letticia Nicoli
 
Como Mobile DevOps me ajudou no sucesso de desenvolvimento de aplicativos.
Letticia Nicoli
 
Precisamos falar sobre Visual Studio App Center
Letticia Nicoli
 
Dicas e Truques para aumentar sua produtividade no Visual Studio
Letticia Nicoli
 
DevOps aplicado a Mobile: Challenge Accepted
Letticia Nicoli
 
Desenvolvimento Cross Mobile com Xamarin, por onde começar?
Letticia Nicoli
 
Mobile DevOps: O caminho do sucesso para desenvolvimento de aplicativos
Letticia Nicoli
 
Últimas atualizações de produtividade no Visual Studio 2017​
Letticia Nicoli
 
Xamarin.Forms: Você já ouviu falar?
Letticia Nicoli
 
Conheça Visual Studio IntelliCode e Visual Studio Live Share
Letticia Nicoli
 

Último (16)

PPTX
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
PPTX
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
PPTX
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PPTX
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PPTX
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
PPTX
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
PPTX
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
Curso de Java 3 - (Estruturas de Controle, Decisão, Loop, Procedimento).pptx
Anderson Maciel
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Curso de Java 7 - (ArrayList, Collections,(Set, List, Queue, Map)).pptx
Anderson Maciel
 
22 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 
Curso de Java 5 - (Strings) Tipo de Dados.pptx
Anderson Maciel
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Curso de Java 1 - (Introdução Geral).pptx
Anderson Maciel
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Curso de Java 2 - (PrimeiroPrograma, Variáveis, Tipos e Operadores.pptx
Anderson Maciel
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
Curso de Java 6 - (Números, Data e Hora).pptx
Anderson Maciel
 
Curso de Java 4 - (Orientação a Objetos).pptx
Anderson Maciel
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
21 - Lógica de Programação com Portugol.pptx
Anderson Maciel
 

Testes com xUnit + Coding Dojo