Download - Qualidade no desenvolvimento de software
![Page 1: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/1.jpg)
Qualidade no Desenvolvimento
de SoftwareDennes Torres
MCT, MCPD
![Page 2: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/2.jpg)
AgendaTestes Unitários de Software
Code Coverage
Code Metrics
Code Analysis
Layer Diagram
Performance Explorer
Load Test
![Page 3: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/4.jpg)
Testes UnitáriosDemo
![Page 5: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/6.jpg)
Code CoverageDemo
![Page 7: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/8.jpg)
Code Metrics
![Page 9: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/11.jpg)
Code MetricsDemo
![Page 12: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/13.jpg)
Code AnalysisDemo
![Page 14: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/16.jpg)
Layer DiagramDemo
![Page 17: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/18.jpg)
Performance ExplorerDemo
![Page 19: Qualidade no desenvolvimento de software](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022052623/559e6cda1a28abd7458b4797/html5/thumbnails/20.jpg)
Load TestsDemo