SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Renato Groffe
Julho/2016
 Mais de 15 anos de experiência na área de Tecnologia
 Pós-graduação em Engenharia de Software – ênfase em
SOA
 Cursando MBA em Business Intelligence (FIAP)
 Graduação em Sistemas de Informação
 Técnico em Processamento de Dados
 MCP, Microsoft Specialist, MCTS, OCA, ITIL, COBIT
 Página no Facebook
https://www.facebook.com/RenatoGroffeSW
 Perfil no Facebook
https://www.facebook.com/renatogroff
 LinkedIn
http://br.linkedin.com/in/renatogroffe
 Visual Studio 2015 Update 3
 Visual Studio Unit Testing Framework
(também conhecido como MS Test)
 Motivos que contribuem para a falta de testes
 Quais os impactos da falta de testes?
 Visão geral dos diferentes tipos de testes na área
de software
 Testes de unidade e a plataforma .NET
 TDD: conceitos gerais
 Implementação de um exemplo prático
 A realização de testes é muitas vezes negligenciada:
◦ Falta de planejamento
◦ Tempo escasso
◦ Equipes reduzidas e sobrecarregadas
◦ Falta de hábito
◦ Excesso de confiança de alguns profissionais
 Retrabalho
 Custos que excedem o orçamento
 Conflitos entre membros de uma equipe técnica ou junto
à área de negócios
 Prejuízos à imagem da equipe ou empresa responsável
por um projeto
 Garantir que o produto atende aquilo que foi especificado para o
projeto
◦ Verificação do correto funcionamento de uma aplicação
◦ Detecção de falhas e defeitos que poderiam passar em branco até
a subida em Produção
 Teste de unidade
 Teste de integração
 Teste de sistema
 Teste de aceitação
 Teste de regressão
◦ São automatizados e repetíveis
◦ Podem ser implementados facilmente
◦ Uma vez escritos, os testes devem ser mantidos para reuso futuro
◦ Qualquer profissional de software deve ser capaz de executá-los
◦ Facilmente acionáveis
◦ Rapidez na execução
 .NET Framework conta com diversas alternativas:
◦ Visual Studio Unit Testing Framework (MS Test)
◦ NUnit (http://www.nunit.org/)
◦ xUnit.net (https://github.com/xunit)
 É possível integrar a utilização destes frameworks ao
processo de build de uma aplicação (VSTS, por exemplo)
 Desenvolvimento baseado na
codificação de testes de unidade
 Abordagem que tem “início” em 2002,
com a publicação do livro “Test-Driven
Development: By Example” por Kent
Beck (“pai” do XP - Extreme
Programming)
 SUT (“System Under Test”) ou CUT
(“Class Under Test” ou “Code Under
Test”) → alguns termos comuns dentro
de TDD
 Construção de soluções de uma maneira que facilite a execução
de testes de unidade
 Codificação de testes antes mesmo da implementação →
evitando assim a elaboração de testes “viciados”
 Ciclo Red-Green-Refactor (com a execução dos testes de
unidade em todos os estágios)
 Código mais claro
 Uma forma de se documentar o código
 Um rápido feedback
 Uma maior cobertura de diferentes trechos de código
 Falhas são apontadas durante o desenvolvimento
 A adoção de TDD acaba por favorecer uma melhor
assimilação de boas práticas:
◦ Separação de Responsabilidades
◦ Maior coesão (evitando classes “faz-tudo”)
◦ Menor acoplamento
 Cálculo de juros compostos (arredondar para 2 casas decimais):
Total a ser Pago = Vl. Empréstimo * ((1 + Taxa Juros Mensal) ^ Núm. Meses)
 Casos de teste:
 Classe a ser criada:
 Link da solução de exemplo:
https://github.com/renatogroffe/TDD_MSPCodingDay2
 Quando aplicar TDD?
◦ Testando todas as funcionalidades da aplicação, sem
exceções?
◦ Considerando apenas funcionalidades mais significativas do
ponto de vista do negócio?
Dúvidas???
 Testes de Unidade no Visual Studio
http://www.devmedia.com.br/testes-unitarios-no-visual-studio-
2012/27215
 Test-Driven Development
http://martinfowler.com/bliki/TestDrivenDevelopment.html
 Unit Test
http://martinfowler.com/bliki/UnitTest.html
Obrigado!!!

Weitere ähnliche Inhalte

Was ist angesagt?

Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Renato Groffe
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015Renato Groff
 
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016Renato Groff
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Test driven development
Test driven developmentTest driven development
Test driven developmentclauvane1708
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018Renato Groff
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Renato Groff
 
Impacto dos frameworks PHP
Impacto dos frameworks PHPImpacto dos frameworks PHP
Impacto dos frameworks PHPThiago Rodrigues
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDWillians De Paula Pereira
 
Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Robson Agapito Correa
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPMarcelo Rodrigues
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)Renato Groff
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosStefan Teixeira
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Bruno Maomeh
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionars4nx
 

Was ist angesagt? (20)

Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
Automatizando Testes de Integração com Azure DevOps | DevOps Experience - Fev...
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015
 
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
BDD (Behavior-Driven Development) - GDG-SP - Julho/2016
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Hertz - Janeiro-2018
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017Mocks, Stubs e Fakes - Developers-SP - Julho-2017
Mocks, Stubs e Fakes - Developers-SP - Julho-2017
 
Impacto dos frameworks PHP
Impacto dos frameworks PHPImpacto dos frameworks PHP
Impacto dos frameworks PHP
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDD
 
Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.Mutant Testing: um mundo para um X-Testing.
Mutant Testing: um mundo para um X-Testing.
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
 
BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)BDD (Behavior-Driven Development)
BDD (Behavior-Driven Development)
 
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes AutomatizadosTDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
TDC 2014 Floripa - Melhorando sua Estratégia de Testes Automatizados
 
