Product review: LISA iTKO 4 brings high quality to Web service testing QA
Virtualization feature simulates interaction with Web services that don't yet exist
But it doesn't stop there. With LISA's Pathfinder, you can instrument target application servers so that when test cases execute against components on that server, Pathfinder will track the execution flows and report the results back to the LISA UI. Pathfinder uses -- among other things -- EJB3 monitoring points and JDBC driver pass-throughs so that LISA can actually display which components within the application server were executed, and by whom. Pathfinder will trace calls across servlets, Web pages, and EJBs, then display its results in call tree, as well as provide pie charts showing the relative amount of time taken by each component within the test transaction.
Beyond the basics
To all of these current faculties, LISA 4 adds the Virtual Server Environment. It might be more correctly called LISA's virtual Web services feature, because it allows QA engineers to build tests for Web services that either do not exist or are unavailable. LISA works this useful deception through varying levels of simulating Web service behavior.
The simplest form of virtual server is what LISA refers to as a "fake" service. Point LISA to a WSDL, and LISA will examine its Web methods and build behind-the-scenes Java code that mimics that Web service in LISA's integrated Tomcat Web server. The explorer window below the LISA IDE shows the Java class files created to furnish the plumbing needed to host the virtualized service. (See screen image.) Any SOAP request sent to a fake service will receive response data that is more or less random (though it does adhere to the data types defined in the WSDL).
Next up the ladder is a mock service, which is more or less a fake service to which you have added responses drawn either from a database or an Excel spreadsheet.
The pinnacle, however, is a virtualized service. You create a virtual service by starting a special LISA test step that inserts what amounts to a proxy between a Web service client and server. Then you exercise the target Web service, and LISA watches the exchange of SOAP requests and responses. From the traffic, LISA creates a surprisingly realistic simulation for the Web service. Future testing can proceed without the actual Web service, with the virtualized service filling its role.
The variety of geographies that LISA's testing covers is remarkable. LISA's more advanced capabilities are limited to the Java world, but within that world there's hardly a nook or cranny that LISA can't explore. Equally remarkable is how easily LISA's tests can cross layer boundaries in multitier applications. Pathfinder does this so well that developers might find themselves borrowing LISA from the QA engineers to use it for debugging.
If LISA has a weakness, it is in the documentation. Some of the documents provided with the version I tested were stamped with earlier version numbers. Even after digging through both the user guide and reference guide, I am not sure that I ever grasped the technique for creating server-side test cases. While the user guide does have step-by-step instructions for creating test cases and test steps, the instructions that described LISA's new virtual server features were confusing. Hopefully, this will be cleared up in the near future; LISA is an excellent tool, but it needs documentation to unlock that excellence.