24
Visual Studio Summit 2012 André Dias Novidades sobre Testes de Unidade com Visual Studio 2012 Lambda3 Visual Studio ALM MVP Visual Studio ALM Ranger

Novidades sobre Testes de Unidade com Visual Studio 2012

Embed Size (px)

DESCRIPTION

Palestra realizada no Visual Studio Summit 2012 que aborda a nova experiência em testes de unidade do Visual Studio 2012. Foram apresentandos o novo Test Explorer, a nova arquitetura da plataforma de testes que permite rodar NUnit,XUnit entre outros frameworks de testes e também foi apresentado no Microsoft Fakes, o novo framework de isolamento de testes da Microsoft.

Citation preview

Page 1: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

André Dias

Novidades sobre Testes de Unidade com Visual Studio 2012

Lambda3Visual Studio ALM MVP Visual Studio ALM Ranger

Page 2: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Se este é o seu primeiro contato com Testes de Unidade

no Visual Studio, visite: youtube.com/lambda3tv

Page 3: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

A “Unit Testing Experience” do Visual Studio 2012 está focada

nos desenvolvedores escrevendo e executando

testes de unidade enquanto codificam.

Page 4: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Anos de feedbacks dos clientes• Problemas do MS-Test

Framework– MS-Test é muito lento– Suporte ruim para C/C++– Faltam novas features

• Problemas de Experiência– Desenhado para testers, não

para developers– Não adequado para Agile &

TDD

Page 5: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Visão Geral da nova janela Test Explorer

Demo

Page 6: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Experiência focada no DesenvolvedorRed-Green

BarO teste mais

importante aparece primeiro

Tempos

Mostra testes de qualquer

framework

Busca

Detalhes de Execução

Page 7: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

ArquiteturaVisual Studio

Unit Test Explorer

Command Line Runner

TeamBuild Unit Test Activity

Visual Studio Unit Test Platform

MS-Test

Managed

MS-Test

NativeNUnit

xUnit.net

QUnit MORE!

Page 8: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Use o framework que você quiser• Suporte nativo

– .NET – C/C++

• Plugins de Terceiros– NUnit– xUnit.net– MbUnit– QUnit/Jasmine– SQL Server Unit Testing

• Em desenvolvimento

Page 9: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

• Muitas melhorias de desempenho e escalabidade– Especialmente quando você estiver com o teste de unidade

“clássico”

• Suporte para teste Async

[TestMethod]public async Task MyAsyncTest(){

var result = await SomeLongRunningOperation();Assert.IsTrue( result );

}

• Suporte para 64-bit e .Net multi-targeting

Melhorias no MS-Test

Page 10: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Testando métodos async com MS-Test

Demo

Page 11: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Isolamento de código• O novo VS2012 Fakes framework

deixa você isolar praticamente TUDO no .NET

• Fakes vem em dois sabores– Stubs – implementações concretas

de interface ou classes abstratas– Shims – interceptação em runtime

deixa você substituir chamadas, mesmo aquelas do .NET BCL

Page 12: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Usando Fakes para criar testes de unidade rápidos e isolados

Demo

Page 13: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Recomendações• Stubs

– Uma extensão natural de estratégias de testes bem conhecidas– Você deveria se sentir bem ao usá-los em seus testes.

• Shims– São incrivelmente poderosos e algumas vezes a única forma de

testar certas coisas… mas são malignos! – Use Shims para conseguir testar o seu código– Mas não pare por aí…– Refatore o seu código para que você não precise mais de

Shims– Então remova-o

Page 14: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Code coverage no VS 2012• Analise sua cobertura de

código com um simples clique.• Analise um grupo de testes

para ajudar a descobrir como testes específicos estão cobrindo seu Sistema.

• Suporta todos os frameworks gerenciados e nativos

Page 15: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Code Coverage

Demo

Page 16: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Team Foundation Build• Se funciona no Visual Studio,

funciona no Team Foundation Build– 3rd party frameworks– Visual Studio Fakes Isolation

Framework– Code Coverage

• Mais…– Hosted Build (Team Build na Nuvem)– Test Impact Analysis

Page 17: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Testes de Unidade com Team Build na Nuvem

Demo

Page 18: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Continuous Testing• “Se você não está

executando seus testes de unidade, você está apenas compilando. Você não está building.”

Chris PattersonProgram ManagerTeam Foundation Build

• Run Tests After Build irá rodar seus testes de unidade após cada build com sucesso de sua solução

Page 19: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Continuous Testing

Demo

Page 20: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Forte compatibilidade com VS2010• Projetos de Testes do

VS2010 devem funcionar no VS2012 sem qualquer migração (e voltar para o VS 2010)

• O Team Build 2012 pode ser configurado para usar o runner do VS2010 ou o novo VS 2012 runner

Page 21: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Mas espere, ainda tem mais!• Disponível no Visual Studio

Express 2012– Mesma experiência de testes de

unidade– Sem extensibilidade (3rd party

framework)– Sem continuous test runner– Sem fakes framework

Page 22: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

O que está faltando?

• Test Lists– Modo legado apenas

• Test Impact– Funciona no server, – não no VS Client

• Private accessors– Depreciado no VS 2010,

removido no VS 2012

Page 23: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

A “Unit Testing Experience” do Visual Studio 2012 está focada

nos desenvolvedores escrevendo e executando

testes de unidade enquanto codificam.

Page 24: Novidades sobre Testes de Unidade com Visual Studio 2012

Visual Studio Summit 2012

Obrigado!Tem alguma questão agora?– Levante a mão e pergunte!– Vou estar por aí até o fim do evento.

Lembrou de uma questão mais [email protected]@AndreDiasBR

André Dias