Skip to Content

iTKO | Software Testing Quality Assurance Testing Tools

LISA Features: Pathfinder

LISA's new Pathfinder functionality breaks through the technical boundaries involved in SOA Governance and integration testing. Because traditional testing relies on user interfaces for testing, the overall flow of the application is often treated as a "black box" in terms of test results. Component-level testing, or "white box" testing tools, take the opposite approach of creating fine-grained code and performance tests of isolated components, providing highly detailed results for that component, but little information about how that component interacts with the rest of the architectures.

However, the value of user acceptance and component testing approaches are being disrupted by the proliferation of dynamic web UIs, web services, messages buses, EJB servers, databases and other legacy objects, all tied together in a more integrated fashion to meet the needs of the enterprise. The technical knowledge and effort required to invoke these composite applications, and validate them at both the workflow, and the implementation layer, is immensely more complex and time-consuming.

While the ability to build complex multi-tier test workflows already existed within LISA, the automation capabilities of LISA's new Pathfinder technology drastically reduce the risk and cost of integration testing, by providing more complete functional and performance test coverage across multiple layers of the application.

diagram

How LISA Pathfinder works:

LISA Pathfinder automates the process of opening up the layers of the application, by driving functional transactions into services, and then capturing and modeling the results, allowing for effective "grey box" testing without having to read code and write complex test harnesses.

Pathfinder automatically injects LISA test cases into the system under test, then traces the workflow throughout the workflow of the application, utilizing servlet filter APIs, log4j APIs, and standard EJB3 mechanisms to watch transactions as they go into the application server. For instance, a web service is implemented in a EJB running in JBoss application server. The EJB layer provides business logic, and then stores the web service inbound request into a database. So from a testing standpoint, we want to validate the web service interface, verify the business logic, and then validate that the database was updated.

In LISA, testers simply make the call to the web service as you do today. Then Pathfinder will graphically show the EJB that was called, which implements the web service. Then the tester sees the SQL statements that were run against the database. From a testing standpoint, a tester can now see the path a web service takes, without having to read Java code, or rely on documentation and trial-and-error to explore the system. The tester can then invoke the EJBs directly from LISA, if component-level testing is required, and the test can validate results in the database with SQL calls.

Pathfinder not only opens up what is actually happening within the application, but the data and response times for each component called will be shown. This allows a tester to only test at different layers of the application, but allow bottle necks in the implementing technologies to be seen. For instance, it may not turn out that the web service is the bottleneck, as the Pathfinder test could report that the underlying EJB is eating up 80% of the response time, or that the database update is taking 5 seconds.

From a system documentation standpoint, managers always wonder how much of the system code is actually being tested. Especially at integration time, the idea of full regression testing is often discarded for a late night "install and see if it breaks" test – a very risky level of test coverage for your end customers. Even in strong development shops, functionally aware test coverage for the implementation layers behind the web page or web service is usually not known, even if those components were subjected to thousands of procedural unit tests. LISA visually shows test coverage, so the tester can specifically see that we have tested 20 web pages, the 25 web services feeding them, and that the system services implementing these are 125 EJBs that make 100 SQL calls to the database.

LISA Pathfinder provides exceptional visibility and automation into SOA and integration testing, so that "black box" and "white box" testing are no longer separate disciplines. This "grey box" approach allows the attainment of the 3 C's of SOA quality: Complete discovery and testing of the application across all layers; Collaborative testing, allowing testers to report better information about bugs and service level issues to development; and automated generation of load and performance tests that are functionally aware, which can then be placed into Continuous testing cycles to ensure high service levels through integration and deployment processes.