T5 Metrics 5/5/16 9:45 Quality Metrics: The Dirty Word in the Room Presented by: Annette Ash SolutionsIQ Consulting Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 8882688770 9042780524 [email protected]http://www.stareast.techwell.com/
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
T5 Metrics 5/5/16 9:45
Quality Metrics: The Dirty Word in the Room
Presented by:
Annette Ash
SolutionsIQ Consulting
Brought to you by:
350 Corporate Way, Suite 400, Orange Park, FL 32073 888-‐-‐-‐268-‐-‐-‐8770 ·∙·∙ 904-‐-‐-‐278-‐-‐-‐0524 -‐ [email protected] -‐ http://www.stareast.techwell.com/
Annette Ash SolutionsIQ Consulting A passionate, motivated, and driven IT professional, Annette Ash has thirty years of experience helping to build software development teams with an emphasis in software quality. She is currently a coach and trainer with SolutionsIQ. In the testing field Annette has seen and been a part of the constant changes within software development and test. She enjoys the benefits that come from empowering individuals and teams to succeed. The most rewarding part is the amazement these teams feel when they realize what they have accomplished in such a short period of time.
Open source platform used by development teams to manage source code quality.
7 deadly vices that will wreck havoc on code.
Sonar covers quality based on 7 axes that they then report on:
Deadly Vices in Software Code 1. Bugs and Potential Bugs 2. Coding Standards Breach
3. Duplications
4. Lack of Unit Tests 5. Bad Distribution of Complexity
6. Not Enough or Too Many comments
7. Design and Architecture
Technical Debt These Vices Contribute to Technical Debt and are tracked through SonarQube’s Issues:
Bugs and Potential Bugs
Represent things that are going wrong in the code today or may go wrong tomorrow.
Coding Standards Breaches are also tracked as issues
»The bugs and coding standards are configurable
Duplications Duplications perpetuates the bugs and coding standards breaches and so on
Sonar uses its own copy/paste detections engine
Unit Tests • Unit tests keep bugs and regressions from slipping into
production. If changes are made to existing code they help you know that you didn’t break it.
• Units tests are fully automated • Invokes a unit of work in the system and checks a
single assumption about the behavior of that unit of work
Regression Tests/Combined
Integration/Functional/Acceptance/UI Tests
Bad Distribution of Complexity
Cramming too much logic into a method or class
Not Enough or Too Many Comments
A readable and understandable source code should balance between too many comments and not enough
Design and Architecture
Include things like having high complexity at the project architecture level rather than in a single method or file.
Treemap
Treemap is a generic component that adapts depending on the structure of the project (modules, packages and files). It shows the components that are at the top level, regardless of the type. You can then drill down into any component.
Steps to Great Quality Goals 1. Team Centered 2. Use as a team motivation tool
3. Let team decide and commit
4. Revise and update over time 5. Keep them simple and easy to understand
6. Add a static code analysis Tool and add to Continuous Integration