Top Banner
Professional Multilingual Service Oriented Automate the Process Deliver Quality
42

Rtc2014 automate the_process_deliver_quality_ady_beleanu

Aug 23, 2014

Download

Ady Beleanu

Presented at Romanian Testing Conference 2014 - Cluj-Napoca, Romania
Welcome message from author
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
Page 1: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Professional – Multilingual – Service Oriented

Automate the Process

Deliver Quality

Page 2: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Agenda

Presenter

Quality & QA

DEV Lifecycle

Cost of quality

Technical debt

Issues

Git, CI, Sonar, Se

Bottom line

Thanks

Page 3: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Ady Beleanu

• Quality inquisitor • 10 years in field of QC & QA • Managed projects & teams • Coached & inspired testers

• https://www.linkedin.com/in/adybeleanu

Page 4: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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!

Page 5: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Quality Perspectives

External

Valuable for users

Internal

Right design

Simple to understand

Extendable

Maintainable

Page 6: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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.

Page 7: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Quality Assurance – The Pieces

For the system to work, each piece has to be:

Perfect

Easily integrated

Tested

Reusable

vs.

Page 8: Rtc2014 automate the_process_deliver_quality_ady_beleanu
Page 9: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Key Success Criteria

THE BIBLE of the project

• Business case

• Architecture

• Requirements

• Quality strategy

• Project Synchronization

“Establishing your Automation Development Lifecycle”, Galen

Page 10: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 11: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 12: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 13: Rtc2014 automate the_process_deliver_quality_ady_beleanu

SDLC

Page 14: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 15: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 16: Rtc2014 automate the_process_deliver_quality_ady_beleanu

The KEY to sustainable quality

REUSE of Resources • Planning • Analysis • Design • Development • Testing • Deployment

http://www.itcinfotech.com

Page 17: Rtc2014 automate the_process_deliver_quality_ady_beleanu

A framework example

Page 18: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Repository

Source Code Management (SCM) tool Version Control System (VCS)

Page 19: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Continuous Integration

Automated builds Static code analysis Code coverage

reports Trigger Code aggregator Central point for

quality

Page 20: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 21: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 22: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Code Quality Measurement Needed !!!

… but, WHAT to measure?

Page 23: Rtc2014 automate the_process_deliver_quality_ady_beleanu
Page 24: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 25: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Code Review – Use Case

Page 26: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Code Review – Use Case

Page 27: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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.

Page 28: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Cost in SDLC

Page 29: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Code needs Continuous Inspection

code violations code improvements build stability

Page 30: Rtc2014 automate the_process_deliver_quality_ady_beleanu

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

Page 31: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Integrate with SonarQube

Page 32: Rtc2014 automate the_process_deliver_quality_ady_beleanu

SonarQube – look & feel

Page 33: Rtc2014 automate the_process_deliver_quality_ady_beleanu

SonarQube – look & feel

Page 34: Rtc2014 automate the_process_deliver_quality_ady_beleanu

SonarQube – look & feel

Page 35: Rtc2014 automate the_process_deliver_quality_ady_beleanu

SonarQube – Technical DEBT Measurement

Page 36: Rtc2014 automate the_process_deliver_quality_ady_beleanu

The so called Testing phase

Functional / UI

API / Services

Integration

Unit

Page 38: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Reporting

~20 - 40% of project lifecycle time REPORTING

Page 39: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Simplified…

Page 41: Rtc2014 automate the_process_deliver_quality_ady_beleanu

Bottom Line

Harvest

Foresee risks

Automate & Reuse

Organize process

Prevent

Build framework

Think & Understand

Page 42: Rtc2014 automate the_process_deliver_quality_ady_beleanu