Qualidade no desenvolvimento de software

21
Qualidade no Desenvolvimento de Software Dennes Torres MCT, MCPD

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

Page 1: Qualidade no desenvolvimento de software

Qualidade no Desenvolvimento

de SoftwareDennes Torres

MCT, MCPD

Page 2: Qualidade no desenvolvimento de software

AgendaTestes Unitários de Software

Code Coverage

Code Metrics

Code Analysis

Layer Diagram

Performance Explorer

Load Test

Page 3: Qualidade no desenvolvimento de software

Testes Unitários

Criados automaticamente

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

Execução automatizada pelo TFS

Page 4: Qualidade no desenvolvimento de software

Testes UnitáriosDemo

Page 5: Qualidade no desenvolvimento de software

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

Page 6: Qualidade no desenvolvimento de software

Code CoverageDemo

Page 7: Qualidade no desenvolvimento de software

Code Metrics

Classifica o nível de complexibilidade/manutenibilidade do código

Identifica trechos que necessitam de melhoria

Page 8: Qualidade no desenvolvimento de software

Code Metrics

Page 9: Qualidade no desenvolvimento de software

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

Page 10: Qualidade no desenvolvimento de software

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

Page 11: Qualidade no desenvolvimento de software

Code MetricsDemo

Page 12: Qualidade no desenvolvimento de software

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

Page 13: Qualidade no desenvolvimento de software

Code AnalysisDemo

Page 14: Qualidade no desenvolvimento de software

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/

Page 15: Qualidade no desenvolvimento de software

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

Page 16: Qualidade no desenvolvimento de software

Layer DiagramDemo

Page 17: Qualidade no desenvolvimento de software

Performance Explorer

Análise de performance da aplicação

Identificação de pontos que necessitam de melhora

Comparação de relatórios de performance

Page 18: Qualidade no desenvolvimento de software

Performance ExplorerDemo

Page 19: Qualidade no desenvolvimento de software

Load Tests

Criados sobre os testes unitários

Reproduzem uma grande carga de acesso

Analizam contadores de performance

Page 20: Qualidade no desenvolvimento de software

Load TestsDemo

Page 21: Qualidade no desenvolvimento de software

Obrigado !

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

[email protected]@Dennes