Download - Ady beleanu automate-theprocessdelivery
Professional – Multilingual – Service Oriented
Automate the Process
Deliver Quality
Agenda
Presenter
Quality & QA
DEV Lifecycle
Cost of quality
Technical debt
Issues
Git, CI, Sonar, Se
Bottom line
Thanks
Ady Beleanu
• Quality inquisitor • 10 years in field of QC & QA • Managed projects & teams • Coached & inspired testers
• https://www.linkedin.com/in/adybeleanu
Quality
Quality (ISO) = The totality of the characteristics of an entity
that bear on its ability to satisfy stated or implied needs
“= ability of product to be able to satisfy end users”
The concept of making products fit for a purpose.
Minimising defects and problems.
You - feel it!
Quality Perspectives
External
Valuable for users
Internal
Right design
Simple to understand
Extendable
Maintainable
Quality Focus – Final product
Added value
Attention to detail
Process behind the product Innovation & Pioneering
Both – from point A to point B
the difference - usability, safety, comfort, reliability, and so on
vs.
Quality Assurance – The Pieces
For the system to work, each piece has to be:
Perfect
Easily integrated
Tested
Reusable
vs.
Key Success Criteria
THE BIBLE of the project
• Business case
• Architecture
• Requirements
• Quality strategy
• Project Synchronization
“Establishing your Automation Development Lifecycle”, Galen
Costs
• Lack of Quality Management – Plan the quality
– Perform QA
– Perform QC
• Technical DEBT
• 1 External Failure Cost
• 2 Internal Failure Cost
• 3 Inspection (Appraisal) Cost
• 4 Prevention Cost
Costof Quality
$59.5 Billion Cost Software Errors in U.S. Economy / Year
estimated $22.2 billion,
could be prevented improved testing
infrastructure eliminate defects earlier / efficiently
*NIST Assessment
Technical DEBTf Quality
http://otja.wordpress.com/2011/11/21/what-am-i-thinking-about-visualising-your-technical-debt/
GOOD code vs. BAD code
or
Doing it
RIGHT & LONGER /
QUICK & DIRTY
SDLC
Common Repository
http://otja.wordpress.com/2011/11/21/what-am-i-thinking-about-visualising-your-technical-debt/
• Traceability • Visibility • Versioning • Best practices • Non-Latency • Concurrency CHAOS
Lack of integration
http://otja.wordpress.com/2011/11/21/what-am-i-thinking-about-visualising-your-technical-debt/
Issues • Broken code check-in • Uncertainty • Missing code files • Small mistakes – BIG issues • Missing integration
The KEY to sustainable quality
REUSE of Resources • Planning • Analysis • Design • Development • Testing • Deployment
http://www.itcinfotech.com
A framework example
Repository
Source Code Management (SCM) tool Version Control System (VCS)
Continuous Integration
Automated builds Static code analysis Code coverage
reports Trigger Code aggregator Central point for
quality
Problem no.1 – Code Quality
http://www.bonkersworld.net/code-reviews/
Poor unit test coverage Complexity for integration test No full regression (100%) Tight couplings
Why code review?
Find bugs early / Fix cheap
Coding standards compliance
Sharing knowledge
Consistent design and
implementation
Higher software security
Team cohesion
Confidence of stakeholders
Code Quality Measurement Needed !!!
… but, WHAT to measure?
Context – project done with & without code review:
10k LOC,
10eng,
3month project
Measured # of bugs found by QA Team in the next 6
months
The result: Code review would have saved half the cost of
fixing the bugs. Plus, they would have found 162 additional bugs.
Code Review – Case Study
Code Review – Use Case
Code Review – Use Case
Code Review - trend & numbers
2012 study (VDC Research)
• 17.6% software engineers surveyed currently use automated tools for CR
• 23.7% expect to use them within 2 years.
Capers Jones' - 12,000 SW dev projects:
- 60-65% - The latent defect discovery rate of formal inspection.
- < 50% - For informal inspection.
- 30% - The latent defect discovery rate for most forms of testing.
150 lines of code per hour - Typical code review rates.
Code reviews => ~85% defect removal rate (avg. rate of about 65%)
75% of CR defects evolvability rather than functionality
suitable for long product / system life cycles => increase of Technical DEBT.
Cost in SDLC
Code needs Continuous Inspection
code violations code improvements build stability
Continuous Inspection with SonarQube
7 Deadly Sins of source code Duplications Bad distribution of complexity Spaghetti Design Lack of unit tests No coding standards Potential bugs Not enough / too many comments
Integrate with SonarQube
SonarQube – look & feel
SonarQube – look & feel
SonarQube – look & feel
SonarQube – Technical DEBT Measurement
The so called Testing phase
Functional / UI
API / Services
Integration
Unit
Automated Test Tool
https://saucelabs.com/tutorials/php/se2/img/Diagram-Selenium.png
Reporting
~20 - 40% of project lifecycle time REPORTING
Simplified…
Bottom Line
http://mycartoonthing.com/wp-content/uploads/image/business/Business%20bottom%20line%20cartoon.jpg
Bottom Line
Harvest
Foresee risks
Automate & Reuse
Organize process
Prevent
Build framework
Think & Understand