TrainingConferencesAbout UsContact UsAdvertiseSQE.comRSS Feed

StickyMinds.com: brain food for building better software

Log In
 Clarify Your Search Criteria

Tips on Using Our Search Feature(s)
 
StickyMinds.com Home
ResourcesTopicsCommunityPowerPassBlogs
Home  >  Detail: Predicting the Future of Testing


A StickyMinds.com Original
Article Picture
Predicting the Future of Testing

By Harry Robinson

Send This Content to a FriendGet a Short Link to This ContentPrint This ContentSee User Comments About This Content

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.


Rally Software
"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 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: 
 
1. Get Actively Dissatisfied 
Don't accept the current state of testing. Look around and think, "What are we doing that makes no sense?" 
 
2. 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. 
 
3. 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. 
 
4. Learn More about Development 
Take a programming class. Even if you don't plan to write significant amounts of code, view the class as a reconnaissance flight over bug territory. 
 
5. Change the World! 
As PC pioneer Alan Kay said: "The best way to predict the future is to invent it." 
 
 
For more info: 
 
On executable specs: “Executable Specifications: Creating Testable, Enforceable Designs” 
 
On model-based testing: “Intelligent Test Automation” 
 
On system simulation: “Software’s Invisible Users”


About the Author
Harry Robinson is Test Architect for Microsoft's Enterprise Management Division. In addition to his day job, he teaches classes on advanced software test automation and is a driving force behind Microsoft's model-based testing initiative. He has been at Microsoft for five years and has a Bachelors and Masters in Electrical Engineering. You can reach him at harryr@microsoft.com.

Back to Top
 

StickyMinds.com Weekly Column From 12/8/03 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by tian tian 5/25/2006

Hi Harry, I cant access your website,i am not sure the reason.But where can i read your all paper or article?if possible,you can mail to me

 
 
Comment:    
by Rajendra Khachane 3/10/2006

Hi Harry, I had read your articles on MBT sometime back. Recently I had a chance to implement a prototype based on Model based testing. I used the concept for SWT GUI testing. I defintely plan to use this concept in future projects. This made me realise that the line between developers and testers is getting thinner. Frankly it was the most interesting testing experience I ever had. Alfred, I remember discussing concept of keyword driven framework with you. Actually at the core I found it a lot like Model based testing.

 
 
Comment:    
by Alfred Devarapalli 1/4/2006

Hi Harry, I read your article last year Jan 05 and I read it again this year in Jan 06. Most of your predictions still hold good and some are emerging. One more school of thought which is emerging is a lot of emphasis on Keyword driven automation, so that we continue to use a mix of SME tester and Automation experts. So there is room for everybody, unlike what you predicted there would be only few testers with high end skills - Thanks

 
 
Comment:    
by Jerry Durant 12/28/2005

Your sage words are appropriate and encouraging to those steeped in the relm of software testing. But, what about those at the CIO/CTO level who hardly recognize that testing is even a discipline, let alone an essential part of the software engineering process? Until we can established a firm foothold there, we will continue to exist and the view of the future will be the same 10 years from now.

 
 
Comment:    
by Anonymous Tester 2/24/2004

Guy who makes living teaching automation and developing model-based testing initiatives says the future is automation! And model-based testing initiatives! Story at 10.

Author's Response:
2/28/2004    
Hi A.T. - It's more like the other way round: Guy who believes the future is in model-based test automation aims his career at developing and teaching model-based testing! :-) Cheers!

 
 
Comment:    
by Phyllis Blickensderfer 1/27/2004

The link “Executable Specifications: Creating Testable, Enforceable Designs” is no longer valid. Is that available elsewhere? Thanks for the help.

Author's Response:
2/3/2004    
Hi Phyllis, MSR was reorganizing their website and it was offline. I just checked and the paper is back, so give it another try. - Harry

 
 
Comment:    
by Rajkumar Seetharaman 1/26/2004

A real good article.

 
 
Comment:    
by Andy Redwood 1/6/2004

