metrics, such as bug counts and test case counts, are dead. Useful metrics, such as spec coverage, model coverage, and code coverage, drive the projects.
Fewer Testers, Better Testers
Machines now perform much of the mundane work that testers previously did creating tests. Teams require fewer testers, and the testers who remain are more highly trained. Their work is more interesting to them because they are focused on bigger issues in their tests rather than slogging through grunt work.
More Tests, Better Tests
Testers can now generate millions of tests on any day, so the challenge becomes how to run the most useful tests first. Combinatorial tools allow testers to prioritize their testing and aim their test runs at the areas most likely to have significant bugs.
Roles Will Change for Testers
Distinctions Blur in Testing
Work in the testing field blurs the line between people who only specialize in hands-on testing and those who only create test tools. A new specialty emerges that encompasses both "testers who like to break things via programs" and "programmers who like to create programs that break things" - people in newsgroups debate endlessly about what to call the new specialty.
Boundaries Blur Between Testing and Development
Testers and developers work in tandem to produce testable, high-quality code. Testers help iron out spec issues to make the developer's job easier, and developers create cleaner, more testable code to make the tester's job easier.
Feedback from Customers Becomes Integrated with Testing
The quality of deliverables becomes higher. Testers routinely conduct root cause analyses. We ask questions such as "How did we miss this bug?" and "How can we prevent this type of bug in the future?" We work to delight our customers.
New Challenges Emerge
The sophisticated and interconnected environment of the computing world guarantees that new problems such as security testing continue to keep testers running hard. This is OK-testers find these challenges invigorating.
Testers Get Respect
Testers are no longer called in at the last moment to "pound on the product." They provide a visible, vital, value-added service throughout the software development process. People realize that testing can be rewarding, interesting, and even fun.
Testing Gets Trendy
Software testers start to hold their heads high. And, because breaking stuff is at least as much fun as building it, people begin to rotate between positions in development and testing. Everyone learns more about what makes good code.
Adrenaline Junkies Move On
The new process works so well that spec writers, developers, and testers end up having lives. This is disconcerting to some who were raised in the adrenaline-charged world of late-night, last-minute, firefighting sessions. These people gravitate to companies that remain out of control.
Elvis Presley Is Discovered Working as a Software Tester
The giveaway is his conference paper titled "Software Quality: It's Now or Never".
Prepare for the future today
Whether or not my predictions come true, the future is on its way. Here are five ideas for how you can prepare to meet it:
- Get Actively Dissatisfied
Don't accept the current state of testing. Look around and think, "What are we doing that makes no sense?"
- Push the Envelope
Figure out how to test better and share that knowledge. Overall quality will improve only if everyone seeks to make the code they are working on the best it can be.
- Learn More about Testing
At this moment, the industry is exploding with innovative software testing ideas. Go to conferences, join mailing lists, and scour the Web to see what is happening on the cutting edge of testing.
- Learn More about Development