[Testing] Post-meeting conversation: Test results reporting
Michael Stone
michael at laptop.org
Fri Dec 19 15:22:47 EST 2008
Situational awareness is key to the ability to achieve results. Since
Mel seemed to respond positively to some of the remarks I made about the
situation of software development at OLPC, I thought that others might
benefit if I developed them in slightly more detail. Here's a first
pass, along with a restatement of the contents of Mel's email with nicer
formatting.
Michael
-----------------------------------------------------------------------
"Why are testers and test results valuable?"
My answer, from my perspective as someone who writes software and as the
8.2.0 release manager, goes something like this:
1) An excited, vibrant test community helps motivate me to do my best
work because my friends in testing deserve nothing less.
2) In spite of (1), I regularly make mistakes or exercise poor
judgement. When I do, testers help protect me from the consequences
by helping to discover, understand, fix, confirm the fix, integrate,
confirm the integration, and finally, establish better procedures,
thereby reducing the damage caused by the mistake.
3) The broad application of (2) really means that it is testers' good
judgement and perserverance which help most to remove inadequate
work from the release queue before it hurts lots of people.
"So how to testers do all these wonderful things?"
Unfortunately, I don't have a great answer to this for all sorts of
reasons, so a poor one will have to do:
a) search for the intersection of what you can do and what is needed.
-- when necessary, invent new needs or to develop new skills so
that you can better fulfill (a). seek advice when helpful.
b) find the people who benefit or suffer from your work and figure out
both how to talk to them in words they understand and what
motivates them.
c) help to bring out the best in the people around you and also find
more people to do (a), (b), and (c).
Good Things So Far (and why they're good)
-----------------------------------------
Welly testers wrote up a spreadsheet for smoke testing <here>[1] (url
needed). We understand that it works really well for them because:
1) it helps them write up more uniform results. this makes life easier
for testers, developers, and other stakeholders looking at the
results later.
2) it helps new testers get started, by prompting them on what to look
for. This in turn lowers the cost of getting a new tester started,
making it more likely that experienced testers will spend time doing
it.
3) it makes it easier for them to see and aggregate results at the end,
since new testers tend to be more familiar with spreadsheets than
semantic mediawiki.
4) it helps new testers get started because they can just write down
their thoughts without having to learn a complicated system to put
their results into at first.
The Big Question
----------------
(which cjl thinks is inappropriate but which mstone thinks is motivated
by his criterion for success):
"Is this spreadsheet-based approach a good way to communicate test
results to the people who need to receive them?"
<<<< Your answer here >>>>
Test Results: a skit by Mel and Chris
-------------------------------------
* testers submit test reports, with little enforced structure
* the Community Testing group meets, looks it over, does triage and
works out what's a legitimate bug
* the Community Testing group files bugs as necessary, taking note of
the individual tester's willingness to take part in communication, and
CC'ing them on the bug if they want to be.
-- cjb: (Hm. This model of having testers be hands-off after they write
a report is pretty much in conflict with our rationale. What's
up with that.)
-- mel: I'd phrase this as "There's a workflow within the test
community," just as you have a workflow within the development
community (as m_stone's trac tickets workflow wiki page so
elegantly illustrates.) People can choose to participate in as
little or as much of that workflow as they choose; I could
imagine an awesome test volunteer deciding that they just want
to triage, for example. What we are talking about here is
separating the "Actually run and test the software" part from
the "and report it to developers in the most useful format/form
for them" part. Just like the person who makes the patch doesn't
have to be the one that includes it in a build, etc.
Utopia according to Chris & Mel
-------------------------------
cjb's developer idea of what a tester's utopia might be:
Testers find a process that is unburdensome and helpful. They know that
they can be as involved as they want to in the work done on their bugs.
They're asked, if they want to be, things like "Do you think this change
would solve your problem?". Their work is documented, shared,
appreciated, and credited. Someone running an OLPC/Sugar deployment can
look up what tests have been performed on a component; this information
should even be part of the release notes for software. ...
mchua's tester idea of what a developer's utopia might be:
Developers find a process that is unburdensome and helpful - and usually
invisible in the background. By default, they're notified only of bugs
(via well-written, reproducible bug reports) on the components that they
care about, and this notification uses the communiation channel(s) they
prefer (trac, email, IRC, etc.) The process by which the bug report was
created is transparent, and they can go back to the testers who carried
the bug through that process and open up a dialogue with them, asking
questions and going back and forth as they fix the bug and then verify
the fix. Their work is documented, shared, appreciated, and credited,
and they even get a follow-up from someone (perhaps a tester) after
their fix has later been pushed to a release and deployed, saying
"Thanks - and here's the difference you made to the users you were doing
this for!"
Addendum: Criteria for success
------------------------------
mstone's proposal:
We need to be careful to pay attention to results, not just efforts.
For this reason, we should take care to judge collaboration protocols
we invent according to efficiently they inform and motivate the total
set of people who need to work together to solve the Big Problem, not
according to how well they solve any individual small problem.
mchua agrees, though she's not yet sure how to measure whether something is
more informing or motivating than something else, in this context.
Addendum: Rationale:
---------------------
<cjb> it would be pretty sweet to have a section in the release notes
called "What The Testers Found"
<cjb> with a description of which groups tested which parts of the
release, and what they thought and stuff
<cjb> that would be pretty grassroots, right there
Things potentially worth knowing about current attitudes toward bugs
--------------------------------------------------------------------
If information from these results were subsequently filed as
well-written bugs,
a) interested developers would be happy because individual bugs are
unlikely to be fixed unless well-filed bug reports are filed.
b) uninterested developers be happy because they wouldn't be
distracted.
c) people with established daily workflows based on email and
ticket-based meetings would be happy because they can continue
using their workflow
d) release management people would also be happy because bugs are
the preferred way to keep track of the status of the project
and its resource allocations.
More information about the Testing
mailing list