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: The Six Million Dollar Automator



A StickyMinds.com Original
Article Picture
The Six Million Dollar Automator

By Dion Johnson

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

Summary: Organizations expect software test automation to make software testing more efficient. But although test automation tools are gaining in popularity, automation itself remains relatively disregarded. With the Automation Body of Knowledge (ABOK), IT organizations will be better equipped to identify qualified automation resources and to offer their resources the benefit of a real automation career development track. In this week's column, Dion Johnson explains how automators may improve their skills and better market themselves to organizations of interest, even without access to the current fad tool.


Borland
Notice the following fill-in-the-blank problem:

If… (Proficiency in a manual test case repository tool) ≠ (Proficiency in manual testing)

And… (Proficiency in a test planning tool) ≠ (Proficiency in test planning)

Then (Proficiency in an automated test tool) ≠ (Proficiency in ___________)

The answer is "automated testing"! Clearly knowledge of a specific tool doesn't equate to expertise in the function that is aided by the tool, yet people have a problem filling in this blank. Test automation remains the only software quality engineering function driven by tool-specific knowledge. When an organization hires a manual test engineer, general testing knowledge -- not knowledge of a specific test case repository --is the determining factor. Likewise, what a potential manager knows about management processes is more important than knowledge of a specific tool. Tool knowledge is a plus, but not the most important factor.

There are bodies of knowledge, classes, and certification programs that provide engineering or management skills that can be transferred to any tool. Test automators haven't had the same luxury. Their only option is to take a tool-specific class or get a tool-specific certification. But, such classes and certifications don't guarantee that an individual will be an effective test automator. In fact, without the proper skills these classes and certifications simply mean that an automator will be better at being ineffective.

To resolve this problem we must rebuild the benchmarks that we use to assess the test automator, or we must rebuild the test automator himself.

We Can Rebuild Him

Maybe I watched too much TV as a child, but talks of rebuilding the test automator brings to mind the fictional character known as the the Six Million Dollar Man. Much like they reengineered a broken test pilot into the Six Million Dollar Man, we will rebuild the automator using automation bionics collectively named the Automation Body of Knowledge (ABOK). The ABOK is composed of the following bionic parts (skill categories):

  • Automation's Role in the Testing Lifecycle
  • Automation Types
  • Automation Approaches
  • Automation Tools
  • Automation Framework Design Process
  • Quality Attribute Optimization
  • Programming Concepts
  • Exception Handling
  • Automation Analysis and Reporting
  • Automation Objects
  • Debugging Techniques

Let’s begin the operation!

See in Greater Detail

The first set of automation bionics we'll implant provides the ability to see things in greater detail. This will allow the automator to speak more intelligently about automation concerns, make more informed decisions, and help set the direction in which the project needs to go with respect to software test automation.

  • Automation's Role in the Testing Lifecycle -- This includes planning-related items that are often overlooked yet are extremely important for test automation success, such as calculating automation ROI, choosing what to automate, and determining exit and entrance criteria for the test automation phase.
  • Automation Types -- The different types of test automation -- functional regression), unit, integration, performance, etc. -- are often lumped into one "test automation" category. It's important to understand the basic differences between types, even if you don't specialize in all of them, so that you can speak intelligently about them.

See Farther

The following automation bionic allows the automated tester to see farther and recognize items that can impact the automation effort over time.

  • Automation Approaches -- Automation is more than record and playback. Approaches include data-driven, functional decomposition, and keyword. Awareness of these approaches, along with their pros and cons, is pertinent for building tests that last.

See Things That Normally Can't Be Seen

The normal automation eye is conditioned in a way that limits what the automator is able to see. However, the following automation bionic provides the automator with sight beyond one’s wildest dreams:

  • Automation Tools -- Organizations often must make a decision about the introduction or expansion of test automation based on the ability to buy a specific tool. It's important to expand your vision to both commercial and non-commercial tools and to know how to effectively valuate these options and make an informed decision about implementation.

Lift Incredible Weights

Many automation efforts fail because the framework used for automation of one release of a single application collapses under the weight of addition releases, different applications, and varying constraints. These bionics allow the automator to operate within a framework that can handle the increasing, varying weight of test automation projects:

  • Automation Framework Design Process -- This addresses a repeatable process for choosing an approach that best fits your organization. It also addresses building a suite of automated tests, which allows for faster automation over time.
  • Quality Attribute Optimization -- This defines various quality attributes (maintainability, flexibility, scalability, etc.) of the automated test bed and identifies ways of addressing these attributes based on priorities and constraints placed on each.

