| Testing in Sessions |
The first thing which you will realized in your effort to reinvent exploratory test management was that testers
do a lot of things during the day that aren’t testing. If you wanted to track testing, you needed a way to distinguish
testing from everything else. Thus, “sessions” were born.
In practice of exploratory testing, a session, not a test case or bug report, is the basic testing work unit.
What you call a session is an uninterrupted block of reviewable, chartered test effort. By “chartered,” we mean that
each session is associated with a mission—what you are testing or what problems you are looking for. By “uninterrupted,”
we mean no significant interruptions, no email, meetings, chatting or telephone calls. By “reviewable,” mean a report, called a session
sheet, is produced that can be examined by a third-party, such as the test manager, that provides information about what happened.
|
|
|
In my team, sessions last 90 minutes, give or take. We don’t time them very strictly, because we don’t want to be more obsessed
with time than with good testing. If a session lasts closer to 45 minutes, we call it a short session. If it lasts closer to two
hours, we call it a long session. Because of meetings, email, and other important non-testing activities, we expect each tester to
complete no more than three sessions on a typical day. What specifically happens in each session depends on the tester and the
charter of that session. For example, the tester may be directed to analyze a function, or to look for a particular problem,
or to verify a set of bug fixes.
Each session is debriefed. For new testers, the debriefing occurs as soon as possible after the session. As testers gain
experience and credibility in the process, these meetings take less time, and we might cover several sessions at once.
As test lead, my primary objective in the debriefing is to understand and accept the session report. Another objective is to
provide feedback and coaching to the tester. We find that the brief, focused nature of sessions makes the debriefing process
more tractable than before we used sessions, when we were trying to cover several days of work at once.
By developing a visceral understanding through the debriefings of how much can be done in a test session, and by tracking how
many sessions are actually done over a period of time, we gain the ability to estimate the amount of work involved in a test cycle
and predict how long testing will take even though we have not planned the work in detail.
If there’s a magic ingredient in our approach to session-based test management, it’s the session sheet format: each report is
provided in a tagged text format and stored in a repository with all the other reports. We then scan them with a tool we wrote
that breaks them down into their basic elements, normalizes them, and summarizes them into tables and metrics. Using those metrics,
we can track the progress of testing closely, and make instant reports to management, without having to call a team meeting.
In fact, by putting these session sheets, tables and metrics online, our clients in the project have instant access to the information
they crave. For instance, the chart in figure 1 shows that the testers are spending only about a third of their time actually testing.
That corresponds to two sessions per day, on average, rather than three sessions. Since the chart represents two months of work,
it suggests that there is some sort of ongoing obstacle that is preventing the testers from working at full capacity.

|
|
<< back
next >>
|
|
|