Qualidade no desenvolvimento de software

Post on 09-Jul-2015

347 views 3 download

description

Apresentação de recursos existentes no Visual Studio para garantir uma melhor qualidade no desenvolvimento de software

Transcript of Qualidade no desenvolvimento de software

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

Obrigado !

http://www.bufaloinfo.com.brhttp://facebook.com/devASPNet

Dennes@bufaloinfo.com.br@Dennes