Software visualization for better testing

sourcecode Software visualization for better testing

Last night I was watching James Whittaker’s last year keynote he gave during GTAC 2008. James is highly respected in the software test community (he has just moved from Microsoft to Google)and I was interested to understand how he was seeing testing in the future. One important direction was around software visualization and how it could help testing teams do a better job and focus on the most important pieces of functionality or code. He made the parallel with Quality Assurance in the car industry where QA can actually visualize the products, understand the change it was made during each iteration of the design. It’s much more difficult with Software where all testers can see is pretty much a black box.

Yes, they can look into the code but it’s very difficult for them to get the full pictures. James showed a tool the Vista test team had built during Vista development which allowed them to visualize as a heat map of some sort. Basically showing every piece of features, classes, methods, nicely organized per complexity. Here is a snapshot taken from the keynote:

vistacodemap Software visualization for better testing

The larger the block, the higher the number of line of code. The darker the block, the more complex the code. Now, I don’t know if they have a tool to generate this map on any piece of source code tree but this would be VERY useful for any testing team so they could understand where to prioritize their testing. You could imagine some additional functionalities like a visualization of code coverage across the blocks of code or highlighting change of code between versions/builds. There is a lot you could think of with this type of tools. I’ve tried to find similar tools on the Internet but I’m not able to find anything. If you’ve ran across something similar, please send me an email ! I’ll be glad to make an update on this blog.