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: Record & Playback, You Have My Apologies



A StickyMinds.com Original
Article Picture
Record & Playback, You Have My Apologies

By Dion Johnson

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

Summary: The relationship was wildly exciting and adventurous when it began, but soon Dion Johnson discovered the scandalous truth about his new friend, Record & Playback. Not wanting to endure or support such deceitful behavior, Dion embarked on a campaign against Record & Playback. With the intervening years acting as a buffer, he now wants to give Record & Playback a second chance. In this week’s column, find out how Dion plans to save the relationship from totally dissolving.


HP Software

Dear Record & Playback,

I know that it’s been a while since we’ve spoken, but I’ve been thinking about you lately. It’s time I get some things off my chest. Remember when I was just a kid in the world of test automation? Seems like it was just yesterday. I was walking past some cubes in an office building when I saw you testing an application all by yourself, with no one else in sight. I thought I’d seen a ghost and had to do a double take to make sure it was actually happening.

You were the coolest thing in the world to me. Immediately you took me under your wing and showed me so many new and wonderful things about automation scripting. With you, I quickly learned the automated test tool language. We were inseparable.

That was years ago, though, and everything’s different now. Thinking back on those good times makes me a little remorseful about the way things turned out. For years I blamed you, but as time progresses I see that perhaps I was too hard on you. My desire is for us to move forward into a more positive relationship, but first we must step back and see where we went wrong.

Where We Separated …

For me, your dishonesty was at the heart of the rift. When we first met, you made a lot of grandiose promises about what you were capable of, and I believed you. You promised effortless automation by simply recording the execution of manual test steps in the application. You promised seamless overnight runs by playing back that recorded script. You promised that automated test analysis only required a brief inspection of an easy-to-read report. You even promised to reduce automated test maintenance to the click of a button. I foolishly believed you when you said that click would correct the script with an update run or by simply re-recording a small portion of a test script.

Slowly, however, the veil began to lift from my eyes as I watched recorded tests fail miserably when played back--minutes after being created. I saw poor coding standards and redundancy grossly expand analysis and maintenance to epic proportions. I watched automation efforts fail throughout the industry due to people underestimating the total cost and overestimating the return on investment.

At first I thought it was all due to misunderstandings, but then I saw how you pushed the damaging untruths about test automation. You aligned with and allowed yourself to be used by many dishonest tool vendors. At that point, I no longer wanted to associate myself with you. I went on a crusade to alert others that relying on you would be detrimental to an automation effort that seeks to create a robust, maintainable suite of automated tests.

I never fully abandoned you, but our relationship was forever altered.

Moving Forward …

Part of me still feels justified for taking a strong stance against you. It was necessary to counter the false claims about your capabilities! However, I do think there’s a way we can mend our broken relationship.

Instead of allowing you to be continuously misused by those motivated to achieve their sales quotas, I want to help lead you back onto the path of righteousness. I can help you and others understand the good you bring to our world when used properly within an effective automated testing process--even to test automation efforts that value maintainability. But you’d have to try and fit within the following process:

    1. Learn the application and the object dynamics
    2. Address the desired quality attributes
    3. Create a directory structure
    4. Create initialization and configuration parameters
    5. Create reusable procedures
    6. Develop tests with reusable procedures

The first two steps are part of the automation pre-planning. It is important to understand the environment, application functionality, and the application’s unseen dynamics. These things impact how tests are developed and executed. Then determine how best to handle the desired quality attributes (i.e., scalability, usability, reusability, flexibility, and robustness) prior to structuring the automation framework.

The third step involves identifying and creating the physical structure that stores and manages the automation components (i.e., folders, scripts, data files, and libraries). Afterward, you’ll create the initialization and configuration parameters that set up and stabilize the tool and the environment during test execution. Then you’ll create automated procedures (a.k.a. functions) that increase modularity and maintainability, which will be used by several automated tests. Finally, combining the reusable procedures from the previous step to create automated tests marks completion.

