Qualidade no
Desenvolvimento
  de Software
     Dennes Torres
      MCT, MCPD
Agenda
Testes Unitários de Software

Code Coverage

Code Metrics

Code Analysis

Layer Diagram

Performance Explorer

Load Test
Testes Unitários

Criados automaticamente

Janelas para fácil execução e conferência

Execução automatizada pelo TFS
Testes Unitários
      Demo
Code Coverage
Habilitado a partir dos testes unitários

Nivel de cobertura de código dos testes
unitários

Identifica áreas de código não testadas
Code Coverage
     Demo
Code Metrics
Classifica o nível de
complexibilidade/manutenibilidade
do código


Identifica trechos que necessitam de
melhoria
Code Metrics
Code Metrics
Indice                   O que é

Maintainability Index    Indice de manutenibilidade

Cyclomatic Complexity    Número de brachs no código

Depth of Inheritance     Número de classes na hierarquia

Class Coupling           Número de referências a outras classes

Lines of Code            Total de linhas de código
Maintainability Index
           • MAX(0,(171 - 5.2 * ln(Halstead Volume) - 0.23 *
Fórmula      (Cyclomatic Complexity) - 16.2 * ln(Lines of
             Code))*100 / 171)




Halstead   • http://www.verifysoft.de/en_halstead_metrics.html
Volume
           • 0-9 = Red
 Cores     • 10-19 = Yellow
           • 20-100 = Green
Code Metrics
    Demo
Code Analysis
Regras de boas práticas de codificação

Ativado ou desativado a nível de projeto

Gera Warnings ou erros durante um build

Integrado com Builds automatizados

Pode ser utilizado em políticas de checkIn
Code Analysis
     Demo
Code Analysis
Baseado no FxCop

8 Rule Sets padrões

Permite criação de custom rule sets

É possível a criação de custom rules
• http://blog.tatham.oddie.com.au/2010/01/06/custom-code-
  analysis-rules-in-vs2010-and-how-to-make-them-run-in-
  fxcop-and-vs2008-too/
Layer Diagram
Permite desenhar as camadas da aplicação

Associa projetos as camadas

Identifica interações existentes entre as camadas

Valida o projeto conforme o diagrama
Layer Diagram
     Demo
Performance Explorer
Análise de performance da aplicação

Identificação de pontos que necessitam de
melhora

Comparação de relatórios de performance
Performance Explorer
        Demo
Load Tests

Criados sobre os testes unitários

Reproduzem uma grande carga de acesso

Analizam contadores de performance
Load Tests
   Demo
Obrigado !

 http://www.bufaloinfo.com.br
http://facebook.com/devASPNet
   Dennes@bufaloinfo.com.br
            @Dennes

Qualidade no desenvolvimento de software