Upload
dennes-torres
View
349
Download
3
Embed Size (px)
DESCRIPTION
Apresentação de recursos existentes no Visual Studio para garantir uma melhor qualidade no desenvolvimento de software
Citation preview
Qualidade no Desenvolvimento
de SoftwareDennes Torres
MCT, MCPD
AgendaTestes 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áriosDemo
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 CoverageDemo
Code Metrics
Classifica o nível de complexibilidade/manutenibilidade do código
Identifica trechos que necessitam de melhoria
Code Metrics
Code MetricsIndice 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 *
(Cyclomatic Complexity) - 16.2 * ln(Lines of Code))*100 / 171)
Fórmula
• http://www.verifysoft.de/en_halstead_metrics.htmlHalstead Volume
• 0-9 = Red
• 10-19 = Yellow
• 20-100 = GreenCores
Code MetricsDemo
Code AnalysisRegras 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 AnalysisDemo
Code AnalysisBaseado 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 DiagramDemo
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 ExplorerDemo
Load Tests
Criados sobre os testes unitários
Reproduzem uma grande carga de acesso
Analizam contadores de performance
Load TestsDemo