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
ResourcesTopicsCommunityPowerPass
Home  >  Detail: Three Keys to Test Automation



A StickyMinds.com Original
Article Picture
Three Keys to Test Automation

By Bret Pettichord

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

Summary: How can you get your test automation project off on the right foot? I've been asked this question many times. It has prompted me to review the test automation projects in which I've been involved and identify the factors most associated with success.


Telelogic North America
How can you get your test automation project off on the right foot?

Commitment is Essential
The team needs to see test automation as necessary and critical. The whole team must be committed to test automation.

I saw the benefit of this kind of commitment on one project where the test plans and project plans assumed from day one that a means for automatically executing tests would be available. When the first person with responsibility for test automation admitted defeat, it was given to another. And then to another when the second person couldn't get it to work. This third team member was able to get additional assistance and finally got the automation to work. Because each participant knew the team was counting on the automation, the project stayed alive with increasing urgency and effort.

More common in my experience are teams that see test automation as something nice, as something to put some effort into, but not to bet on. They make sure they have fallback plans for manual testing in case the automation doesn't work out. Invariably these automation projects don't get the attention and assistance they deserve.

Nevertheless, I have seen some smaller successes arise from such circumstances. In each case, it was because of efforts by outstanding individuals who demonstrated personal commitment, technical accomplishment, and loyalty to the team. The loyalty of these individuals meant that they stayed on the team for years, always prepared to step in and help with the test automation. It was their baby and they weren't going to let it be abandoned.

Ultimately, commitment is key, whether from the team or from individuals. Without it, automation efforts--however laudable--invariably are abandoned.

Work Together as a Team
A second key I've observed that contributes to test automation success is effective partnership between testers and developers.

From my experience, testers who head test automation efforts without significant involvement from their developers are prone to make several errors. They fail to appreciate how their test automation project needs to be planned just like other software development projects. They underestimate their need to understand the test automation technology they're using. And they aren't in a position to simplify the test automation by adding testability hooks into the software under test.

On the other hand, developers heading up test automation efforts don't fall into these traps, but have been prone to providing automation that doesn't meet the real needs of testing. I've seen them generalize from experiences testing their own code, not appreciating the importance of finding errors that they didn't make. And I've seen them develop whiz-bang technology that looks cool, but doesn't really help get the testing done, because they don't understand the real testing problems.

The best efforts avoid these various traps by having testers and developers jointly charter the test automation effort. This is not just a matter of skill. You actually need to have members of the development team involved. Only they are aware of ways that they can make the software easier to test and are in a position to make it happen. And key tester involvement ensures that the results address bona fide testing needs. This kind of teamwork is very effective.

Less effective, but still capable of success, is having developers independent from the product development team assist a testing team with test automation. Some effort must be made to work with the product development team on testability issues, but in these cases full participation from the development team was not required for success.

Get an Early Start
Getting an early start with test automation has contributed to the success of several teams I've worked with. In other words, I've observed that test automation efforts have more challenges to overcome as a software product becomes more mature.

For instance, invariably some changes are required to the software under test in order to allow the automated tests to be effective. Early on, it is easier to champion these changes. I remember one mature software product that required some changes to allow the automated tests to avoid a nasty problem. But the original developer of the code wasn't around any more and no one wanted to risk changing the code. So the testers had to live with a test suite that occasionally raised false alarms.

Another challenge faced by test automation for mature software products is that automated test procedures are never quite the same as manual test procedures. They can be similar, but some things will need to be different because you no longer have an intelligent, perceptive human being watching every test and able to make reasonable assumptions about the source of errors. Every testing strategy has strengths and weaknesses. Changing strategy--which is what automation requires--may make testers and managers who are familiar with the old approach nervous. My experience has been that getting a testing staff and management comfortable with automated procedures, when they are more experienced with manual processes, is often the most difficult challenge to late-starting testing automation projects.

Often test automation efforts are started early in the life of a software product, only to be shelved in the rush to get out a release. In all the cases I've observed these efforts become only more difficult with time. It's like learning to ride a bike: if you don't get started early enough, you may never learn.

A lot of people considering how to automate testing focus on the technology—the languages or test tools. In my experience, this has never been the key to success. I've seen the very same technologies contributing to success on one team but leading others nowhere. The key factors are commitment, teamwork and a sense of urgency. If you have these, the technology takes care of itself.

Further Reading
Seven Steps To Test Automation Success, Bret Pettichord, http://www.io.com/~wazmo/papers/seven_steps.html

About the Author
Bret Pettichord is a writer, speaker, and consultant with Pettichord Consulting, affiliated with Satisfice. He edits the Software Testing Hotlist.

Back to Top
 

StickyMinds.com Weekly Column From 12/04/00 


Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Eric Neilson 8/6/2003

Hi nothing to do with automated testing. I just want to put Craig Salas in his place. I have a life after 5pm do you? Working late and licking boots just means you spend all your time at work. I prefer to work as smart as I can between 9-5, thus enabling me to go home and have a life. So, Craig, I think you need to adjust your attitude, although I dont care if you work everynight of the week sado.

 
 
