Rating: 5 out of 5 stars
Price: $495 for standard license, $6,000 for server license
Running quality control procedures on Windows and web applications, IT and system administration tasks, and business processes can quickly become an exhausting task. To save time and resources, consider using a solution to automate many of these tasks.
One solution is available in an intelligent software tool that automates business processes, IT tasks, and software test cases in a straightforward manner. Automation Anywhere by Tethys Solutions lets you create your automated tasks in minutes and schedule them, while letting the tool do the heavy lifting.
Automation Anywhere is available in four licenses, each with a unique feature set. For more information about licensing, visit www.automationanywhere.com. Here I'll review the features offered by the server license.
Automate Software Testing
Software testing can become a wearying task when you're repeating tests over and over again in a regression testing, in isolating bugs, and even in loggings. Using an automated testing tool to save time and effort is quite appealing. However, a software testing tool cannot attain the same level of analysis as a trained employee. Automation Anywhere not only provides a solution for the regression testing, bug isolation, and logging problems, it also provides a workaround for the latter problem.
Before I describe how you can use Automation Anywhere to automate your test cases, let's consider the properties of your test cases, whether they're for web or Windows applications.
Each test case can be represented by a task. Along with the direct metadata that are saved automatically—name; date and time; number of mouse clicks, keystrokes, and total clicks; last run time—additional test case properties that denote the following:
- the task's status (i.e., results of the last run), accompanied with an automatically generated log file that holds the line of failure, if any
- the task's priority
- a check box that lets the task run with other similar files or window titles. This makes your task more intelligent and saves it from unexpectedly failing due to being confined to one window title. When checking this action, you allow the simulation of your test cases with different window GUIDs.
You can set other useful options, such as how many times you want tasks to be repeated, replay speed, email notification when the task is completed, and keyboard shortcuts to your tasks and security.
To hand over the automation of your task even while you're away, task scheduling permits you to set the time to run your unattended. As an example, your software might need to be validated when a certain operation is performed (e.g., document creation, operation update). In this case, you can use the trigger feature and define a trigger that prompts the initiation of your task and thus the validation of the functionality of your software, following the change that it underwent. Automation Anywhere supports six kinds of auto-response triggers: window, file, folder, performance, process, and service.
Automation Anywhere Recorders
Having all these properties accessible to tune your test cases is very handy, but it would be better if creating tasks was just as simple and useful. Let's look at how these tasks are created. You can create your tasks either by using the three supported recorders or the task editor. I'll discuss each of these features.
Recorder (for Windows applications). The basic Recorder is the simplest of the three recorders. It lets you record, save, and run testing actions. You start the recorder and begin executing the desired actions against your application. Then save your task and let Automation Anywhere simulate it for you just as a regular user would do. Your actions are recorded according to the control coordinates relative to the window. This will not cause an issue, as long as the controls will not be majorly displaced from one run to the other.
Web recorder. Just as the recorder lets you to record actions against Windows applications, there's a special cross-browser recorder for web applications. The recorder is enhanced to display the actions related to the control while recording.
Object recorder. Object recorder is a more advanced recorder than the other two because it does records actions according to the attributes of the control and not its coordinates with respect to the window. The identification of the element is made with the caption, the index, and the attributes. This enhancement makes the replay of the test cases more reliable, where the operations on the controls are performed only after their capturing and not their localization on the page.
No software tester would want to dispose of his or her tasks once created because they cannot be adapted with the alterations that have affected the software. Even if no changes occurred at the software level, testing has to cover random and not hard-coded application input. Your efforts are not in vain, because Automation Anywhere offers a Task Editor to break down, alter, and enhance your recorded tasks.
The Task Editor dissects tasks as deep as needed into the level of steps performed to include steps such as a mouse click, keystroke, or mouse move. The task editor studio contains a rich toolbox from which you can drag actions to integrate in the already recorded task. Figure 1 shows the Task Editor's rich toolbox.
You can even create your test cases from scratch in the Task Editor. Here's a breakdown of Task Editor features.
Keystrokes and mouse. In Task Editor you can add keystrokes to enter data from keyboard or stored variables. For operations related to the mouse, you can insert different actions, such as mouse clicks (clicks, double-clicks, and button down/up) and even mouse moves. The input isn't restricted to just entering data from a keyboard; Automation Anywhere supports Object Data Driven testing, where you can read from already-created files that store the massive input needed for testing. Since software can fail unexpectedly for random input values, Automation Anywhere can also generate random values for different variable types.
Program files and windows. Through the Text Editor, you have control over file and folder management operations, such as launching and stopping the execution of programs and managing the layout of windows.
Logging to file. You might find it useful to insert some milestones during the execution of the test case. You may also need to monitor the stack trace of the execution flow or the state of variables used by the task. You can do either of these things by adding logging statements, which let you log important information that acts as a recorded debugging feature while you're away from your machine. These loggings are written onto a file chosen by the tester.
Manage window controls. This is a powerful feature in Automation Anywhere. After recording your test cases, you may find out that you missed a certain control action that's critical to your test case. Unfortunately, you closed the Windows application you were testing and saved your task. Should you restart and record steps all over again? In many situations you may be forced to do that, but Automation Anywhere has the Manage Window Controls that allows you to—at any point and at any step—add the skipped action against your application control. You can easily start the application you want to test, navigate to the desired window, and on the Manage Window Controls screen click the Capture button, which lets you capture the control. The element under test is now recognized, and the operations that can be performed are listed according to the nature of that element. Insert any missing step at any time and place it within your saved task.
System. As your scheduled tasks run without any intervention, system operations can also be performed automatically, such as locking, shutting down, logging off, and restarting your computer.
Conditions and loops. Although steps are displayed sequentially, you have full control over the flow of execution, just as you would while writing your own scripts. However, in Automation Anywhere, you only need to be aware of the sense behind these logical statements. Using them is straightforward. You can perform logical comparisons before proceeding to the next step. Conditions and loops add consistency and reliability to your task as you wouldn't want to perform UI actions before the element is really showing on the screen and enabled. For example, you wouldn't want to access a window or a page that doesn't appear or read a file that doesn't exist. These checks ensure that your task is functioning properly, so you can save results reflecting the actual behavior of the software. Loops are also supported; you can loop continuously a number of times to read an input from a file until reaching its end, read files from a folder, access rows in an SQL query dataset, access rows in an Internet Explorer table, or access rows in a Microsoft Excel data set.
Pause and delays. You can introduce pauses and delays inside your tasks to manage their execution, tracking of steps, and waiting for the window to load before resuming.
Image recognition. Image recognition holds the execution of your task until the image of the control matches an already taken snapshot of the control. In other words, due to window or page navigation, the loading of the element is delayed; thus, the action will not be performed until it is present on screen.
Web data extraction (structured and unstructured). The automatic web data extraction feature lets you extract structured data from web pages, such as tables, and save it in files. In addition, Automation Anywhere can also extract unstructured data scattered all over a web page, since you can insert the different keystrokes needed, just as you would manually. The actions are saved, so they can be automated in an exact manner in later runs.
Find broken links. Automation Anywhere automatically detects broken links and orphaned pages and provides the website URL.
FTP actions. Automation Anywhere automates your FTP actions, including establishing the connections, performing the creation and deletion of the folders, uploading and downloading files, and disconnecting the FTP server.
Integrating scripts and other tasks. Your tasks can become more flexible to your requests. Prepare a Visual Basic or JScript task and plug it in, or embed another task and run them as one unit.
Database and Excel. Database integration offers commands to connect to your database to run SQL queries and stored procedures and other table manipulation statements. In a few steps and with little effort, you can transfer the SQL query's data set to another application that will host your data, such as Excel. This brings us to the Excel integration with Automation Anywhere. Similarly, this tool provides straightforward commands to interact with an Excel workbook. The commands are used to open spreadsheets, transfer data to and from by navigating through the cells with no trouble, and close the spreadsheet.
Variables. A good task is not about only recording and playing back. The main issue in testing is to compare the actual results to the theoretical ones that you extract from the product specifications. Validation operations are innumerable, yet urgent and rendered realistic in Automation Anywhere variables. Save the theoretical value in your variables and compare their content to the currently executing step result. You can log results to a file by a logical evaluation of the comparison. Variables also can be assigned value to support arithmetic operand operations.
Error handling. Let's assume that an error in your task has occurred. Some evaluation questions enforce themselves, but you aren't present to evaluate them. For instance, how severe is the error? Knowing that the error won't affect the assessment of the software behavior, can it be disregarded? The task might abort due to an unexpected error—being unaware of it means that you didn't provide measures to handle the error in the execution. With the advanced error handling that Automation Anywhere provides, you can overcome this problem by choosing from a list of possible actions to perform when an error occurs. You can choose to end the task with a snapshot and logging it to a text file, ignore and continue, or continue with the next task.
Debugging Your Tasks
Sometimes, it may take a while to trace the failure of the task, although Automation Anywhere automatically shows where the task failed. The source that produced the error might be hidden under layers of complications—that's when debugging your task becomes unavoidable. Thus, inserting breakpoints lets you take over the replay of your task to achieve a closer look at how it runs. Here are the task-debugging features that Automation Anywhere provides.
Application integration. This feature lets you capture any area on a window and extract the text out of it, extract a portion of the text, or trim it. The application integration feature is very useful for text validation.
Optical character recognition (OCR). OCR is where image recognition and capturing become more sophisticated. Perform the conversion of your images and text into characters in a refined manner. Two possibilities to recognize the image: by path window title or URL.
Load testing. Automation Anywhere can maneuver load testing from one task. Each task can be converted to a standalone program (i.e., an .exe program that doesn't require Automation Anywhere to be installed to run it). This, for instance, can simulate multiple machines accessing your web application. Those .exe files contain an embedded smart agent, which allows the task to run intelligently on different machines and accommodate changes, so that it doesn't fail because of small differences in the machines it's running on. More explicitly, the tasks can adapt to variables such as window sizes, position changes, and CPU loads, which differ according to the hardware. Other than the load testing simulation, the .exe files can be deployed across a network from your machine using simple steps to automate the installation over the network. Finally, the Deployment Manager role lets you remotely control the deployed tasks, where you can schedule and maintain updates on their status. The supervising of the status is easy, due to the information that is displayed by the tool and to the email notification automation.
Snap Points. Even if your tasks run in an automated manner, you still need a way to track the execution and behavior of the software under test. To meet this need, Automation Anywhere provides Snap Points, screen snapshots of recorded steps that can help you diagnose a failure. You can use Snap Points to take screenshots of every step in the task, so instead of reading your task, you can visualize it in a graphical manner, to help you recognize the action being performed at a particular point in the testing. By documenting your test cases, you lessen the chance of overlooking errors in the creation of your tasks. Snap Points also make identification of each step easier in the long run, especially when the application becomes rich with controls and the test case loaded with actions. Figure 2 shows Snap Points for a task.
The workflow incorporates a series of actions that combine to constitute a branching chain in which you can route to reach the end of a path. Those actions are picked from the list of tasks that you've prepared and that are interrelated by a logic that you want to implement. For example, you don't want to add a record to your database unless it meets certain criteria.
In addition, the Start activity, which is required for initiating the workflow, can be tied to a trigger. That is, each time the trigger condition is satisfied, the workflow is initiated for validation. You may also want to incorporate conditions for your workflow–for example, files and folders (created/not created, date, size); variable; application running; and Ping successful.
Workflows are qualified with their graphical presentation. This lets you keep track of the stage reached so far in the workflow and, by the end of the run, it highlights the path chosen. This information can help you partition the logical sets of test cases. Instead of writing down the different paths that the testing could follow, the workflow graphically materializes the route for you, allowing you to visually determine the untaken possibilities so far from your partitioned sets.
How much did your software improve along the many regression testing cycles that it underwent? Automation Anywhere provides a report designer that can help you answer this question. You can use the report designer to generate two types of reports—graphs and timelines—on the status of your tasks along multiple runs. The information to be plotted is generated from the results of the tasks present in your gadget and workflows. It includes data such as the number of times the task/workflow was run, modified, successful, and failed.
Cost Savings from Automation
Though automated testing provides benefits, there are risks in using a tool instead of a human tester. You can use Automation Anywhere's ROI calculator to weigh the costs and benefits of automated testing. The ROI calculator shows the cost savings provided by automated testing based on the execution results of tests that Automation Anywhere has performed. ROI analyzes these factors:
- reduced error rates
- resource cost for time saved
- automated troubleshooting
- automated documentation
- resource realignment
- training benefits
- knowledge capture
Figure 3 shows a snapshot of the ROI taken from the Automation Anywhere guide that's deployed on your machine once you install the Automation Anywhere product.
Automate IT Tasks
You can automate additional tasks using Automate Anywhere. Here's a list.
Email. Email messages pile up and eventually become indiscernible, unfiltered, and complex to categorize for reporting. The automated email structure supported by Automation Anywhere lets you classify email messages by their subject, assemble them in one document, and send them. After the execution of the task, the email is sent to the specified address with the results of the run as an attachment.
Centralized backup, security, and disaster recovery. Instead of logging on to each machine on the network, you can centralize your work to apply backups and updates in one place. When software test cases accumulate, it's essential to keep them safe from corruption and infringement. One way to do so is to store them in a central repository where you can monitor the operations against them. Automation Anywhere lets you store all test cases in one place that acts as a server. You can implement your preferred security scheme for granting permission to access stored test cases and monitor users' actions by surveying their recorded test activities. Automation Anywhere also lets you schedule backups of test case files so that you can recover lost or corrupted files, if necessary.
Collaboration: Upload, download, and share automated tasks. Automation Anywhere gives you a central repository of automated tasks that users can share. Set up the task you want in one place, upload it on the server, and let other users download it to replay it on their machines.
Software Efficiency with Quality Assurance
Automation Anywhere is notable not only for the extensive features it offers but also because it makes it easy for users to learn to use these features. You can drag and drop items from the toolbox to gradually build up test cases. Generating tasks is also straightforward. Automation Anywhere outstandingly surpasses other competitors' tools by the support it provides for users to get a complete grasp of all the features.
Rawane Madi ([email protected]) is a computer science graduate from the American University of Beirut. She started her career as a QC engineer, focusing on software testing for web and Windows applications, at CCC, a multinational construction company based in Athens, Greece.