Enterprise QA Labs inc has started to provide consulting services in areas of Enterprise QA Automation, Performance Testing and user friendly Automation Frameworks.
Enterprise Automation testing is an emerging field that draws maximum benefits with minimum effort. Then benefit of automation testing is its ability to increase the efficiency of resources, increase test coverage, and increase the quality and reliability of the software.
Automation testing requires a well defined approach, based on a comprehensive framework, in order to reap maximum benefits.
A framework is a hierarchical directory that encapsulates shared resources, such as a dynamic shared library, image files, localized strings, header files, and reference documentation in a single package.
There are various frameworks available for automation, such as:
Keyword-driven Automation Framework Keyword-based test design and test automation is formed on the idea that the discrete functional business events that make up any application can be described using short text description (keywords). By designing keywords that describe those discrete functional business events, testers begin to build a common library of keywords that can be used to create test scripts.
The Open Source Test Automation Framework is a keyword-driven automation framework that works with HP QuickTest Professional (QTP). This framework allows testers to develop test cases using Microsoft Excel and a list of keywords. When the test is executed, the framework processes the Excel workbook and calls functions associated with the keywords entered in the Excel spreadsheet. These keyword functions in turn perform specific actions against the application under test (AUT). The framework interprets the keyword and executes a set of statements in the program.
With this framework in place, applications can be automated without starting from scratch. Testers simply use the application independent keywords and create extra application-specific keywords.
In addition to standard features such as performing operations and verifications on the objects, the framework includes other sophisticated features, such as:
Reusability: The Open Source Test Automation Framework is an application-independent framework that deals with all possible actions and verifications that can be performed on an object. Therefore, the code for the same object can be used across different applications.
Duplication of work is minimized at every level. For instance, a user might have to perform a certain action on an object of a similar class (e.g., clicking a button) repeatedly. This can be in the same test case or in a different application altogether. In both cases, the same code can be reused.
Optimum utilization of the tool:The framework has the advantage of using keywords as the input for triggering an action. This well built framework uses the features of the tool effectively. For instance, QTP uses a shared object repository where all the objects required can be added and reused across the scripts for an application under test.
Should be robust enough to handle the desired functions efficiently and effectively. In this approach, the goal is to develop an application independent reusable keyword framework that can be used directly across any application without spending any extra time on it.
In order to make all the components of the system work in sync, it is important to define the components, its functionalities, as well as the binding relationship between them.
An Automation Framework Architecture comprises of the following components:
The driver script (DS) drives the script execution. It is the few lines of script in the QTP main window that will invoke the process of synchronizing the keywords with the framework and the object repository. This script calls the functions from the function library, which reads the keywords, objects, and parameters and performs appropriate actions as per the functions in the function library. By incorporating the DS with the framework in a separate function, the effort required to develop the DS is reduced. A call to the function will act as the DS.
The function Library (FL) forms the backbone of the Automation Framework. All the coding logic is in the form of a user-defined VB script. All these functions are stored in the FL. It is the place where most of the scripts reside and the place where customization can be done in the script for the project. The FL is the only component in the framework that has to be changed in case the application is migrating from one platform to the other. This addition and deletion of functions makes the framework flexible enough to use it for any other application.
External test data is given as inputs to the test scripts to perform the same operations on the application using different set of data. This spreadsheet holds multiple combinations of inputs to be fed to test the application. External test data can also be given as an input sheet during checking operations. The best practice here is to keep the data sheet in a common place, preferably in the test management tool.
Global variables to be used across all the test cases should be defined and kept in a common place and should be provided as an input to the framework. After defining a variable to refer to a test object, you can use the variable instead of the entire object hierarchy in other statements. Using variables in this way makes the script easier to read and to maintain. These global variables can also be
After execution of the test script, it is necessary to get the results of the execution. Apart from the test execution report generated by the QTP tool, testers can customize reports in an external spreadsheet format. This provides report details for which test scripts have failed or passed while running a test suite. The reports detail exceptional cases handled, defects found, and error logged. These functions are customized in the driver script. This helps in performing effective analysis on the execution report.
Performance Testing Funtional and Regression Testing