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: New Year, New Level: What’s Next in Automation



A StickyMinds.com Original
Article Picture
New Year, New Level: What’s Next in Automation

By Linda Hayes

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

Summary: Sometimes we get so focused on solving the problem in front of us that it doesn't occur to us to ask if we are solving the right problem. Linda Hayes finds that starting a new year makes her think less about what has been and more about what could be. In this week's column, she offers her thoughts on the validity of the way we approach the most variable of all factors: the user.


Worldware
I was discussing test design with the test manager for a large enterprise application. We were looking at a particular screen whose layout was completely dynamic depending on the actions of the user. She was bemoaning the fact that there were so many possibilities it took forever to test them all. I suggested that we identify the most common or likely scenarios and test only those. She countered by saying that the software had to support any eventuality, and so instead we should figure out how to use automation to test every possible outcome. Since she was the customer, her method prevailed, and much was invested trying to develop a sophisticated approach for solving the problem.

Aside from the fact that my experience told me this was a losing battle (after a great deal of time and effort, she eventually agreed), something about this whole discussion was unsettling, but I didn't put my finger on it until a later and seemingly unrelated incident occurred.

I was working with a different customer to help them document their business processes for testing, and it quickly became clear that there was no standard approach for performing many of their most critical processes. For example, one user navigated through five extra screens that her peers did not use. It turned out she was taught to do that by someone who used some of the same screens as part of a different process—like someone giving you directions starting from his own house. Because of these kinds of inconsistencies, the company had over a thousand test cases that, when analyzed, yielded frequent duplication resulting from multiple approaches to the same process.

Reflecting on this, I realized what these two incidents had in common: The users were uncontrolled variables. The essential randomness of user behavior, in turn, vastly complicated the test process. How can you test for interactions you can't predict?

That's when I realized we were solving the wrong problem. The answer is not to develop ever more test cases or more complicated test automation approaches. The real solution is to control the user.

Technically, it may be easier than you think. Organizationally is another matter.

Training Versus Automating
Even though every new system rollout is, hopefully, accompanied by rigorous training and thorough documentation, it is obsolete by the next release or new hire. Most business-critical software (as opposed to desktop productivity tools like word processors and spreadsheets) exists in a constant state of change as the business adapts its technology to fluid competitive and customer demands.

Unfortunately, training classes usually can't be justified for only one or two new features or new hires at a time, and pressure on delivery schedules doesn't always allow for updating documentation and training materials. So, training becomes organic: Carla trains Darla, and by the time you get to Marla variances have crept in. It's like the telephone game. The result, of course, is the very unpredictability that ends up distorting the test process.

But what if, instead of documenting the processes and training the users, we automated the processes that the users should follow? In other words, what if we trained the software, not the person?

The technology to do exactly that exists already. Many training systems and most test-automation tools are capable of walking a user through a task and controlling her interaction within certain parameters. All you have to do is shift these from training or testing environments to the production platform.

Think about it: User predictability and efficiency would improve, errors would be reduced, the learning curve for new employees would be shorter, and—best of all—we would know exactly what to test and how to test it. In fact, the automated processes simply could be pointed at the test environment as a comprehensive acceptance test.

Sound radical? It might be, but it's not as crazy as trying to test for every possible outcome of any particular individual user's behavior in a given situation.

It's not impossible. I know of companies that have done this successfully. The trick is not implementing it; it is to get management buy—in to define and adopt the processes and require the users to follow them. But maybe by educating the organization about the interplay between user behavior and testing requirements, we can do our part to effect a new level of automation.


About the Author
Linda G. Hayes is a founder of Worksoft, Inc., developer of next-generation test automation solutions. Linda is a frequent industry speaker and award-winning author on software quality. She has been named as one of Fortune magazine's People to Watch and one of the Top 40 Under 40 by Dallas Business Journal. She is a regular columnist and contributor to StickyMinds.com and Better Software magazine, as well as a columnist for Computerworld and Datamation, author of the Automated Testing Handbook and co-editor Dare To Be Excellent with Alka Jarvis on best practices in the software industry. You can contact Linda at lhayes@worksoft.com.

Back to Top
 

StickyMinds.com Weekly Column From 2/16/2009 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Pete Dean 2/23/2009

An interesting article on a number of levels, though unless I misread it, you seemed to be groping towards a recognition that testing should be directed to ‘testing the right things’ rather than ‘testing things right’.