Much of the automation work takes place in the first and fifth steps, and it is here that your capabilities are most useful. By doing some simple recordings in the application, test automators can review the properties that are used to uniquely identify each object that is automatically captured in the object repository. Then, by playing back those recordings under various conditions, much may be ascertained about the various dynamics associated with those objects.

An automator may find out that certain properties require the use of regular expressions, or that different properties need to be used. Based on how objects are recognized, the automation approach may need to be altered in order to establish proper verification points. By quickly understanding the object dynamics, you can help us avoid many of the object-related problems encountered during test automation.

During the fifth step, you can capture most of the basic actions that will take place in the application. By automatically recording these actions into the procedures as opposed to recording them directly into the automated tests, the automator has a much greater ability to implement good coding standards, and good exception handling and modularity. Then the automator can build robust automated tests by combining the procedures to produce the desired test sequence.

So, Record & Playback, I apologize for shunning you in the past. If I protect you from being exploited, and make sure you’re used properly within a well-defined automation process, we’ll have a good relationship. Now I will take you under my wing, just as you took me under yours all those years ago.

Yours,

Dion



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 04/24/2006 

Member Comments
Add Your CommentExpand Comments
 
Comment:    
by Luis Cavalheiro 5/19/2006

Dion, What you are saying is totally right, but now we can automate with all the trouble described. Have yoiu tried the new generation tool, such as ATD-Automated Test Designer (www.atyoursideconsulting.com). It increases clearly your automation capabilities.

Author's Response:
8/1/2007    
I have not seen this tool before. I will check it out when I get the chance. Thanks.

 
 
Comment:    
by Elango Oblisami 5/4/2006

want to see this

 
 
Comment:    
by Stephen Doggette 5/4/2006

It sounds like a simple question of requirements to me. What is your need and your audience's need of automation? An old record player works fine if I am not trying to play CDs or MP3s and my guests don't need to play CDs are MP3s. If everyone has vinyl to play, then a record player works just fine. However, I much prefer a solution with far less upkeep and concern about external factors that decrease the "playback quality". So, although I might have a sentimental attachment to vinyl, I am sticking with CDs and MP3s for clarity and quality and adaptability.

Author's Response:
5/4/2006    
Very nostalgic, analogy! ;-)

 
 
Comment:    
by Bindu Sagadevan 4/26/2006

Dion, The presentation of this article is what was most pleasing..and needless to say...a very sensible content that I completely agree with. In the days where we are talking of developing automation scripts before the application is ready using complex frameworks, I too am in agreement that if the simple Record and Playback is used as the object learning and procedure creation tool, we would have less rework on the scripts during the dry/test runs and hence reduce on the cost of poor quality in an automation project.

Author's Response:
4/26/2006    
Thanks for the response, Bindu. It's always my goal to strike a good balance between presentation and content.

 
 
Comment:    
by Bill Middlebrook 4/25/2006

Cleverly done~! I enjoyed it. In many ways it mirrored my relationship with the capture/playback tools too. Even when creating automated tests that bypass the UI, object behavior consistancy is key for increased coverage. It is nice when Agile development results are reusable right away. And it's also nice when development understands our relationship with our automated tests and the effects that code changes--even if only an innocuous property :)--can have on the automation suite. So dare I say it's prudent to declare one's love of the tool, scripts and automation process to all stakeholders so it is clearly understood and...Read On

Author's Response:
4/26/2006    
Good points, Bill. Thanks for the response.

 
 
Comment:    
by Basim Baassiri 4/25/2006

It is through great articles like this that provide guidance for organization implementing new or re-working automation frameworks. At my work, we implemented keyword driven automation process and it all started with a State of requirements of what the automation process/framework Thanks Dion

Author's Response:
4/25/2006    
Thanks, Basim. I believe the keyword framework is one of the best frameworks that can be implemented. With a keyword framework that I helped develop and implement for a particular client we were able to reduce testing cycles, standardize training and maximize the reuse of automation components across projects.

 
 
Comment:    
by Linda Hayes 4/25/2006