Run Farther and Faster

The following embedded automation parts will help the software test automator ensure the automated tests run as far and as fast as possible:

  • Programming Concepts -- Whether you use a tool with a scripting language, tree structure, or keywords, fundamental programming concepts such as variables, control flow statements, and modularity remain paramount in effectively automating tests and increasing the distance tests can reach through increased system coverage and test flexibility.
  • Exception Handling--This category addresses the production of exception-handling routines that allow your automated tests to continue running after an unexpected occurrence. Without proper exception handling, test automation loses many of its timesaving benefits. In addition, lack of proper exception handling can negatively affect the speed at which the test suite runs.
  • Automated Test Analysis and Reporting--Test reporting and analysis is a repetitive process, yet can be extremely time consuming. This category addresses what types of reports should be generated and how to effectively produce them to save time in analysis and reporting.

Crush Items That Are Normally Impossible to Break

Preventing and solving test automation problems are fundamental skills that test automators often lack. These automation bionics provide the ability to crush issues that normal test automators can't even bend.

  • Automation Objects--Objects are central to automating applications; if the tool or script can't access objects, the application can't be automated. Many automation issues and failures result from a lack of proper understanding of objects and object behavior. This category addresses key object terminology (object maps, models, and properties) and the understanding of object dynamics.
  • Debugging Techniques--Regardless of how well automated tests are designed and created, problems will occur. Sometimes they're related to the scripts and sometimes the application, but finding the root cause is not always simple. The inability to debug scripts can delay schedules or bring automation to a halt. This category addresses techniques such as backtracking and problem simplification, which aid in identifying and resolving automation errors.

With the ABOK, IT organizations will be better equipped to identify qualified automation resources and to offer their resources the benefit of a real automation career development track. Automators may improve their skills and better market themselves to organizations of interest, even without access to the current fad tool. These automation bionics make the test automator stronger, smarter, faster, and ready to take the world of software quality engineering to new heights.



About the Author
As a senior test consultant and managing partner for both DiJohn IC, Inc., and Achieve QA, Inc., Dion Johnson provides IT consulting services that focus on the overall system development lifecycle, with particular focus on the quality assurance, quality control, and requirements analysis elements. He has presented at numerous SQE conferences and contributed to StickyMinds.com and Better Software magazine. Email Dion at dionjohnson@dijohn-ic.com or dionjohnson@achieveqa.com.

Back to Top
 

StickyMinds.com Weekly Column From 7/24/2006 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Jeff Dreyer 8/10/2007

I have been making this same argument for years (since 1997) when I first brought automation tools into my company. People latched on to automation as a resume builder and fell into the vendors' trap of "everyone can automate everything". I stood out like a sore thumb when I took the stance that automation is development skill and how it is implemented depends on a lot of factors and those factors can only be properly analyzed by a person with developer skills and a testing focus.

People tend to forget or just don't know (if they don't have a development background) that test automation yields an application in which its primary...Read On

Author's Response:
8/29/2007    
Thanks for the feedback, Jeff!

 
 
Comment:    
by Srinivasan Desikan 7/31/2006

Good article. I request the author to explain the concepts little more to make it clear.



One point I would like to add is that ABOK should be available with all engineers irrespective of whether that person is developer, test execution enginner or automation script writer. ABOK is a model/process around automation and automation is the job of everyone in the organization not just few people. Many organizations are going for a model where automation team just trains other teams and provide...Read On

Author's Response:
7/31/2006    
Thanks for the comments, Srinivasan. I totally agree with you. The purpose of relaying the skills identified in this article is so that anyone will be able to effectively improve their test automation prowess. So whether you are a developer or software quality engineer, you will be able to better contribute to the overall goal of test automation. By the way, be on the lookout for additional white papers, presentations, training classes, and other items that delve deeper into each one of the skill categories presented in this article.



Thanks, again.

 
 
Comment:    
by Nitianand Ramjattun 7/27/2006

This article speaks a lot about a subject which is poorly explored so far. It is possibly the only article that i have come across that answers most of the questions i used to have(both employee/employer perspective) some time back before I started my role in test automation. For completeness, I would probably add some general test automation concepts into this BOK. Well done!

Author's Response:
7/27/2006    
Thanks for the feedback, Nitianand!

 
 
Comment:    
by Richard Whitehead 7/26/2006

Following on from Howard's comment: the most successful automation effort I have seen had a distinct separation of roles between the people designing the test suite (definitely testers) and the people writing the actual scripts for the tools (definitely programmers). Not that that is a panacea, but it can help.

