Number of View: 22649
VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)

O Visual Studio já é uma ferramenta surpreendente para escrever código. O Team Developer simplesmente torna-a melhor, oferecendo aos desenvolvedores mais ferramentas para escrever código com mais qualidade, fornecendo ferramentas para o desenvolvedor executar a análise do código base, análise dinâmica em executáveis em execução com a finalidade de coletar informações de perfil de desempenho e cobertura de código, bem como uma estrutura de testes de unidade inteiramente integrada.

Análise de código

As ferramentas de análise de código fornecidas com o código do Visual Studio Team System analisam o código durante sua criação e são baseadas em ferramentas testadas pelo tempo como FxCop e PreFast. Essas ferramentas têm a capacidade de analisar código para padrões específicos de defeito que coincidem com as regras especificadas pelo usuário. Para habilitar a análise do código gerenciado (escrito em qualquer linguagem .NET), você pode navegar até a caixa de diálogo Properties de qualquer projeto de código gerenciado, clicar na guia Code Analysis e selecionar Enable Code Analysis, como mostra a Figura 6.

Habilitando a análise de código

Como é possível observar, existem dezenas de regras já definidas e ativadas para você – desde regras que verificam as diretrizes de código e design até as regras para verificar questões de segurança. Você pode optar por desabilitar as regras que não se aplicam a seu projeto, bem como pode criar suas próprias regras para procurar padrões de código específicos. Quando uma regra detecta um problema com seu código, o Visual Studio emite um aviso ou erro, dependendo da configuração de regra.

As ferramentas de análise de código também podem ser usadas para melhorar a qualidade do código Microsoft C++ nativo. Por exemplo, essas ferramentas podem ser usadas para ajudá-lo a identificar estouros do buffer, memória não inicializada e desreferência de ponteiro nulo. Essas situações são reportadas do mesmo modo que os avisos do compilador, que podem ser desativados usando a diretiva de compilador #pragma.

Análise dinâmica

O conjunto de ferramentas de análise de código dinâmica inclui criador de perfil de código para medir o desempenho dos aplicativos no tempo de execução. Há dois modos de perfil: amostragem e instrumentação.

A amostragem examina e faz “amostras” do desempenho de seu aplicativo em intervalos freqüentes, para descobrir o que ele está fazendo. Essa forma de análise torna menos provável que a ação de determinação do perfil em si afete o desempenho do aplicativo, porque ela só é executada durante uma pequena porcentagem do tempo. No entanto, devido à natureza estatística da abordagem, ela não fornece uma representação exata do controle de tempo do aplicativo.

A instrumentação, por outro lado, oferece um controle completo daquilo que seu aplicativo está fazendo, porque antes de ele ser executado, o criador de perfil instrumentará código extra em cada procedimento e chamada de método, permitindo que ele controle exatamente o método chamado e quanto tempo foi necessário para que ele fosse executado. A determinação do perfil com base na instrumentação retardará o desempenho do aplicativo, pelo simples motivo de existirem mais linhas de código em execução e mais dados sendo coletados, como mostra a Figura 7.

Resultados da determinação do perfil por instrumentação (clique na imagem para ampliá-la)

Testes da unidade

Os testes da unidade sempre foram uma parte importante do processo de desenvolvimento de software. Os testes da unidade referem-se a um tipo específico de teste responsável pela validação de um aspecto do sistema – uma função ou um procedimento específico, um componente ou até mesmo um cenário de utilização. O Team System oferece uma estrutura para escrever e executar testes de unidade no Team Developer e no Team Test e proporciona integração justa ao IDE de desenvolvimento. Como mostra o Exemplo de código 1, os testes de unidade são funções de teste atribuídas que verificam o comportamento de uma função ou um procedimento correspondente do produto que está sendo testado. Após adicionar o atributo [TestMethod] a seu código de teste, o Visual Studio o reconhecerá como um teste da unidade e exibirá a função nas janelas do Test Manager, como mostra a Figura 8.

[TestMethod()]
public void AdditionTest()
{
Math target = new Math();

int x = 5; 

int y = 5; 

int expected = 10;
int actual;

actual = target.Addition(x, y);
Assert.AreEqual(expected, actual,
  "Math.Addition did not return the expected value.");

}

Exemplo de código 1. Teste da unidade simples

Gerenciando testes no Visual Studio (clique na imagem para ampliá-la)

O Test Manager permite a seleção e execução de seus testes de unidade, bem como o agrupamento, filtragem e organização deles em Listas de testes. Cada teste gerenciado por meio do Test Manager pode ter um conjunto de itens de trabalho a ele associados, bem como outros metadados, incluindo Priority, Owner e Class Name.

Cobertura de código

Não seria excelente ter alguma indicação da quantidade de código realmente testada durante a execução de um teste de unidade? Bem, esse tipo de análise é denominado cobertura de código. O Team Developer e o Team Test oferecem a capacidade de executar seus testes de unidade e controlar quais linhas de código são executadas durante esses testes. Esses resultados indicarão quais outros testes de unidade podem ser necessários para garantir que todas as linhas de código sejam testadas, bem como para saber se suas práticas de teste são completas. As Figuras 9 e 10 demonstram os resultados da análise de cobertura de código. Na Figura 9, as linhas de código destacadas em verde representam linhas executadas durante realização do teste de unidade, enquanto as linhas em vermelho indicam código não executado.

Resultados da cobertura de código na janela Code

Estatísticas da cobertura de código (clique na imagem para ampliá-la)

Fonte: MSDN

VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Visual Studio Team System para desenvolvedores de software, 10.0 out of 10 based on 1 rating