4. Software Complexity
• Software is complex; and the usage of
software is even more complex
• There is not one solution; no silver bullets
• We need to look in many different ways
6. Trends
• “all testing is verification testing”
• Status/certification/standards/specialization
• You can’t control what you can’t measure
• We only think about results; not about people
• Management rules
7. Project Thinking
• SMART projects are easier to manage
• The future over-usage will give
– Testing is very limited in scope
– All testing activities are measurable
– Only sometimes making a better product
Keyword Negative side-effect
Specific we become narrow-minded
Measurable can’t use fluffy, good things
Attainable can’t aim really high; no holistic stuff
Realistic no objections, but I’d prefer Important
Time-bound gives short-term thinking
8. Verification & Validation
• Validation will mean looking at high-level; and
verification at low-level
• That validation means that the product actually
does good things is forgotten
• The combinations and grey areas in between will
be ignored
9. Product Investigator
• simultaneous verification & validation
• many testers do this today, and it helps
the products
– but can’t be done by automation
– and is very difficult to measure
10. too much focus on... ...and we lose on...
precision serendipity
objectivity subjectivity
specialists generalists
metrics judgement
presentation result
standardization creativity
short-term long-term
independence organic
uniformity diversity
verification validation
speed depth
ease complexity
11. Non-measurable people stuff
• joy
• participation
• optimism
• creativity
• learning
• trust
• tolerance
• motivation
15. Summary
• subjectivity is something useful
• the seemingly sound ideas have risks
• people and results go hand in hand
16. Questions
• ???
• I have a paper with details and references
redgren@tibco.com
Editor's Notes
This years EuroSTAR theme is ”the future of software testing”
My main message is that we need to keep the people aspect of software engineering.
"Ser man till forskningen om styrning av organisationer råder det stor enighet om att organisationer med komplex verksamhet inte bör styras med hjälp av kontroller och övervakning."
Hans-Åke Scherp, http://www.svd.se/opinion/brannpunkt/artikel_1006953.svd
There are a lot of defects to find and fix.
There are a lot of ways to test the software; but you often test from one angle, so there are many things you miss.
I want to look at many ways at the same time.
The minefield problem should add a third dimension: different “quality attributes”.
And the fact that when combining features, it is like you are at many places at the same time
Humans can understand what is important.
“all testing is verification testing” - Michael Bolton
The root cause to most of the problems might be three-fold:
Project thinking – leads to short-term results, which gives technical debt and other problems.
Metrics – managers want to decide, and since they can’t know the details, they need to use numbers, that reduces the complexity, and thereby the “truth”.
Specialization- Precision: Not sure where it comes from; it could be that we want to be appreciated for what we do, and it is easier to get really good at a very narrow area.
I also think that for people of today, it is very important to appear as capable
Not that Precision, Objectivity et.al. are necessarily bad; but when doing too much of them, they are really hurting our work in the sense that we don’t do what is most important
“quality is value to some person” (Jerry Weinberg)
“People are the most important asset of any company” (Tom DeMarco)
“the truth is the subjectivity” (Sören Kierkegaard)
The future ”by-stander” testers don’t want to get their hands dirty.
But they have very nice haircuts.
* there are many goals of software testing
* testing is only a part of software development, and a part of the tester's life
* subjectivity is the truth, objectivity is true, but not important
* metrics and measurements are dangerous
* you should choose serendipity over precision, creativity over standardization, ...
A good tester should look at all quality aspects at the same time
Testing is a very small, but very important part of software development, that should interact in many ways with many different persons/things
Everything is connected/Things should be overlapping