Comment:    
by Craig Salas 11/13/2002

There seems to be a lot of talk about "a late start", the answer to this is simple, "late nights". Chris DeNardis said this in his comment: "The only other thing I would add to this, is dedication" Dedication = "LATE NIGHTS". I look at it like this, computer work is not a job it’s a life style! Those with dedication watch there skills and salary increase from year to year, those that leave at five o'clock on the dot every day don’t ever move up in the industry. I know what your thinking, what am I going to say to my company to get them to purchase automation software this late in the game, and trust me to bust my ass every night...Read On

 
 
Comment:    
by Terry Sellwood 7/24/2001

After first starting to make some progress with test Automation (Winrunner based)as part of our Y2K remediation we realised that it just wasn't good enough to approach automation on a project basis. If you are to reap the high level rewards then you have to put the effort in over a period of years. We are now at a point where we define our test cases via spreadsheet and can then largely auto generate our testing scripts. This means that we can set up test cases pre code delivery, generate scripts covering very large releases in a day or so following code delivery and then rip right in to in-depth testing. The critical activity for us is...Read On

 
 
Comment:    
by Ron Lavi 3/23/2001

Brett, Automation is great. I have implemented it in several QA departments. But the industry is changing. There is a very strong emphasize on releasing projects as fast as possible and automation appears to slow down the process. In addition, automation appears to help when it is a repeated (at least 15 times) process. Many projects today don't repeat themselves and delivered to testing with a short time before the release date. How do I still make a case for Automation?

 
 
Comment:    
by Jaiprakash Gurala 1/11/2001

I fully agree that the plan for Automation has to be done along with the Project plan, that is I would say Automation Plan is part of Quality Plan in the Project Plan. In my experience, identification of test scenarios for automation takes place parallely with the generation of functionality test cases. Some of the scenarios are specified by the client. Once the functionality testing is complete atleast for one cycle, then the tool is used for regression testing. I feel that the automation of testing does not replace the manual testing. Kindly give feedback....Jai(01/12/2001)

 
 
Comment:    
by kalyan rao 1/10/2001

Iam from a company where test automation succeeded after a series of failures. I completely agree with the author that commitment , sense of owner ship and dedication is necessary. I have few comments about the paragraph GET AN EARLY START. I would like to know at what phase exactly test automation should enter in? Requirments,design specifications, coding , Functional Unit Test or Integration Test? As we all know test automation tools are sensitive to GUI changes. In my opinion Involving Functional Consultants, Senior test engineers and Senior Developers while designing the test automation project is also important so that we automate...Read On

 
 
Comment:    
by Bret Pettichord 12/29/2000

Jack, you ask a great question: "How do you propose to deal with late starts?" I've tried this before and it is hard. I'll have a more detailed answer for you in my next column which will appear hear the week of January 22nd.

 
 
Comment:    
by Graham Freeburn 12/22/2000

Yes, Yes and Yes - without addressing these areas automation is destined for almost certain shelfware. I'd add a fourth fundamental rule which is "Management of Expectations". In my experience this, often combined with failure to address one of more of the areas higlighted, is the root cause of failure.

 
 
Comment:    
by Carey Thornhill 12/6/2000

Excellent observations. My company tried 3 times, 2 times unsucessfully, to bring automation to the testing teams. The MGMT focused on automation, while the TESTERS focused on keeping their manual testing; it finally came down to 6 dedicated individuals, committed to success, to bring everyone together. There are still pockets of resistance, but communication, teamwork, and spirit prevails.

 
 
Comment:    
by Jack Baseley 12/6/2000

My group just started an automated project and this article was a great help. My only concern is that an early start for automation is not always possible. How do you propose to deal with late starts?

 
 
Comment:    
by Chris DeNardis 12/5/2000

Very good rules to follow for automation. The only other thing I would add to this, is dedication. Do not paint the picture to MGT that you will have something working in a week. Rather promote the long term benefits of automating versus manually testing. Automated Testing requires proper planning, and insight into how your tests should be executed. Do not just do simple play back and record as part of your tests. Yes these are good if you do these in the beginning to learn about the tool, but later on you should be writing code, or table driven scripts that can be built on. Finally dedicate someone to this effort. Where I...Read On

 
Back to Top


Marketplace

Web based bug tracking - AdminiTrack.com
AdminiTrack offers an effective web-based bug tracking system designed for professional software development teams.

BugSplat - Automatic Crash Analysis
Fast online exception analysis. Capture customer crash data online.

New Webcast: How to Profit with Remote Support.
Discover how REMOTE SUPPORT can fuel your IT business in ways you've never thought of before.

Need Agile Test Cases?
Create statistically complete test cases simply and quickly.

Check Out IT Certification Preparation Materials
Sign Up With SkillSoft & Get Access to Training Materials for Over 50 Professional Certifications.

Get your product or service listed here.
Subscribe to Better Software Magazine
Subscribe to Better Software Magazine

First Name:

Last Name:

Email Address:


Home   |   Resources   |   Topics   |   Community   |   PowerPass



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


Skytap, Inc.



STARWEST 2008

 
Agile Development Conference 2008