In a nutshell, UFT addresses three areas:
- GUI functional test automation
- Headless test automation
- Multi-layer testing
The first is well understood, so let’s skip to the second: headless test automation. Headless testing is testing services and components through an API (i.e. they’re GUI-less). This task is often left to the developers, and in some cases, technical testers with a development background. And with good reason… Headless testing requires a deeper understanding of the APIs and the functionality you’re validating, and the tools available today are somewhat technical in nature.
But I argue that QA teams need to expand their responsibilities to take on headless testing:
- Headless components are often available well before the GUI, allowing the QA team to start participating (and automating) earlier in the lifecycle. We all know: bugs found sooner are cheaper and easier to fix.
- The headless layer is home to more and more of the business logic leveraged by multiple applications – which is why you can’t rely on GUI testing alone to exercise all of the functionality of the component. Requirements need to be tracked & validated independent of the applications.
- In most cases, the stability of the API/Service is much higher than the GUI layer – less maintenance will be required for your headless tests.
- No offense to developers (really!) but it can be tricky to be objective when testing your own code. Being objective, however, is QA’s specialty!
- Businesses continue to outsource different aspects of GUI testing, leaving internal QA teams looking for new ways to add value – this is your opportunity!
- And with UFT 11, we have removed some of the technical skills barriers to QA teams conducting headless testing. With a new “drag and drop” approach, you can visually design a test without a single line of code (if you wish…)
Snapshot of Service Test 11.0:
As for multi-layer testing, here’s another nutshell: How do you test a bank transaction that initiates a deposit, executes a database call, shoots an email to the customer while confirming back to the user that the deposit was successful? (I know banking examples are overused…) This is a case where you need to test multiple layers in a single, integration test scenario -- This is the unique offering of UFT 11.
And now let’s see if we can answer a couple of the more popular questions about UFT:
1. What software do I get in the UFT 11 package?
HP Unified Functional Testing 11 includes HP Functional Testing (QTP) 11, HP Service Test 11 + an integration between the two that enables multi-layer testing. UFT is cheaper than buying the FT and ST products separately.
The UFT package allows Service Test and Functional Testing to work together to provide end-to-end testing of a composite application, from the GUI all the way down to the lowest layers. With a UFT license, the two products integrate closely together, resulting in a single unified report of a test which involves both ST and FT/QTP calls.
Licensing is structured to support a single engineer; one UFT 11 license does not equal one license of ST + one license of FT/QTP. If you have need for different teams to run Service Test and Functional Testing on different machines at the same time (whew!), skip UFT and buy ST and FT/QTP separately. There are upgrade paths to UFT you take advantage of later.
2. What is the difference between the HP Functional Testing (QTP) Web Services add-in and HP Service Test?
FT/QTP’s core strength is in testing UIs, while Service Test is designed from the ground up to test headless APIs. Although FT/QTP provides some basic web services functionality, Service Test has taken this to a new level, with support for XPath expressions, SOAP fault (negative) testing, advanced security scenarios and web service standards – and this is just for Web Services. Service Test also provides a wide range of capabilities around headless testing in general, such as support for REST, JMS, and other technologies.
The FT/QTP Web Services add-in was created back when SOA was still relatively new and we didn’t yet have the vision to unify the FT/QTP and ST products. It is safe to say that strategically, ST (within UFT or stand-alone) will be the primary investment area moving forward for web and headless testing.
Wondering why I refer to QuickTest Pro as HP Functional Testing? HP Functional Testing is the name of the package that includes the QTP tool plus all of the QTP add-ins. The add-ins used to be sold separately, but now we sell them all together with the tool. I know, it’s confusing…