Convenia - BPO Under the Hood
Convenia - BPO Under the HoodConvenia - BPO Under the Hood
Convenia - BPO Under the Hood
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionar
 

Andere mochten auch

Introduction to Test Driven Development [TDD]
Introduction to Test Driven Development [TDD]Introduction to Test Driven Development [TDD]
Introduction to Test Driven Development [TDD]Ashish K Agarwal
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentAmir Barylko
 
The Power of BDD
The Power of BDDThe Power of BDD
The Power of BDDNancy Cai
 
How to bdd with concordion
How to bdd with concordionHow to bdd with concordion
How to bdd with concordionAMikitas
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentJoshua Partogi
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentjakubkoci
 
Introduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed ShreefIntroduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed ShreefAhmed Shreef
 

Andere mochten auch (10)

Bdd
BddBdd
Bdd
 
Introduction to Test Driven Development [TDD]
Introduction to Test Driven Development [TDD]Introduction to Test Driven Development [TDD]
Introduction to Test Driven Development [TDD]
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Selenium and Continuous Intergration
Selenium and Continuous IntergrationSelenium and Continuous Intergration
Selenium and Continuous Intergration
 
Test Driven Development (TDD) Basics
Test Driven Development (TDD) BasicsTest Driven Development (TDD) Basics
Test Driven Development (TDD) Basics
 
The Power of BDD
The Power of BDDThe Power of BDD
The Power of BDD
 
How to bdd with concordion
How to bdd with concordionHow to bdd with concordion
How to bdd with concordion
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Introduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed ShreefIntroduction to TDD (Test Driven development) - Ahmed Shreef
Introduction to TDD (Test Driven development) - Ahmed Shreef
 

Ähnlich wie Eng Software TDD

TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Renato Groff
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Renato Groff
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsLuiz Henrique
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Renato Groff
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Renato Groffe
 
Mocking Test - Outubro/2015
Mocking Test - Outubro/2015Mocking Test - Outubro/2015
Mocking Test - Outubro/2015Renato Groff
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Renato Groff
 
3º bate papo com a comunidade
3º bate papo com a comunidade3º bate papo com a comunidade
3º bate papo com a comunidadeFabio Hara
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...JP Clementi
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...Emmanuel Neri
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individualAdivaldo_badinho
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = ProdutividadeAdriano Bertucci
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 

Ähnlich wie Eng Software TDD (20)

TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018
 
Mocking Test
Mocking TestMocking Test
Mocking Test
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Subm_SamuelPereira_FINAL
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Developers-SP - Janei...
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
Mocking Test - Outubro/2015
Mocking Test - Outubro/2015Mocking Test - Outubro/2015
Mocking Test - Outubro/2015
 
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - Grupo Bandeirantes - ...
 
3º bate papo com a comunidade
3º bate papo com a comunidade3º bate papo com a comunidade
3º bate papo com a comunidade
 
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
TechEd Brasil 2010 - Novidades e razões para migrar para o microsoft .net fra...
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
Falando sobre DevOps no azure
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Microsoft ALM = Produtividade
Microsoft ALM = ProdutividadeMicrosoft ALM = Produtividade
Microsoft ALM = Produtividade
 
Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 

Mehr von Renato Groff

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Renato Groff
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Renato Groff
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Renato Groff
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...Renato Groff
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Renato Groff
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Renato Groff
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Renato Groff
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Renato Groff
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Renato Groff
 

