HP UFT - Game changer in Agile Automation

Overall Satisfaction with HP UFT

In our program when we decided to reduce time to market a major roadblock identified was long regression cycles. All regression suites were manually executed which makes it impossible to increase production deployments, ultimately impacting time to market. So the decision was made to automate the regression and functional test cases using HP UFT. The decision regarding the tool was made considering three factors:

1) Skill level of existing QA team, no knowledge of JAVA scripting but fair knowledge of VB scripting.

2) The regression did not involve only UI testing but back-end (Oracle, Greenplum) & web service testing as well. HP UFT supports all of them.

3) We were using HP ALM for project management and obviously, UFT is very compatible with ALM in several ways.

Also, HP UFT was quite easy to learn and the QA team got proficient in UFT pretty quickly. We were able to automate 2000+ regression test cases in 4 months. Automation not only helped in reducing time to market but also helps in increasing the delivery quality.

  • Integration & Support: a) The way tool integrates with other platforms like .net, mainframe is amazing. It Supports new and legacy web technologies, terminal emulators, and Windows thick client applications. b) It Supports Continuous integration by integrating with Jenkins, Git etc. c) UFT supports cross browser testing & it supports all main browsers like IE, Firefox, Chrome and Apple Safari. d)It’s compatibility with ALM can help store automation execution results back in ALM & even allows us to schedule the automation execution at required date/time.
  • Amazing Features: UFT has so many features but at the same time, it is quite easy to learn & it doesn’t take long to train staff on it. Few amazing features which adds lot of value while scripting are:
  • a) Test Combinations Generator (TCG) - It helps to create test configurations by using the parameters in tests and their possible values to create multiple possible data combinations.
  • b) Insight Recording – It recognizes controls based on their appearance and not their native properties. This can be useful to test controls from an environment that UFT does not support or even from a remote computer running a non-Windows operating system. When UFT runs the test or component, it recognizes the controls in the application by matching them to the images saved with each of the Insight test objects.
  • c) UFT has built in reporting features as well as allowing for customized output files showing exactly where a test step failed along with the timestamp.
  • UFT supports BPT (Business Process Testing), a component-based testing framework which provides strong and efficient platform to test complete business process manually and automatically combines manual and automation tests with less duplication and its component reusability feature makes the testing process very fast.
  • It helps improving efficiency in regression testing and functional testing, in that we automate a lot of repeatable tasks.
  • Organization doesn’t need to have a skilled coder to write a basic automation script with UFT.
  • Its licensing cost is very high making it a very expensive tool. due to this many organisations are exploring options of license free tools like Selenium for automation. Though learning curve is large in case of Selenium but it is very cost effective & you an get lot of support online for Selenium.
  • Though the scripting time is less since its easy to create automation scripts, the execution time is relatively higher as it takes the lot of CPU & RAM.
  • Though UFT is quite stable but during long execution cycles we do get frequent browser crashing issues.
  • In terms of costing TestComplete is also one option which is not free but comes with modular pricing. You can buy what you need, when you need.
  • We start getting positive ROI after two years of purchasing HP UFT licenses since it is very costly tool.
  • Since test cases automated in less than expected time as learning curve is smaller with UFT, we are able to reduce our time to market & our program was able to handle multiple production deployments since regression was 90% automated using HP UFT.
  • Though the scripting time is less with UFT, the execution time is relatively higher as it takes the entire armor along pushing load on CPU & RAM. So execution time need to be considered before going ahead with UFT.
  • Since UFT supports not only UI testing but backend (Oracle, Greenplum) & web service testing as well, we are able to achieve automation using single tool.

We need to look at open source tools if the team has time to learn like Selenium.

Selenium can integrate with just about anything to give you a robust framework such as Maven for source code compilation, Test NG to drive tests, Jenkins or Hudson to integrate into a Continuous Integration and different reports i.e allure reports. So we get lot of features & support using Selenium like in UFT but with Selenium, cost is the biggest advantage as it is a freeware.

Only challenge with Selenium is java scripting & most of the testers are not well acquainted with it while UFT supports vb scripting which is easy to learn so learning curve involved is the major drawback with Selenium.

Another good automation tool is TestComplete. It is not a freeware but it comes with modular pricing. So you can buy what you need. Just purchase desktop, web, and mobile licenses separately and there is no more need to pay for modules that you don’t use unlike HP UFT which comes with heavy pricing with lot of features, many of them which you don't even use.

When we need to execute the same test in different browsers cross-browser testing), UFT is the best tool as it supports all the major browsers. In a smaller organisation budget is the key, UFT will not be wiser to use. Since in my program as well we are able to get even- after 2 years. I will recommend any open source tools like Selenium for automation where a budget is key. Selenium can integrate with just about anything to give you a robust framework such as Maven or Ant for source code compilation, Test NG to drive tests, Jenkins for continuous integration and different reports or dashboards like allure reports.