Harry - Some good observations on the IS front, however I think that Testing in 2004/5 will align with the Business need for global automated and off-shore 'follow the sun' testing demands - something few are doing well - or even at doing at all.

 
 
Comment:    
by Tek Wallah 12/14/2003

That’s a wonderful list of things to think about. I couldn’t agree more that the age of “mechanical” testing for “bugs” needs to give way to a more sophisticated assessment of how well software serves its purpose. That will take, beyond all else, a better appreciation of the environment in which business (or consumer) users work and an understanding of what they’re truly trying to achieve. Tom DeMarco’s point that product quality has almost nothing to do with defects or their lack, can’t be repeated often enough. But do you really think that this is the direction in which the testing profession is headed? I don’t see any signs of it.

 
 
Comment:    
by swaminathan subramanian 12/12/2003

Dear Harry I am intrigued about your comments on Testing metrics - pray, can you justify why you think bug counts are dead and spec coverage and model coverage are in. Also can you direct me to more literature that tells me to reorient our test processes to a spec and model coverage. Again, I have to justify to our Testing gurus the reasons for such change. So can you direct me , would be grateful, thanks.

 
 
Comment:    
by cynthia gagne 12/12/2003

I can see the vision where testing gets so trendy, that we have television commercials based on the model of automobile crash tests and dummies talking about safety! Piggy-backing off that idea, have software testers used the automobile testing business as a paradigm? It is a well accepted occupation, budgetary expense, and scheduled activity.

 
 
Comment:    
by Adrian O’Leary 12/11/2003

Mine are the same sentiments as the last poster. I feel fortunate to have been exposed to each of the items you have listed for the last ten years. I'm sure there are many that will find your article very enlightening and learn from it.

Author's Response:
12/11/2003    
Each of the items? Including the Elvis sighting? Cool! :-) Seriously, sounds like you're in a great place! -Harry

 
 
Comment:    
by Jim Pensyl 12/11/2003

Your article is interesting and I hope it serves to get the rest of the world on board. Per my own experiences going back over 28 years, I see nothing in your article that I have not already lived. So for me, this is a look into the past rather than the future. I feel fortunate.

 
 
Comment:    
by Gene Fellner 12/10/2003

I sympathize with the posters who noted that (to paraphrase them) the new spotlight on testing is merely an attempt to graft the Industrial Era's assembly-line Quality Control processes into the software development process. They're right, it's not a really good fit because software is not manufactured. Still, I applaud any redirection of the IT industry's attention away from software process PRODUCTIVITY and toward QUALITY. The general public never complains that we overrun our schedules and budgets; they complain that our products are riddled with DEFECTS. So QC is a step in the right direction. If we can lead our leaders into focusing on...Read On

 
 
Comment:    
by Ramesh Uppalapati 12/9/2003

Five Ideas in preparing for the future are spiffing.

 
 
Comment:    
by Smitha suresh 12/9/2003

Hi Harry A major U.S. retailer was reportedly hit with a large government fine in October of 2003 due to web site errors that enabled customers to view one anothers online orders. News stories in the fall of 2003 stated that a manufacturing company recalled all their transportation products in order to fix a software problem causing instability in certain circumstances. The company found and reported the bug itself and initiated the recall procedure in which a software upgrade fixed the problems. ... and many other bugs.

Author's Response:
12/9/2003    
Hi Smitha - the past does indeed look grim. I hope the future looks a whole lot brighter. cheers, Harry

 
 
Comment:    
by Shibu KS 12/9/2003

Hi Harry " Good and Excellent work" " Testing is an Art We have to make it fruitfull" Shibu ks

 
 
Comment:    
by Scott Ranville 12/9/2003

Harry. I agree with you whole heartedly. I have been pursuing automated testing since 1995. If the modeling tools of choice is Matlab, I can accomplish a number of the items that you mentioned, such as automatic generation and execution of test vectors, and applying formal methods to the models. Thanks, Scott Ranville scottranville@softwareberet.com

