Renato Groffe tem mais de 15 anos de experiência em tecnologia e possui diversas certificações. Ele oferece serviços de consultoria em testes de software, com foco em testes unitários, e ministra treinamentos sobre o assunto. Seu portfólio inclui experiência acadêmica e projetos profissionais na área de engenharia de software e business intelligence.
Apresentação sobre TDD - Test Driven Development no Campus Party 2013 em São Paulo no dia 2/2/2013 onde apresento o que é TDD com uma abordagem prática
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
Apresentação sobre TDD - Test Driven Development no Campus Party 2013 em São Paulo no dia 2/2/2013 onde apresento o que é TDD com uma abordagem prática
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
Apresentação sobre Arquitetura de Automação para Testes Funcionais no TestDay em 20/09/2012 na PUC - SP
Esta apresentação quer mostrar todos os pontos importantes que são necessários para uma arquitetura de testes pensanod "fora da caixa", não somente em criar um script mas em todo o processo durante a automação como gerencimento de erros e logs, relatórios e estratégia para execução da automação.
@test_day
http://testday.com.br
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
Nesta apresentação são colocados alguns pontos/papéis do testador em uma equipe ágil e as principais dúvidas de uma equipe quando alguém "veste o chapéu" de teste ou teremos um testador na equipe.
An introduction to unit testing using Visual Studio, C#, xUnit.net, and Moq. What it is, what is isn't, why we don't do it, how to design for testability, what to test, test driven development, unit testing frameworks, mocking libraries, how to get started.
Robot Framework - principais característicasalinebiath
Um pouco do que aprendi sobre essa ferramenta de automação para testes (web, mobile, API, etc).
Aqui não esgotamos o assunto! Tem muito mais. Aconselho a leitura dos links nas referências, principalmente o User guide do Robot Framework.
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
Introdução ao TDD (Test-Driven Development) palestrado no #guma10anos. Fazendo uma relação com o TFD (Test First Development) e Refatoração, xUnit, Baby Steps, Clean Code, Patters para TDD, Agile Testing e ATDD (Acceptance Test-Driven Development). Ao final os Coding Dojos já realizados pelo RSJUG. Ao final um Prepared Kata demonstrando o TDD na prática.
Nessa palestra divertida, eu falo um pouco sobre a importância do TDD para garantir uma maior qualidade no código quanto um aumento da confiança nas habilidades do desenvolvedor e do time.
Apresentação sobre Arquitetura de Automação para Testes Funcionais no TestDay em 20/09/2012 na PUC - SP
Esta apresentação quer mostrar todos os pontos importantes que são necessários para uma arquitetura de testes pensanod "fora da caixa", não somente em criar um script mas em todo o processo durante a automação como gerencimento de erros e logs, relatórios e estratégia para execução da automação.
@test_day
http://testday.com.br
Trabalho realizado pelo aluno Rafael Sanches sobre teste de software explicando os passos necessários para realização de testes no desenvolvimento de software.
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
Nesta apresentação são colocados alguns pontos/papéis do testador em uma equipe ágil e as principais dúvidas de uma equipe quando alguém "veste o chapéu" de teste ou teremos um testador na equipe.
An introduction to unit testing using Visual Studio, C#, xUnit.net, and Moq. What it is, what is isn't, why we don't do it, how to design for testability, what to test, test driven development, unit testing frameworks, mocking libraries, how to get started.
Robot Framework - principais característicasalinebiath
Um pouco do que aprendi sobre essa ferramenta de automação para testes (web, mobile, API, etc).
Aqui não esgotamos o assunto! Tem muito mais. Aconselho a leitura dos links nas referências, principalmente o User guide do Robot Framework.
Introdução ao TDD (Test-Driven Development) - #guma10anosDionatan default
Introdução ao TDD (Test-Driven Development) palestrado no #guma10anos. Fazendo uma relação com o TFD (Test First Development) e Refatoração, xUnit, Baby Steps, Clean Code, Patters para TDD, Agile Testing e ATDD (Acceptance Test-Driven Development). Ao final os Coding Dojos já realizados pelo RSJUG. Ao final um Prepared Kata demonstrando o TDD na prática.
Nessa palestra divertida, eu falo um pouco sobre a importância do TDD para garantir uma maior qualidade no código quanto um aumento da confiança nas habilidades do desenvolvedor e do time.
Avatars of Test Driven Development (TDD)Naresh Jain
It's easy to speak of test-driven development as if it were a single method, but there are several ways to approach it. In my experience, different approaches lead to quite different solutions.
In this hands-on workshop, with the help of some concrete examples, I'll demonstrate the different styles and more importantly what goes into the moment of decision when a test is written? And why TDDers make certain choices. The objective of the session is not to decide which approach is best, rather to highlight various different approaches/styles of practicing test-driven development.
By the end of this session, you will understand how TTDers break down a problem before trying to solve it. Also you'll be exposed to various strategies or techniques used by TDDers to help them write the first few tests.
Dicas para montar excelentes apresentações de slides no power pointBruno Oliveira
Veja como criar boas apresentações de Slides no Power Point para não fazer feio na hora de apresentar qualquer trabalho, crie slides com bom conteúdo e design agradável e muitas outras dicas!
Slide prontos para o uso e inserção de informações, podemos configurar a apresentação ao seu gosto inserindo diversas formas de highlights destacando sua apresentação das demais. Tudo no slide pode ser re-configurado: cor, letra, formas e highlihts. APRESENTAÇÃO DISPONÍVEL É SÓ BAIXAR
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
Tópicos abordados:
- 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 unitários e a plataforma .NET
- TDD: conceitos gerais
- Implementação de um exemplo prático
- Data-Driven Unit Testing
- Testes unitários e o Visual Studio 2015
Test-Driven Development (TDD) - MSP Coding DayRenato Groff
Slides de apresentação realizada durante o MSP Coding Day, evento realizado em Santos-SP no dia 23/07/2016.
Tópicos abordados:
- 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 unitários e a plataforma .NET
- TDD: conceitos gerais
- Implementação de um exemplo prático
Tópicos abordados:
Apresentação sobre BDD (Behavior-Driven Development) realizada em 20/05/2015.
Tópicos abordados:
- Cenários comuns dentro do desenvolvimento de software
- Test-Driven Development (TDD): uma visão geral
- Testes Unitários no Visual Studio: um exemplo simples
- Behavior-Driven Development (BDD)
- BDD na plataforma .NET
Apresentação sobre BDD (Behavior-Driven Development) realizada em 06/09/2015.
Tópicos abordados:
- Cenários comuns dentro do desenvolvimento de software
- Test-Driven Development (TDD): uma visão geral
- Testes Unitários no Visual Studio: um exemplo simples
- Behavior-Driven Development (BDD)
- BDD na plataforma .NET
- Exemplo prático no Visual Studio 2015
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Renato Groff
Slides de apresentação realizada no dia 24/10/2016 durante o evento QA Ninja Conf 2016.
Tópicos abordados:
- Testes de software e sua importância
- Behavior-Driven Development
- Exemplo prático utilizando o Visual Studio 2015 e o framework SpecFlow
Slides de apresentação realizada para o GDG São Paulo no dia 26/09/2016.
Tópicos abordados:
- Cenários comuns dentro do desenvolvimento de software
- Testes automatizados: uma visão geral
- Dificuldades técnicas na implementação e execução de testes automatizados
- Mocking Test
- Exemplos no Visual Studio 2015
Demonstração de TDD com JUnit sobre um algoritmo de árvore binária.
Conteúdo referente à disciplina Engenharia de Software do curso de Ciência da Computação do Centro Universitário de Belo Horizonte (UniBH), ministrada pelo professor Paulo Henrique Ladeira.
Atenção à órdem dos commits, eles identificam o processo de geração de assinaturas dos métodos, geração de testes e implementação do código.
Código da árvore binária inspirado no seguinte respoitório: https://github.com/Renants/Arvore
Código disponível no repositório https://github.com/guiAlberto/JUnit-Sample
Slides de apresentação realizada para o GDG São Paulo no dia 25/07/2016.
Tópicos abordados:
- Testes de software e sua importância
- Behavior-Driven Development
- Exemplo prático utilizando o Visual Studio 2015 e o framework SpecFlow
“Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver multiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.” Martin Fowler
Integração contínua - Prática de desenvolvimentoMario Mendonça
Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia. Cada integração é verificada por um build automatizado (incluindo testes) para detectar erros de integração o mais rápido possível. Muitos times acham que essa abordagem leva a uma significante redução nos problemas de integração e permite que um time desenvolva software coeso mais rapidamente.
Aprenda um pouco sobre um poderoso conjunto de serviços e ferramentas na gestão de infraestrutura em nuvem, que contribuem com práticas e metodologias ágeis de testes e desenvolvimento.
Ferramentas e serviços envolvidos: Visual Team Services + Azure + Integração contínua(testes e build automatizados) + deploy.
Testes na plataforma .NET: TDD, Mocks, BDD e Selenium - .NET SP - Abril-2018Renato Groff
Apresentação sobre a implementação de testes na plataforma .NET, empregando técnicas como TDD, Mocks, BDD e o framework Selenium. Palestra realizada em meetup promovido pelo grupo .NET SP em 09/04/2018 na cidade de São Paulo-SP.
Apresentação realizada em São Paulo-SP sobre a implementação de Mock Objects em .NET Core (Visual Studio 2017), utilizando para isto os frameworks Moq e NSubstitute.
Microsoft Azure role-based certifications valem a pena? | Interop Day Edição ...Renato Groff
Apresentação realizada em 03/10/2020 durante o Interop Day, cobrindo as Microsoft Azure role-based certifications (com dicas e orientações para todos aqueles interessados em efetuar exames de certificação). Também foi discutido o uso de tecnologias como Azure App Service, Azure Kubernetes Service, Azure Functions, Azure DevOps, dentre outros serviços que integram a nuvem Microsoft.
Kubernetes: dicas e truques para o dia a dia | Azure Experts - Novembro-2020Renato Groff
Apresentação cobrindo dicas e truques úteis no dia a dia com Kubernetes. Palestra realizada em 11/11/2020 durante o evento comemorativo de 1 ano da comunidade Azure Experts.
Como o Microsoft Azure pode melhorar o desenvolvimento de seu Back-End? | Dev...Renato Groff
Slides de apresentação sobre como serviços do Microsoft Azure podem melhorar o desenvolvimento de Back-Ends. Palestra realizada no dia 05/12/2020 (sábado) durante o DevPira Festival 20', evento que aconteceu de forma online com transmissão via YouTube.
Como avançar na Power Platform com Azure Functions e Logic Apps | MVPConf Lat...Renato Groff
Slides de apresentação demonstrando como ir além no desenvolvimento low-code com Power Apps e Power Automate ao combinar estas tecnologias com soluções criadas com Azure Functions e Azure Logic Apps. Palestra realizada em 12/12/2020 (quinta) durante o MVPConf Latam 2020.
GitHub Actions: descomplicando o build/deployment automatizados | MVPConf Lat...Renato Groff
Slides de apresentação cobrindo o build e o deployment automatizado de aplicações utilizando GitHub Actions. Palestra realizada em 12/12/2020 (sábado) durante o MVPConf Latam 2020.
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
Slides de apresentação realizada em evento online promovido pela comunidade Baixada NERD no dia 14/11/2020 (sábado). A palestra abordou a evolução da plataforma .NET e de tecnologias como C#, ASP.NET e Visual Studio ao longo das últimas 2 décadas.
Polly: aplicações .NET resilientes e um melhor tratamento de falhas | MVPConf...Renato Groff
Slides de apresentação cobrindo a utilização da biblioteca Polly na implementação de aplicações .NET mais resilientes e contando com um melhor tratamento de falhas. Palestra realizada em 11/12/2020 (sexta) durante o MVPConf Latam 2020.
Containers no Azure: Docker, Kubernetes e suas diferentes possibilidades | MV...Renato Groff
Slides de apresentação cobrindo o suporte do Microsoft Azure a Docker e Kubernetes. Palestra realizada em 10/12/2020 (quinta) durante o MVPConf Latam 2020.
Docker: dicas e truques para o dia a dia | MVPConf Latam 2020Renato Groff
Slides de apresentação com dicas e truques envolvendo a utilização de containers Docker. Palestra realizada em 10/12/2020 (quinta) durante o MVPConf Latam 2020.
Simplificando a montagem de ambientes de Dev+Testes com Docker | DEVDAY 2020Renato Groff
Slides de apresentação sobre o uso de containers Docker na montagem de ambientes de Dev/Testes realizada no dia 03/12/2020 (quinta) durante o DEVDAY 2020, evento que aconteceu de forma online com transmissão via YouTube.
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...Renato Groff
Slides sobre a implementação de soluções serverless multiplataforma com Azure Functions e .NET Core. Palestra realizada durante o dia 29/10/2020 na trilha .NET do TDC Recife Online.
Aplicações Distribuídas com .NET | TDC Recife Online 2020Renato Groff
Apresentação sobre a implementação de aplicações distribuídas com .NET, incluindo o uso de RabbitMQ e Apache Kafka. Slides utilizados no dia 29/10/2020 durante o TDC Recife Online 2020.
Novidades do .NET 5 e ASP.NET 5 | Visual Studio Summit 2020Renato Groff
Apresentação sobre as novas funcionalidades do .NET 5 e do ASP.NET 5. Material utilizado em palestra realizada durante o Visual Studio Summit 2020 evento online que aconteceu entre os dias 28 e 31/10/2020.
Serverless + Integrações com BDs: Azure Functions e Logic Apps - SQLSaturday ...Renato Groff
Apresentação sobre o uso de soluções serverless como Azure Functions e Logic Apps em integrações com tecnologias de bancos de dados como SQL Server/Azure SQL, Redis, MongoDB e Azure Cosmos DB. Palestra realizada durante o SQLSaturday #1016 - São Paulo, evento que aconteceu online no dia 26/09/2020 (sábado).
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
Apresentação sobre boas práticas de segurança no acesso a dados em Web Apps. Palestra realizada durante o SQLSaturday #972 - Belo Horizonte, evento que aconteceu online no dia 24/10/2020 (sábado).
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
Apresentação o passado, o presente e o futuro da plataforma .NET (incluindo tecnologias como C#, Visual Studio, Visual Studio Code, Microsoft Azure). Palestra realizada em 16/10/2020 durante a Semana da Faculdade de Computação e Informática da Universidade Mackenzie em São Paulo-SP.
Docker: visão geral e primeiros passos | Fatec Praia Grande - Semana Tecnológ...Renato Groff
Apresentação sobre primeiros passos no uso de containers Docker. Palestra realizada em 06/10/2020 durante a Semana Tecnológica da Fatec de Praia Grande-SP.
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Renato Groff
Slides de apresentação realizada no dia 03/09/2020 e focando na implementação e deployment de soluções escaláveis com Kubernetes, além de trazer diversas dicas, truques e exemplos práticos na orquestração de containers.
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Renato Groff
Slides de palestra detalhando diversos serviços do Microsoft Azure e sua aplicabilidade na implementação de soluções na nuvem. Apresentação realizada na Sala Microsoft em 25/08/2020, durante o TDC São Paulo Online.
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 2013
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 unitários e a plataforma .NET
TDD: conceitos gerais
Implementação de um exemplo prático
Testes unitários e o Visual Studio 2015
6.
7. A realização de testes é muitas vezes negligenciada:
◦ Falta de planejamento
◦ Tempo escasso
◦ Equipes reduzidas e sobrecarregadas, trabalhando
simultaneamente em vários projetos
◦ 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 (ou teste unitário): verificação das menores unidades
(método, classe, objeto) em um software, a fim de determinar a lógica de
uma estrutura sob análise
Teste de integração: análise do funcionamento em conjunto das diferentes
partes que compõem uma aplicação
Teste de sistema: simulação de uma situação real, em um ambiente
equivalente ao de Produção
Teste de aceitação: conduzidos por um grupo de usuários finais com o
intuito de simular operações cotidianas
Teste de regressão: verifica se mudanças introduzidas em uma versão
resultam em efeitos colaterais nas funcionalidades pré-existentes
13. São características comumente atribuídas aos testes unitários:
◦ São automatizados e repetíveis
◦ Podem ser implementados facilmente
◦ Uma vez escritos, os testes devem ser mantidos para reuso futuro
◦ Qualquer profissional envolvido com o desenvolvimento de uma
aplicação deve ser capaz de executá-los
◦ Facilmente acionáveis, com isto acontecendo a partir de um botão ou
item de menu dentro de uma IDE
◦ Rapidez na execução
14. Assim como as principais plataformas da atualidade, o
.NET Framework conta com diversas alternativas para a
implementação de testes unitários:
◦ 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 → O Team Foundation é
um bom exemplo de solução que suporta este tipo de
funcionalidade
18. A janela Test Explorer e o resultado da execução de testes
unitários
19. O uso do Visual Studio Unit Testing Framework requer:
◦ A criação de um novo projeto de testes
◦ Referenciar a aplicação que será submetida a testes neste novo
projeto
◦ A criação de classes que conterão os testes, marcando as mesmas com o
atributo “TestClass”
◦ A definição de métodos para checagens nessas classes de testes, com
estes últimos sendo marcados com o atributo “TestMethod” e fazendo
uso de funções definidas na classe Assert
20. Um pouco mais sobre a classe Assert:
◦ Definida no namespace Microsoft.VisualStudio.TestTools.UnitTesting
◦ Caso uma checagem produza como resultado o valor false,
considera-se que o teste em questão gerou um erro
◦ Alguns dos métodos disponibilizados por este tipo: AreEqual,
AreNotEqual, IsFalse, IsTrue, IsNull e IsNotNull
21. Desenvolvimento baseado na codificação de testes unitários
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
22. Construção de soluções de uma maneira que facilite a integração a
ferramentas para a execução de testes unitários
Codificação de testes unitários antes mesmo da implementação
das partes que serão submetidas a análises → evitando assim a
elaboração de testes “viciados”
23. A implementação de uma funcionalidade segue um ciclo
conhecido como Red-Green-Refactor (com a execução
dos testes unitários em todos os estágios)
24. Teste elaborado antes mesmo da funcionalidade ter sido
codificada (apenas a estrutura básica foi definida), de
forma a se evitar uma verificação “viciada”
Exemplo de definição de classe
com funcionalidades ainda não
implementadas→
26. Funcionalidade codificada da forma mais simples
possível, de maneira a garantir a execução com sucesso
dos testes
Exemplo anterior com
funcionalidades já implementadas →
27. Eliminação de instruções duplicadas e eventuais melhorias
no código
Exemplo de classe
refatorada →
28. Código mais claro, já que os testes são escritos com o objetivo de checar
porções menos extensas de um projeto
Testes unitários podem ser encarados como uma forma de se documentar o
código → entendimento de como o método ou classe funciona
Um rápido feedback, com a geração de alertas diante de eventuais problemas →
algo extremamente importante ao se efetuarem testes de regressão
Uma maior cobertura de diferentes trechos de código, o que poderia não
acontecer com outros tipos de testes
Falhas são apontadas durante o desenvolvimento, economizando assim tempo
e recursos financeiros
29. Ao buscar um código mais simples e de fácil manutenção, a
adoção de TDD acaba por favorecer uma melhor assimilação de
boas práticas de desenvolvimento/arquitetura de software:
◦ Separação de Responsabilidades (ao isolar a lógica de negócios ou de
acesso a dados das camadas de visualização de uma aplicação)
◦ Maior coesão (evitando a implementação de classes “faz-tudo”)
◦ Menor acoplamento (a simplificação do código visando a escrita de
testes eficazes contribui para uma menor dependência entre diferentes
partes de uma aplicação)
30. Cálculo de juros compostos:
Total a ser Pago = Vl. Empréstimo * ((1 + Taxa Juros Mensal) ^ Núm. Meses)
Casos de teste:
Classe a ser criada:
31. Link para download da solução de exemplo:
https://gallery.technet.microsoft.com/Exemplo-de-aplicao-que-4f2cb4c1
32. O Visual Studio 2015 conta com um novo recurso chamado
“Smart Unit Tests”, com o objetivo de simplificar o processo de
geração de testes unitários:
◦ Geração de vários casos de teste a partir de um simples clique do mouse
◦ Emprega técnicas de análise de código que buscam exercitar todos os
caminhos lógicos existentes dentro de um método/função
◦ Possibilidade de criação de um projeto de testes a partir dos casos
levantados por esta ferramenta → útil em testes de regressão
33. Casos de testes gerados automaticamente pelo Visual
Studio 2015:
34. 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?
36. Testes Unitários no Visual Studio
http://www.devmedia.com.br/testes-unitarios-no-visual-studio-
2012/27215
Novos recursos do Visual Studio 2015: Smart Unit Tests
http://netcoders.com.br/blog/visual-studio-2015-smart-unit-
tests/
Test-Driven Development
http://martinfowler.com/bliki/TestDrivenDevelopment.html
Unit Test
http://martinfowler.com/bliki/UnitTest.html