the future of software testing (part 1)

This is the first post of a multipart series on my predictions about the future of software testing and how testers of the future will do their job.

Outsourcing. It’s a familiar term and the way a lot of testing gets done here in 2008. However, it wasn’t always so and it’s not liable to be that way in the future either. In this post I will talk about how I think testing will get done in the future and how outsourcing might fundamentally change as a business model for software testing.

In the beginning, very little testing was outsourced. Testing was performed by insourcers,people employed within the same organization that wrote the software. Developers and testers (often the same people performing both tasks) worked side by side to get the software written, tested and out the door.

The vendors’ role in the insourcing days was to provide tools that supported this self service testing. But the vendors’ role soon changed as demand for more than just tools surfaced. Instead of just providing tools to insourcers, vendors emerged that provided testing itself. We call this outsourcing and it is still the basic model for the way many development shops approach testing: hire it out.

So the first two generations of testing look like this:

                    Generation Role of Vendors

                    (1st) Insourcing Provide tools

                    (2nd) Outsourcing Provide testing (which subsumes the tools)

The next logical step in the evolution of testing is for vendors to provide testers and this is exactly the era we’ve entered with crowdsourcing. Yesterday’s announcement by Utest marks the beginning of this era and it is going to be very interesting to see it unfold. Will crowdsourcers outperform outsourcers and win this market for the future? Clearly market economics and the crowds’ ability to execute will determine that but my personal view is that the odds are stacked in favor of the crowd. This is not really an either-or situation but the evolution of the field. The older model will, over time, make way for the newer model. This will be a case Darwinian natural selection played out in the matter of only a few short years. The fittest will survive with the timeframe determined by economics and quality of execution. Crowdsourcing has much going for it including the sheer number of tests and test environments that can be brought to bear by the size and expertise of the crowd.

That gives us the third generation:

                    (3rd) Crowdsourcing Provide testers (which subsumes the testing and tools)

And what about the future? Is there an aggressive gene buried deep in the DNA of our discipline that will evolve crowdsourcing into something even better? I think so, though it may be years and a few technological leaps away. I’ll coin a new term for now just to put a name on this concept: testsourcing.

                    (4th) Testsourcing Provide test artifacts (which subsumes the testers, testing and tools)

Testsourcing cannot be explained however without one key technological leap that has yet to occur. This technological leap is virtualization will be described in part two of this series.