2. 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
3. The focus of this presentation…
.. is to discuss on the productivity aspects of test engineering
Productivity is about
1. Doing things faster
2. 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
Let us see this problem from a different perspective…
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
4. What should a good system have?
The three important properties are : Effectiveness, Consistency, Efficiency
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
A good system therefore must be
effective (find good defects),
consistent (able to scale),
efficient (do more with less)
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
5. How is productivity linked to these properties?
Doing things better implies less re-work.
Effectiveness Serious productivity gain!
Lowers cost and time!
Implies that the process can be broken down.
Consistency Allows for simplification & hence de-skilling.
Lowers cost!
Speed up using technology/tooling.
Efficiency
Lowers cycle time!
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
6. How to ensure that these properties are met?
Scientific basis of thinking Methodology Effectiveness
Clear way of doing at
Process Consistency
personal & organization level
Appropriate tooling to
Technology Efficiency
reduce cycle time & do more
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
7. 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
8. How can we improve productivity?
Lower complexity by decomposing problems better.
Be goal driven, by being defect centric.
es y
en og
s’
Ensure test case completeness via engineering approach.
iv ol
ct od
Use a judicious mix of static & dynamic evaluation approach..
ffe h
et
See things clearly with goal-focused metrics system.
M
React faster, with quicker feedback.
‘e
st ss
’
Create a good ‘personal process’.
cy
si ce
en
Decompose process to de-skill.
on ro
P
Cut wasteful documentation.
‘c
Ensure appropriate technology/tooling for observation/stimulation.
en g
’
ci in
cy
For mundane tests, be sure of ROI.
ffi l
‘e Too
Be clear of what quality levels need automation.
Automation is development, pay attention to architecture/code.
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
9. 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 resource
Can we harness more from this? Mature ones cost a lot!
How can we improve maturity?
A scientific & engineering methodology would help.
Technology & Tools
Technology to observe, probe, analyze
Tooling to reach the innards that a human hand cannot reach!
Tooling to free our mind, hands & eyes!
Process & Artifacts
Personal process of thinking and doing
Test support stuff – checklists, guidelines, patterns
Finer decomposition to aid de-skilling
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
10. Hypothesis Based Testing (HBT)
A scientific personal test methodology to deliver clean software.
Consists of
SIX stages of “doing”
Powered by
EIGHT disciplines of “thinking”
More at
www.slideshare.net/stagsoft/an-introduction-to-hypothesis-based-testing
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com
11. 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
12. 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
13. Thank you!
Follow us @stagsoft
Copyright 2011 STAG Software Private Limited. All rights reserved. www.stagsoftware.com