I think it is time for a follow-up on my experience of applying Thread-Based Test Management (TBTM). In October last year I blogged about my attempt at setting up my tests for a new project using TBTM.
It was a smaller project, with me as the only tester which gave me a lot of freedom to try new things, and I actually did what I set out to do! First I created my mind map, or fabric. I added all test activities I could think of to the fabric as threads. Using different colours and icons I visualised the priority of the threads. The first version of the fabric as it looked before I started testing I kept as my test plan, and this I sent to the external customer. To my joy the mind map version of a test plan was quite well received!
Thereafter I started testing. I would typically be working on two or three threads at the same time, and I would not "tie off" or finish a thread, but rather do some testing and then come back to the same thread later, after having worked on some other threads too. This way I ended up digging into the details of most threads at the same time, rather than focusing on one test task and "completing" it before moving on. As my testing progressed I kept updating the fabric. The visual presentation of the current status turned out not only to be a great help to me, but also to the developer I worked with. In the end, he would actually only use the fabric to see what work remained and not our usual defect reporting system.
I had planned to write daily status reports, but instead I actually ran my tests as unfinished, not time-boxed SBTM inspired sessions and wrote session reports. It turned out I needed the reports to keep track of what I was doing. For test charters, I drew a lot of activity diagrams.
When all testing I had time to do was done I had a fabric with a lot of green threads and unfortunately some red too. I took my "final" fabric and used it as my test report. Together with some clarifying notes it constituted all test documentation the external customer received.
My conclusion after this experiment is that for me personally I think a hybrid of SBTM and TBTM is the way to go. I do feel the need to work on things in parallel whereas I usually do not feel the need to time-box, but on the other hand I really like my session reports. I will continue to work like this - it has been exploratory, controlled (in the good sense) and well documented (in the sense of "as needed"). Oh, and I left very few defects for the customer to find and they were all of low priority...