Predicting the Future of Testing

[article]
Summary:
As the end of the year approaches, psychics and pundits alike will start making their predictions about what's in store for us in 2004 and beyond. In this week's column, industry veteran Harry Robinson gives us his forecast on the future of software testing.

As the end of the year approaches, psychics and pundits alike will start making their predictions about what's in store for us in 2004 and beyond. In this week's column, industry veteran Harry Robinson gives us his forecast on the future of software testing.

"It is tough to make predictions, especially about the future."-Yogi Berra

Every December, tabloid fortune-tellers reveal what will happen in the coming year: "Madonna will fly on the space shuttle," "the U.S. capital will move to Wichita, Kansas" and so forth. I'd like to jump on that bandwagon and make a few predictions of my own about where software testing is going in the next few years. And I can only hope my prophecies fare better than those of my esteemed tabloid colleagues!

My main prediction is that software testing in the future will look very different than it does today. My reasoning is straightforward: Software testing largely stinks today. It comes into a project too late, contributes too little, and costs too much. If we care about the quality of our products and the health of our bottom lines, we need to re-think our approach to testing and quality.

I will even go out on a limb and say that better methods, better training and a better appreciation for testers will revolutionize the software industry. To be specific, technologies such as executable specifications, model-based test generation, bug prevention, and system simulation will play important roles in the unfolding drama.

Here are some scenes we will see in the industry over the next few years. In fact, some of these trends are starting to emerge already. 

Testers, Spec Writers, and Developers See Themselves as Partners

Testers Help Spec Writers
Testers work with spec writers to review and understand the spec as it is being written. Early review and modeling exposes many consistency, completeness, and ambiguity bugs while they are still cheap to fix.

Spec Writers Help Testers
The test team creates models to generate tests of its applications' behaviors. Spec writers review the models to ensure that they adequately cover the feature set. The resulting test model becomes an "executable spec."

Testers Help Developers
Because the spec is clean and unambiguous, the developers understand better what their code should accomplish. Testers provide lightweight models that developers can run against their code before they officially hand it over for testing.

Developers Help Testers
Proceeding on a feature-by-feature basis (to avoid the late-in-the-cycle, product-pounding approach of the past), developers and testers ensure that the code is easy to test with automated methods. Developer's code is now full of testability hooks, making errors more detectable.

Testers Help Testers
Tests are now modeled in a high-level language, so teams working on other features (and even other products) can help review and improve the test models. This creates a community of test generation experts. 

Methods and Metrics Get Better

Bug Prevention and Early Detection
Because the emphasis is now on the quality of the deliverable (and not on how many bugs you found along the way), prevention practices and detection tools, such as static analyzers, are mainstream.

Simulation in Testing
Simulation tools become common, making it easy to "fake" computer environments. Testing for exceptions and error paths now happens early in the development process. After the code has stabilized, real environments verify that the simulations were accurate.

Just-in-time Test Cases
Massive test case management systems are a thing of the past. Most tests are generated on the fly. Test cases are no longer stored away like rotting inventory, so it is easy to keep tests up to date.

Positive Metrics
Misleading

About the author

Harry Robinson's picture Harry Robinson

Harry Robinson is a Software Engineer in Test for Google. He coaches teams around the company in test generation techniques. His background includes ten years at AT&T Bell Labs, three years at Hewlett-Packard, and six years at Microsoft before joining Google in 2005. While at Bell Labs, he created a model-based testing system that won the 1995 AT&T Award for Outstanding Achievement in the Area of Quality. At Microsoft, he pioneered the test generation technology behind Test Model Toolkit, which won the Microsoft Best Practice Award in 2001. He holds two patents in software test automation methods, maintains the Web site Model-based Testing, and speaks and writes frequently on software testing and automation issues.

StickyMinds is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Nov 09
Nov 09
Apr 13
May 03