Notes from Øredev 2008 Rikard Edgren
I spent one day at Øredev 2008 (http://www.oredev.org) since they invited me to give the Where Testing Creativity Grows (http://www.thetesteye.com/papers/where_testing_creativity_grows.doc) presentation.
I arrived ten minutes after the start of James Bach’s keynote The Renaissance Thinker, where he argued that 1972 (Chapel Hill) ruined good software testing.
People started focusing too much on templates, processes, best practices; people forgot about people.
But things are getting better since the Exploratory Testing has been coined and used with more respect.
We also have Agile that is using cyclic learning, in opposite to Waterfall and V-Model where no learning is modeled.
He likes it if people say “James, maybe you are one of the mystics?” and explained his self-learning style of Buccaneer-Scholar.
“Software Engineering is primarily social.”
He has a lot of good things to say; and he presents them in a capturing manner.
This conference is nice since it includes developers, testers, project mangers et.al.
But I stayed at the Test Track all day; starting with Isabel Evans, who is interested in processes and people; and stresses that it is the people in the team, that needs to define the process.
Quality is difficult, since it has so many attributes; the customers view being the most important.
Isabel is criticizing the “standards” from the inside, but think it is important to measure things and report back, e.g. by showing how much money is saved by doing software testing.
“Agile works since it is cross-functional; we work together.”
She also broadened the spectra of our risk thinking; which too often focus on internal risks. But there are Contractual or Regulatory Risks as well as Social Ethical Risks. It is good to think bigger.
Then it was time for my own presentation with about 60 attendees. I had an interesting start with technical problems as my machine wouldn’t use the projector after I launched a movie inside PowerPoint (Yes, I use Vista.)
So I had to improvise a bit and focus on the audience instead of my slides.
After this the presentation went well; and I was happy that an attendant could tell about their paired testing (both scripted and exploratory) where they found three times as many bugs (plus the learning!)
A good question after the presentation was “When do you know you have used enough creativity?” with the answer “Well, you don’t…”
After a lunch break Kevlin Henney talked about “Know Your Units”, with the clarification that a unit test that interacts with something (file system, database, network) isn’t a real unit test.
Programmers are responsible for unit testing (“The programmer who wrote the code is in the best position to test it”) and ”QA” for system testing. (He didn’t mention any collaboration, which I think might be the best.)
POUTing -Plain Ol´ Unit Testing – is passive.
TDD – Test-Driven Development – is active.
DDT – Defect-Driven Testing – is reactive.
And sometimes we can settle with GUTs – Good Unit Tests.
He recommends a black-box perspective for unit tests, where you focus on behaviors, or even requirements. White-box testing can end up testing that the code does what it does.
“We say that system testing takes one month, but in reality, the testing takes a few days, the rest is spent fixing bugs.”
“Testing is a way of showing that you care about something.”
Kevlin is one of many presenters that seem to think and talk better while walking.
Mattias Göransson from Sony Ericsson presented how they have started to use Exploratory Testing with Session-Based Test Management with a Heuristics twist (the original title was “Heuristic Based testing”)
He had borrowed material from Michael Bolton (who has borrowed from James Bach), “with pride”, and explained the Heuristics concept and the flavors Guideword, Trigger, Model, Process.
“We spend more time on test execution and – SURPRISE – we find more bugs.”
They have about 25.000 requirements on a mobile phone, and uses test cases for the major areas, and Exploratory Sessions with Heuristics to get the depth, and higher coverage from the user’s perspective.
Unfortunately he wasn’t allowed to share their heuristics, but he told about the fantastic Staffanstorp Heuristic: if the phone works at a particular place in Staffanstorp, it probably works well almost everywhere.
He explained their heuristics as “experiences they have gained” and pointed out that the heuristics are reviewed after each session.
Other tips: Time-boxing of debriefings is very important.
Nikolai Tillman of Microsoft presented PEX (http://research.microsoft.com/Pex/); a tool that helps you explore single-threaded .NET code by automatically creating unit tests.
The tool analyzes the code and creates representative sets of input values; with 100% Code Branch Coverage.
I think this can be a really good help in getting started with some basic unit tests (and avoid null exceptions); and also a way of learning special cases in code you are re-using.
As merit it should also be mentioned that PEX has been used in .NET components, which resulted in bugs that were fixed.
The tool exists as Academic license for Visual Studio 2008; and early versions of Visual Studio 2010.
“dynamic symbolic execution”
The last presentation of the day before my train left was Pradeep Soundararajan (http://testertested.blogspot.com/) from India. He told his own stories, about how he got fired from a company because he didn’t meet the 95% pass rate of test cases (He found too many bugs!); about very successful testing in a team; and about changing the culture at a company that ran 3000 test cases every week, but never found any bugs.
A very nice end of the day from this member of the context-driven community.
“What is everything? It is secret.”
“Think about the customer’s customer”
“Scripts make people go mad, and sad”
“Using good practices in the right context”
“The brain is an important tool that you should consider using.”
It was a nice day at a nice conference which also included a discussion (or lecture?) in the hallway with James Bach about the schools of testing concept. I was pretty upset with him after some e-mail stuff, but in person I was pleasantly surprised. In his eyes, you can see that he is a really nice person; a main reason for his provocations is that he learns best by arguing; and probably thinks that other people does that as well.
Well, this was enough conferencing for me in a while; now it’s back to the wonderful world of parental leave.