How many times have we come across the same set of test cases that we need to execute again and again every test cycle? My answer would be – Every now and then. And HP’s answer to this question would be – Never, since we have UFT for Test Automation!
Test Automation is a process of reducing human interactions from an existing manual testing process. It is a way to play-back the pre-defined set of actions and perform validations on the Application under Test (AUT).
Test Automation is the best way to increase the effectiveness, efficiency and coverage of software testing. Test automation is one of the most cost-effective and time-saving methods of testing software products with long maintenance cycles. Undoubtedly, it makes the life of a test engineer a lot easier, when compared to the manual testing.
It is important to understand that not all manual Test Cases can be automated and not all functionality in an application can be automated.
Test Automation candidates
- The more repetitive the test runs, the better it is for automation; for example regression tests or server side patch testing and upgrades
- Tests that prove that the application behaves as expected, i.e. expected vs. actual
- Tests that utilize the same workflow, but different data for its inputs for each test run; for example entering invoices, creating users, batch testing and boundary tests.
- Tests that take a long time to perform and may need to be run all day or overnight; For example, running large reports or long queries. Automating these tests maximizes the use of time.
- Tests that need to run against multiple configurations of different OS & Browser combinations, for example where the GUI or functional flow does not change very often.
What not to Automate
Test automation should not be utilized in certain situation or for Test cases like,
- Too early in the development phase of the application or GUI, functionality that frequently changes.
- Test that need to run ASAP (within a 1 or 2 hours). There is development time needed to get the TestScript running.
- User experience tests for usability (tests that require a user to respond as to how easy the app is to use).
- Intensive graphical objects.
- Applications that use x and y coordinates.
Key to Test Automation
A structured approach for Test Automation is as important as having a Framework for automation. The approach may differ from project to project based on various factors such as the time frame, the application development, etc. It may also depend upon the development methodology (Agile or Waterfall) of the Application involved. Below is a fundamental approach for Test Automation:
Step 1. Building the Automation team
Step 2. Tools and Protocol Assessment
Step 3. Understanding the AUT
Step 4. Identifying all pre-requisites and test data
Step 5. List out the Pitfalls to avoid
Step 6. Start with Simple test cases and then move to complex ones as the team’s confidence increases.
Step 7. Development & execution of Test scripts
Step 8. Sign off
Automated Testing Tools
There are quite a lot of Test Automation tools available in the market, which makes it difficult to understand which tool will best suit your testing requirements. First and foremost thing is to select the automation tool for the application to be tested.
This process involves activities such as conducting an assessment and ‘Proof of Concept’ of the application and infrastructure and validating whether the automated testing tool (whichever available) and protocols work with the application and environment.
Various factors considered when selecting a Automation Testing tool are:
- The application under test (AUT) and its technology test.
- Detailed Test requirements
- Skill sets available in the organization
- License cost for the tool
- Ease of adoption(such as dedicated HP support for UFT)
- Ease of scripting and Reporting capabilities
- Tools usage
Why HP UFT?
In this article, we will discuss the pros and cons involved when using QTP as your Test Automation tool. Based on the above listed factors involved in tool selection, in some cases selecting some other tool might make more sense.
- The primary language is VB script and tool is power-packed with features. Organization doesn’t need to have a skilled coder to write a basic automation script. Its related add-ons provide the flexibility to test web-services and service virtualization.
- Object repository is one of the greatest features of any commercial tool that automatically suffices a need to be component oriented. This tool is at its best when it comes to navigation, results validation and reports etc. and Organizations don’t need to worry on integration of QTP with other supporting components.
- QTP is integrated with Quality Center so different high quality dashboards can be configured. Another big advantage is different type & level of support you would get in case you run into technical issues. You would always have someone to bank upon for services & solutions.
Disadvantages of UFT
- QTP is phenomenally costly when you compare it with any open-source or commercial Test Automation tools and license cost is entirely dependent on volume and the type of licenses. On top of it, if you want to have add-ins integrated, you further need to shell out additional hundreds of dollars.
- The licensing cost is not done with one time purchase but it stretches over years to come since applications will always mature over a period of time with new features and technology to meet the demands of the competitive market.
- If Organizations upgrade their applications and don’t upgrade QTP, then it would be technically impossible to sustain Test Automation allowing all the dollars spent on tool & effort spent by automation resources. Hence, Organization needs to continuously spend to upgrade QTP for new features that support new technology.
- Though the scripting time is less, the execution time is relatively higher as it takes the entire armor along pushing load on CPU & RAM. Also, it primarily caters to windows environment and limited number of browsers support.
What is UFT (Unified Functional Test)
Without a doubt, the most dominant commercial player in the market when it comes to functional Test automation is UFT. It is an easy and extremely user-friendly tool that works well with Windows & Web based applications.
HP UFT software automates testing through an intuitive, visual user experience that ties manual, automated, and framework-based testing together in one IDE. This far-reaching solution significantly reduces the cost and complexity of the functional testing process while driving continuous quality.
- Single Unified GUI
Use a single GUI for Test Automation of all types of functional testing. This easy-to-use visual experience helps you create automated tests for both GUI functionality and the back-end service (application business logic) parts of an application.
- Manual Test Conversion
Jump-start creation of new Test Automation by importing manual testing assets such as recordings. Convert the results into reusable test automation assets for regression and integration tests.
- Shift Left Integration
Manage testing through the Agile development cycle by integrating it into continuous integration tools and making it part of your nightly build. Integration help you create reusable test plans, share test assets, and manage versions.
- Reusable Test components
Test more with less effort: UFT supports integration with Business Process Testing, a test framework of reusable test components that enables testers to rapidly assemble tests by drag-and-drop.
- Intelligent Insight
Don’t let new technologies derail your automated software testing. Patented Insight Test Automation recognizes unfamiliar objects as new technologies and incorporates them. You can complete the workflow and even perform actions on them such as clicking and entering data.
- Broad Technology Support
Leverage the industry’s broadest technology support for all your Test Automation needs. Automate testing for your wide variety of application types across browsers, APIs, mobile platforms, ERP applications, and legacy environments.