Author's Response:
12/9/2003    
Hi Scott- I would be interested to read more about your test generation work. Do you have online papers on your Matlab automation that I can post on www.model-based-testing.org? thanks! Harry

 
 
Comment:    
by manoj kumar 12/9/2003

Harry, " Good Article" Manoj Kumar

 
 
Comment:    
by Siju Ambady 12/9/2003

Harry, Well written!. There is no doubt about that " Good Tester is a Good Doctor " . He can identify the problem of software other than developer so he can easly identify the solution for that,more over The tester can only provide the "Qualty Assurance Certificate" ,The most valuble .... Siju Ambady SNS Technology www.snstech.com

Author's Response:
12/9/2003    
Hi Siju - Thanks for the comments. If we take the doctor metaphor a bit further, we would need a way to have the doctor get credit for preventing your getting ill. That could be a tough metric to quantify. thanks, Harry

 
 
Comment:    
by Darryl Hurmi 12/9/2003

I like your five ideas for making testing better they are excellent and best of all have nothing to do with any magic bullets like automation. They are the keys to making anyone a better tester and any organization have a better test group. The one thing that I would add is partner with the developers, they need help and in most cases won't ask. Find out what they are having problems with and help them to develop the code faster and more reliably. The crunch on testing sometimes is pale in comparison to the stress the programmers have been under, if you can help the programmers to develop better code they will be your biggest supporter...Read On

Author's Response:
12/9/2003    
Hi Darryl - I don't know the likelihood of getting devs to run many tests, but I agree with you that one of the best things test can do is to help dev smoothly deliver good, clean code. The metrics can still be a problem since many of the bugs will be prevented or found while still in the coding phase. An idea I've used in the past is to have the dev write an email to my management during the process saying how much the upfront help is making dev's job easier. thanks! Harry

 
 
Comment:    
by eoin dunne 12/8/2003

I can see the vision Harry. Many of your points seem to mirror those of another influential voice in the testing world: Borris Beizer. Automated testing, test-case generation via models, and the redefintion of automated testing as a way to actual test is the future. Keep the ideas coming.

Author's Response:
12/9/2003    
Hi Eoin - The similarity is not coincidence. I am a big fan of Boris's work. I read through my copy of "Software Testing Techniques" so many times that I wore out the binding and had to buy a new copy! - Regards, Harry

 
 
Comment:    
by Shalini Ravikumar 12/8/2003

Harry, this piece from you is excellent! It makes me feel whatever we know today will not last longer unless we learn and grow, adapt ourselves to the changes happening in the industry today. It gives an idea that lot of areas are still open to be explored. Not only that, there are many things to be standardized right from the initial stages. As you have rightly mentioned about collecting positive metrics that really helps us predict and do better. There are lot of other noteworthy points you have mentioned which we must be read, understood and applied! Regards..

Author's Response:
12/9/2003    
Hi Shalini. You're right - the main point of the article was to give hope for the future of testing. thanks, Harry

 
 
Comment:    
by Anuj Magazine 12/8/2003

It was a nice insight to the future harry. But i would like to mention that- though Software testing profession is growing at a fast rate and Software Processes are getting matured day by day. I was observed a lot of transformation in the field of Software testing in say- last 4-5 years. Of late it is getting the respect that any profession demands and Software testing is indeed seen as a means to achieve Bug free high quality software. Though i would personally like to see Software Testing as a more preventive business that reactive one in future.

Author's Response:
12/9/2003    
Hi Anuj - As software becomes even more prevalent in our lives and the need for great software grows louder, I expect that the next four or five years will see tremendous growth in methods and tools. thanks, Harry

 
Back to Top



 
Ads By Google
What's This?
 
 



Home   |   Resources   |   Topics   |   Community   |   PowerPass



© 2010 StickyMinds.com. All rights reserved.
StickyMinds.com is a division of Software Quality Engineering.
Privacy Policy    Terms & Conditions    Link to StickyMinds.com    Feedback


ThoughtWorks




Agile Development Practices 

STARWEST