T [email protected] in.linkedin.com/in/AshokSTAG
Perspectives onImprovingproductivity in test engineering
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Key challenges that we face
Continuous refinement of business requirements
Need to deliver software in shorter timeframes
Technology continues to evolve rapidly
Shortage of highly skilled people
Tight budgets, more expected with less
Customer expectations on quality constantly increasing
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
The focus of this presentation…
Productivity is about 1. Doing things faster2. Doing things with lesser effort
How can we improve test engineering productivity to - perform testing quicker? - do with lesser effort and therefore lower costs?
The typical ways to productivity improvement seem to be >> Reduce test cycle effort by being ‘agile’ >> Squeeze more cycles to minimize surprises later >> Focus on automated tests to speed up cycles
.. is to discuss on the productivity aspects of test engineering
Let us see this problem from a different perspective…
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
What should a good system have?
The three important properties are : Effectiveness, Consistency, Efficiency
A good system therefore must be effective (find good defects), consistent (able to scale), efficient (do more with less)
For a test engineering system:
Effectiveness implies “Find key business issues”
Consistency implies “Outcome is independent of who does it”
Efficiency implies “Do in shortest time with least money”
Note that the order is effective first, consistent next & efficient finally
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
How is productivity linked to these properties?
Doing things better implies less re-work.Serious productivity gain!Lowers cost and time!
Implies that the process can be broken down.Allows for simplification & hence de-skilling.Lowers cost!
Speed up using technology/tooling.Lowers cycle time!
Effectiveness
Consistency
Efficiency
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
How to ensure that these properties are met?
Effectiveness
Consistency
EfficiencyTechnology
Process
MethodologyScientific basis of thinking
Clear way of doing at personal & organization level
Appropriate tooling to reduce cycle time & do more
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Consider an example of travel…
…where our productivity enhancement objective is to reach the destination in shorter time at lower cost.
How can we reach the destination in shorter time? To reduce travel time; we need a higher horsepower car, a lighter vehicle, a skilled driver, a shorter route, less de-tour, light traffic, & no speed bumps.
Can we see parallels to test engineering?
1. Higher horsepower implies “strong method” & better technology/tooling.2. Lighter vehicle implies lowering the complexity by better decomposition.3. Straight roads/no speed bumps implies better visibility (metrics) & agility.4. Shorter route means process adjustment/optimization at individual level.
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
How can we improve productivity?
Ensure appropriate technology/tooling for observation/stimulation.For mundane tests, be sure of ROI.Be clear of what quality levels need automation.Automation is development, pay attention to architecture/code.
Lower complexity by decomposing problems better.Be goal driven, by being defect centric.Ensure test case completeness via engineering approach.Use a judicious mix of static & dynamic evaluation approach..See things clearly with goal-focused metrics system.React faster, with quicker feedback.
Create a good ‘personal process’.Decompose process to de-skill.Cut wasteful documentation.
Proce
ss
‘consis
tency
’
Meth
odology
‘effec
tiven
ess’
Tooling
‘efficie
ncy’
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Resource viewpoint on productivity
Extra resource is handy to reduce cycle time, reduce effort.Look at the various resources at our disposal and their cost implications
Human intellect – BIGGEST resourceCan we harness more from this? Mature ones cost a lot!
How can we improve maturity? A scientific & engineering methodology would help.
Technology & ToolsTechnology to observe, probe, analyzeTooling to reach the innards that a human hand cannot reach!Tooling to free our mind, hands & eyes!
Process & ArtifactsPersonal process of thinking and doingTest support stuff – checklists, guidelines, patternsFiner decomposition to aid de-skilling
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Hypothesis Based Testing (HBT)
A scientific personal test methodology to deliver clean software.
Powered by EIGHT disciplines of “thinking”
Consists of SIX stages of “doing”
More at www.slideshare.net/stagsoft/an-introduction-to-hypothesis-based-testing
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Convert expectations to cleanliness criteria, setup a goal of potential types of defects to uncover and scientifically uncover them.
More at www.slideshare.net/stagsoft/an-introduction-to-hypothesis-based-testing
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Summarizing...
Tooling & process improvement may increase productivity in a limited manner.
A better basis for doing things can be significant productivity enhancer.
The key resource is our intellect,improve this and we have significant productivity boost
Process is at various levels, improve thinking process and this can lead to productivity gains
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
Thank you!
Follow us @stagsoft