Sergey Nivens - Fotolia
Record and playback testing tools are multipurpose, as QA teams find that they fit many test scenarios.
The assessment itself entails recording a user's actions and matching objects behind the scenes to identify which unit of code a routine used and in what order; the process also generates a coded test script file, which the QA team can replay and edit. Most test automation tools offer record and replay functionality along with more complex test coding options.
There are several test automation tools with record and playback abilities to consider -- some options are free, and others require a subscription or purchase. Most vendors offer free trial periods, and some bundle in the feature with other development software. Some options include:
- Microsoft Visual Studio
- Unified Functional Testing, commonly called UFT
- Eggplant (formerly Testplant)
The appropriate record and playback testing tool must work effectively within an organization's existing development framework. Try multiple options to find the best fit for your teams' needs.
Record and replay, or playback, testing is not the best choice for overall test automation, unless QA teams use it continuously on new or constantly changing application code. And it's not a good choice for tests that the QA team plans to maintain. But the approach can capture end-user workflows for analysis, reveal performance problems, document bugs and other issues and even teach QA professionals how to create test automation code.
End-user workflow records
To capture end-user workflows, a QA team member can set up users with the test automation tool, or train them to do the recording themselves. Users can go through workflows at their convenience. Once the tool records the scripts, testers replay them and analyze the information. Failures are easy to recognize, and most record and playback testing tools include decent documentation for QA via screenshots and text, based on history of use.
Development teams can combine record and playback automation with real application use to create a history of the exact actions a user performed; this is valuable feedback for future development. It helps verify the design of the application works as its designers intended. For example, the testers see when a user clicks around the screen, or hesitates for long stretches of time, which indicates that the person had trouble figuring out what to do next. Product and design team members can replay the recorded scripts for usability research. The team can redesign the application, based on where users commonly get stuck in the workflow, to better meet expectations.
Automated record and playback scripts also help train end users on the application, because they can revisit where they made mistakes in the workflow.
Performance and debugging capabilities
Many test automation tools run faster than the application under test. For this reason, QA professionals add waits into test scripts, allowing the application to catch up. A QA team, for instance, can code record and replay scripts for performance testing. The team can record a simple workflow that should run in under one minute. If it cannot work without adding waits into the code, that indicates a performance issue.
In an Agile development methodology, record and playback testing tools serve as automated test engines.
Agile applications undergo constant change, due to iterative development. The team can re-record tests as needed and as the feature code changes, providing a quick avenue to verify aspects of the application work as the team intended. Rather than spend time maintaining the automated scripts, testers simply continuously re-record them. These tests find defects, and prove that the developers have fixed the code when they release an update. QA can regression test the code with a series of re-recording scripts.
Again, record and playback testing tools attach scripts to the story or individual requirements, which provides documentation and traceability.
Another advantage of record and playback capabilities is that testers can attach the recorded script to bug reports. Developers can play back the test to get additional information from it beyond what QA writes in the bug report. This information helps developers learn how to deconstruct the code to find the issue.
Playback to learn automation skills
Record and playback testing tools are excellent vehicles for test automation training in the QA team. The better a QA team understands the actions they've taken to discover a defect, the better they are able to read the code.
The record and playback feature of test automation tools is easier to learn than directly coding or editing scripts. It provides a base for recording actions in the application, then matching them to the test script code. Once a QA tester becomes familiar with how the script reads in test automation sequences, they're able to make the jump to editing, then coding test scripts directly.
If there's a question, or a problem in coding, QA professionals can record the test flow and then view the code that makes up its script. This information helps QA determine what the code is missing. As familiarity with test automation code grows, QA testers are able to better match scripts to test coverage of the code base. For example, if the QA team continuously has issues with the record and playback tool matching up to objects in the code, testers can submit a bug related to the code IDs for objects, or find a way to edit the code to recognize the assigned object. Object identification is often challenging in record and playback test automation, but it does provide an excellent opportunity to understand coding objects and how to identify them.