Mehr von Renato Groff (20)

Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...
 
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020
 
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...
 
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...
 
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
 
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...
 
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...
 
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020
 
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
 
Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020Aplicações Distribuídas com .NET | TDC Recife Online 2020
Aplicações Distribuídas com .NET | TDC Recife Online 2020
 
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020
 
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
 
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
 
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
 

Eng Software TDD

  • 2.  Mais de 15 anos de experiência na área de Tecnologia  Pós-graduação em Engenharia de Software – ênfase em SOA  Cursando MBA em Business Intelligence (FIAP)  Graduação em Sistemas de Informação  Técnico em Processamento de Dados  MCP, Microsoft Specialist, MCTS, OCA, ITIL, COBIT
  • 3.  Página no Facebook https://www.facebook.com/RenatoGroffeSW  Perfil no Facebook https://www.facebook.com/renatogroff  LinkedIn http://br.linkedin.com/in/renatogroffe
  • 4.  Visual Studio 2015 Update 3  Visual Studio Unit Testing Framework (também conhecido como MS Test)
  • 5.  Motivos que contribuem para a falta de testes  Quais os impactos da falta de testes?  Visão geral dos diferentes tipos de testes na área de software  Testes de unidade e a plataforma .NET  TDD: conceitos gerais  Implementação de um exemplo prático
  • 6.
  • 7.  A realização de testes é muitas vezes negligenciada: ◦ Falta de planejamento ◦ Tempo escasso ◦ Equipes reduzidas e sobrecarregadas ◦ Falta de hábito ◦ Excesso de confiança de alguns profissionais
  • 8.
  • 9.  Retrabalho  Custos que excedem o orçamento  Conflitos entre membros de uma equipe técnica ou junto à área de negócios  Prejuízos à imagem da equipe ou empresa responsável por um projeto
  • 10.
  • 11.  Garantir que o produto atende aquilo que foi especificado para o projeto ◦ Verificação do correto funcionamento de uma aplicação ◦ Detecção de falhas e defeitos que poderiam passar em branco até a subida em Produção
  • 12.  Teste de unidade  Teste de integração  Teste de sistema  Teste de aceitação  Teste de regressão
  • 13. ◦ São automatizados e repetíveis ◦ Podem ser implementados facilmente ◦ Uma vez escritos, os testes devem ser mantidos para reuso futuro ◦ Qualquer profissional de software deve ser capaz de executá-los ◦ Facilmente acionáveis ◦ Rapidez na execução
  • 14.  .NET Framework conta com diversas alternativas: ◦ Visual Studio Unit Testing Framework (MS Test) ◦ NUnit (http://www.nunit.org/) ◦ xUnit.net (https://github.com/xunit)  É possível integrar a utilização destes frameworks ao processo de build de uma aplicação (VSTS, por exemplo)
  • 15.  Desenvolvimento baseado na codificação de testes de unidade  Abordagem que tem “início” em 2002, com a publicação do livro “Test-Driven Development: By Example” por Kent Beck (“pai” do XP - Extreme Programming)  SUT (“System Under Test”) ou CUT (“Class Under Test” ou “Code Under Test”) → alguns termos comuns dentro de TDD
  • 16.  Construção de soluções de uma maneira que facilite a execução de testes de unidade  Codificação de testes antes mesmo da implementação → evitando assim a elaboração de testes “viciados”
  • 17.  Ciclo Red-Green-Refactor (com a execução dos testes de unidade em todos os estágios)
  • 18.  Código mais claro  Uma forma de se documentar o código  Um rápido feedback  Uma maior cobertura de diferentes trechos de código  Falhas são apontadas durante o desenvolvimento
  • 19.  A adoção de TDD acaba por favorecer uma melhor assimilação de boas práticas: ◦ Separação de Responsabilidades ◦ Maior coesão (evitando classes “faz-tudo”) ◦ Menor acoplamento
  • 20.  Cálculo de juros compostos (arredondar para 2 casas decimais): Total a ser Pago = Vl. Empréstimo * ((1 + Taxa Juros Mensal) ^ Núm. Meses)  Casos de teste:  Classe a ser criada:
  • 21.  Link da solução de exemplo: https://github.com/renatogroffe/TDD_MSPCodingDay2
  • 22.  Quando aplicar TDD? ◦ Testando todas as funcionalidades da aplicação, sem exceções? ◦ Considerando apenas funcionalidades mais significativas do ponto de vista do negócio?
  • 24.  Testes de Unidade no Visual Studio http://www.devmedia.com.br/testes-unitarios-no-visual-studio- 2012/27215  Test-Driven Development http://martinfowler.com/bliki/TestDrivenDevelopment.html  Unit Test http://martinfowler.com/bliki/UnitTest.html