So how do we convince potential employers that lead testers don't need to be expert script-writers, and that they do need to be aware of all these other aspects you have identified (all of which I agree with, by the way)?

Author's Response:
7/27/2006    
Excellent point, Richard. I think the most successful automation effort that I was involved in also had a strong separation of roles. It wasnt necessarily a distinction between "testers" and "developers", though. It was more along the lines of automation lead, manual testers, framework architects, and application automators. The automation lead had to have strong process knowledge, including concepts related to ROI and other items that set the direction of test automation. The manual testers were responsible for designing and implementing manual test procedures. The framework architects had to have strong coding skills, along with some other skills that Ive identified in the article, because they design, developed and maintained the framework that is used by the application automators. The application automators were somewhere in between. They were responsible for the actual application automation, and their development skills didnt have to be as strong, because the framework provided a buffer that simplified many of the automation activities. Strong test processes, documentation, management support and investment is required for such separation of activities, and such separation of "powers" should be scaled according to the scope of the testing effort.

 
 
Comment:    
by Howard Clark 7/25/2006

I am truly amazed at all the verbiage that wraps around a seemingly simple concept. Take your pick of a software development methodolgy, and staff your automation needs with software developers, and you end up with the very skillsets the article speaks too. This line of demarcation between testers and developers needs to disappear. If for whatever reason it is impossible to acquire a development resource that is trained in the dark arts of testing, put a development resource under a tester's management. As a former developer by both experience and degree I find these issues I face on the testing side of the house to be trivial and almost...Read On

Author's Response:
7/25/2006    
Howard,



I can understand where you're coming from to a degree. I do have some fundamental disagreements with some suggestions that you make. I believe that most will agree that there are clearly differences between the set of skills required for testers from those required for developers, so I’m not going to belabor that point. When talking about ‘test automators’, however, I could see how you suggest that there are some similarities between the skills required for automators and those required for developers. This is evident when you begin to look at the skills related to programming concepts, exception handling, and debugging. Brett Pettichord, in one of his papers entitled “Seven Steps to Test Automation Success” suggests that we need to implement our automation projects more like we implement our development projects. This is true, and makes sense, given the fact that test automators are in effect developing code. This does not, however, mean that test automators and developers are one in the same or that they have the same skill sets. I’ve worked on projects where developers have been responsible for automated test development. The result is very often an overly-extensive, scarcely-documented library of complex code with cryptic reporting, all of which makes the tests way to complicated for efficient maintenance. In addition, there is often something left to be desired regarding how the script addressed the test objective, and its test coverage tracking ability. This is NOT to suggest that there is never a need for complex code, NOR does it suggest that developers can’t make good test automators. What it does suggest is that if you try to approach test automation with only a developer mentality, you are going to miss the boat.



 
 
Comment:    
by Jayatheerthan Sundararajan 7/25/2006

This is an excellent article on the various skills that an automation test team should have.



Return on Investment Analysis is another important skill, an automation lead should possess, which facilitates stakeholders on decision making process. In today's world the factors favouring test automation and benefits were not clearly articulated/demonstrated. Hence the test automation were never considered in the project budget. The factors vary differently from project to project and a careful...Read On

Author's Response:
7/26/2006    
Jay,



Thanks for expanding on the importance of ROI computations. This is a key part to building a successful, sustainable automated testing effort. Glad you liked the article.

 
 
Comment:    
by Jim Little 7/24/2006

As a recovering Automator I cannot agree more with Mr. Johnson. In my early years wowing colleagues with automated scripts that made the screen flash and move without human interaction seemed enough. As the years went on I found myself falling into the trap of "Auto gratia Automatis" or automation for automation sake. Trying to automate everything using only the tool of choice became a recipe for failure.



Automation, like QA as a whole, is a balancing act. It has factors above and beyond...Read On

Author's Response:
7/24/2006    
Well put, Jim. Thanks for the comments.

 
Back to Top


Marketplace

Census: Web-based Bug Tracking and Defect Tracking
Track software bugs, defects, enhancements, support calls, and more. Issue tracking software that is scaleable, fully customizable and integrated with VSS. Includes e-mail notifications, role-based workflow, change history, and Crystal reporting.

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

Get the ports you need for your VMs to succeed.
HP network adapters help get the most from your virtualized servers. Learn more at HP.IntelVT.com.

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

Build IT Knowledge with Current & Trusted Content
Helps Employees Develop & Hone New Technical Programming Skills. Sign Up & Get Full Access.

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


Red Gate Software

STARWEST 2008

 
Agile Development Conference 2008