All too often I’ve seen testers misguidedly trying to test every single conceivable scenario, and ignore the basic question of business risk. We have a similar situation in that our AUT has user-configurable forms – aside from mandatory fields, users can pick and choose which optional fields and action buttons they can drop onto their forms – and depending on what they pick, the AUT can take different processing...Read On

Author's Response:
2/23/2009    
I agree with your analysis, Pete, I was just taking that to the next level and wondering if we could corral users into the 20% paths in advance instead of just observing this after the fact. Either way, you're right - it's about business risk and value, not technical risk and possibility.

 
 
Comment:    
by Ashfaque Ahmed 2/23/2009

Hi Linda,
Your insight is excellent. Indeed it is a good idea to restrict user navigation to a limited number of possible paths. It will not only help in automation but it will help in testing the application in general.
This kind of functionality in the software application will not only help in testing it but it will also help end users enormously. Imagine a general public website being accessed by all kinds of people. Many of these people are not much familiar with navigation of menus and screens to perform any transaction. They get lost in the middle when they need to do a lot of navigation to perform a transaction which...Read On

Author's Response:
2/23/2009    
Thanks, Ashfaque. It's good to see testers with a holistic view of how their efforts interplay with not just the development but also the use of the software. In the end, quality is really about the user's experience.

 
 
Comment:    
by Jason Styne 2/20/2009

Hi Linda,

I disagree. It seems to me one of the purposes of automation is to reduce the cost of testing the multiple paths through the system thus allowing companies and developers the freedom to create more complex, intelligent, and interactive user experiences. Also I think application are and will continue to grow in complexity of user interaction as ever increasing benefits are derived from that complexity. Restricting user pathways/interactions to a small subset of approved workflows is a losing battle and is counter intuitive to the benefit that automation provides. A better solution might be to design the software with...Read On

 
 
Comment:    
by Dion Johnson 2/19/2009

Hi Linda!

It's good to see more articles coming out talking about what's next for automation. I did it with my November Stickyminds column, "Automation Déjà Vu...Again!", and I think that the automator community needs to devote more attention to addressing the future of test automation. It may be a topic that's worth organizing some sort of symposium, conference, or even virtual gathering to specifically address. I may try to work through the Automated Testing Institute (www.automatedtestinginstitute.com) to make this happen. Would you be interested?

Author's Response:
2/19/2009    
Hi Dion - I'm always open to furthering the cause for automation! Keep me in the loop, I like your ideas.

 
 
Comment:    
by John Fryberger 2/19/2009

Linda, I apologize if I am missing the point, but automating (and limiting)user activity for client/server and even Web-based applications isn't new. In certain applications it makes a lot of sense, and yes, it does simplify testing. The drawbacks are that it makes power-users less efficient, and limits the flexibility of the all users to handle the dynamic needs of the end user. How often have we had a representative tells us they can't service our request "from here". The savings that we get from testing and training structured apps is shifted to the higher costs and time-consuming user activity compounded daily. The overall cost...Read On

 
 
Comment:    
by John Fryberger 2/19/2009

Linda, I apologize if I am missing the point, but automating (and limiting)user activity for client/server and even Web-based applications isn't new. In certain applications it makes a lot of sense, and yes, it does simplify testing. The drawbacks are that it makes power-users less efficient, and limits the flexibility of the all users to handle the dynamic needs of the end user. How often have we had a representative tells us they can't service our request "from hear". The savings that we get from testing and training structured apps is shifted to the higher costs and time-consuming user activity compounded daily. The overall cost...Read On

Author's Response:
2/19/2009    
Thanks, John. I guess I didn't make the point as clearly as I hoped. The goal would be to make users more efficient by automating the process steps to reduce their overall effort while also reducing the need for training and opportunity for error. As far as whether I know a tool that can automatically (some would say automagically ;-) learn the processes and branches, the answer is no. Part of the problem is that we would not know whether what the application is doing is what we want or expect it to do. I would argue that a valid test starts with an expectation of the outcome as opposed to a means of discovering it...but I'm open to other points of view!

 
 
Comment:    
by Ed Weller 2/17/2009

Linda,
Thought provoking article that is definitely on the right track. Providing users complete flexibility/freedom adds to development and test cost. Similar to "feature-itis". After deployment we see50-75% of the product features are unused. We need to take a stronger stance on identifying the cost of too much flexibility and the real gain to the user.

Author's Response:
2/18/2009    
Thanks Ed. I agree that "freedom isn't free". Too mcuh flexibility also leads to bloat. I suspect a lot of it is due to vague requirements.

 
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


Infosys

HP Software




STAREAST 2010 


Better Software Conference