Enjoyed it, Dion. I agree you can make it work for regression testing, but not if you are using an agile automation approach. As long as you have to record against the software, you can't get ahead of the code delivery.

Author's Response:
4/25/2006    
Thanks for the reply, Linda! While the process I outline in the column will work for most application test automation efforts, I totally agree that some organizations will gain more benefit from automation frameworks and approaches that have little-to-no dependence on the Record & Playback technique. I’ve worked on some contracts where I’ve led an effort to design and implement such frameworks and have had some great successes. I've found that there are some risks involved in developing the automated tests too far ahead of the delivery of the application build, however, because the application implementation may change from what was originally planned. While this is not a big issue for a small set of tests, this may be a huge concern if this affects a large number of tests with varying functionality. Thanks again for the response!

 
 
Comment:    
by Prakash Marar 4/24/2006

Dion, nice one, and an eye opener to those who talk about ROI by just purchasing automation tool...!! The first thought when it comes to automation is get that "tool" and automate what you are doing now manually…This is not just a miserable failure, but also so irritating (for me at least) that every script fails during the playback. However, as you mentioned, it is how you use this feature, and I still think recording and playback can help us if used properly.

Author's Response:
4/25/2006    
Prakash, thanks for pointing out the ROI aspect of the column. This is one of the most important lessons to learn about test automation. It is an investment beyond simply recording the manual execution of a test. The more we understand the investment, the more we can maximize the return. Thanks!

 
 
Comment:    
by Kimberly Thompson 4/24/2006

Thank you for this timely article. I'm new in software testing and have recently done some research of record & playback tools. This article offers great advice in the approach one should take when using such a tool.

Author's Response:
4/25/2006    
I'm glad this article is reaching you and others at the early stages of your software testing careers. Learning these concepts early will help to prevent a lot of heartache later. Thanks!

 
 
Comment:    
by Jim Hazen 4/24/2006

Very timely. As the usage of automation is going through another round of implementation and high expectations in the industry (by outside groups now) it needs to be re-iterated the proper usage of record-playback. It does have its place in the process, and if planned & used properly can help to get automation going quicker. I too have at times had my differences with Record/Playback, but I know its value when used correctly.

Author's Response:
4/25/2006    
Thanks for the feedback, Jim.

 
 
Comment:    
by Nitianand Ramjattun 4/24/2006

This is superb article which takes me through my own experience with Record&Playback. Until i met our Record&Playback friend, i never realised that milliseconds matter a lot in life as this is where most of the time it falls over! Record and playback has many time cheated me by not enforcing test integrity. What i mean is that a PASS in the log didn't necessarily mean a pass! Many times the test tool's interaction methods are just blind. The default logging options may set off the time saved through rapid test executions as a 30 minute test run could give a log as long as 3000 lines! Spending half a day to read a log is just...Read On

Author's Response:
4/25/2006    
Nitianand, I definitely understand your frustration with Record & Playback. Different organizations get benefit from different types of tools and frameworks. Some organizations will benefit more from an object-level/keyword framework that reduces scripting and therefore reduces the need for Record & Playback. Thanks for the feedback.

 
 
Comment:    
by Ramesh Perumal 4/24/2006

Dear Dion I too chide our friend Record and playback’s perceptions which were created by tool vendors. Our friend record and playback always put us in trouble during test automation if we believe with more expectations .The best way to handle our friend record and playback is having right test automation frame work with right time schedule. If we under estimate these two points friendship with record and playback will go to hell . Good article for tool vendors as well as test automation engineers ..

Author's Response:
4/24/2006    
Hi, Ramesh! You are absolutely right about the importance of the framework, and schedule. The process is also very important. Thanks for the feedback.

 
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.

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.

Bug Tracking On-Demand
Looking for the reliable, convenient, secure and completely web-based issue tracking system? BUGtrack allows unlimited number of users, projects and bugs as well as unlimited customer support for a low flat rate.

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


HP: Pillars of Application Quality

Software Quality Engineering

STARWEST 2008

 
Agile Development Conference 2008