Back to Article

Access FREE Palm Developer Tools:
Access FREE Actuate BIRT Developer Tools:
Download:
Visual Report Development Tool

Download:
Spreadsheet Report Writer

Webinar:
Point-and-click, Visual Report Development

Webinar:
Automate Secure Report Delivery

Demo:
Web-based Report Creation for End Users

Demo:
Automate the Creation of Spreadsheet Reports

Review: iTKO LISA

by Drew Falkman

Summary

Testing is as tricky as it is crucial to the development process. Often testing is left to developers, who must write test code while they are creating application code--and who also may lack the perspective of a typical user. Writing this test code takes significant development time. Q/A specialists can perform some tests, but it is generally from a high level UI and results are more often than not, difficult for developers to debug and often only catch errors that can be exposed to the UI, leaving the potential for many underlying bugs and issues. iTKO's LISA promises a visual testing and monitoring interface that can be used by anyone participating in application development, from developers, to Q/A analysts and business managers as well. LISA can perform regression, unit, load and functional tests on Web Services, Java classes, JDBC database calls, Web sites (J2EE and otherwise) and more. And here's the rub: no scripting or test coding is necessary.

More Information

Introduction

Let me be honest, I don't like testing, I abhor it actually. My head is in the brainstorming, architecture design, feature set and putting together something that does a job which will exceed the expectations of my clients and hopefully break barriers of what is currently being done in their industry. But invariably applications and all their parts, need to be tested. Unfortunately for me, this isn't an optional step but rather a crucial one. Testing, or lack thereof, can not only make or break applications, but often times affects whether a project is completed and deployed or not--an expensive proposition to say the least. A number of tools have been available that can make this easier, but invariably those tools end up being either expensive or time-consuming to implement. A new software package, mysteriously and anthropocentrically named LISA (it actually stands for Load-bearing Internet-based Simulator Application), promises to change all this. This could be good, I had to check it out.

Setup and Installation

iTKO's LISA is currently available for MacOS X, Solaris, Linux and Windows. All versions require Java 1.4.1 (or higher) JDK. Two licensing options are available: Workstation and Server. The workstation license is currently $1500 per seat (this may change when 2.5 is released this month) and is used to design test cases, perform tests and monitor testing. The server license (price is based on configuration)can be used for SNMP monitoring, scheduling and load testing. If you use the server, you will need the workstation to interface with any tests done by the server.

I had no issues with installation on Windows XP Professional, everything installed smoothly from the Web site. Users have the option to download and save an installation executable or install the software directly from the Web site. Additionally, in order to utilize the API, which will be necessary to test components and other Java classes, the classpath of LISA's jar file will need to be added, and/or the jar file copied to the J2EE application server or application classpath.

LISA Overview

The main interface and tool of LISA is the Test Manager (figure 1 shows a screen capture of the Test Manager). It is from the Test Manager that users can create new test cases, which for the uninitiated are step-by-step testing scenarios. Nodes are the steps in each test case, and these can be created by visually navigating through Java classes and packages or a set of nodes can be recorded by having LISA record a user's actions for Web site testing (e.g. clicking on links, submitting form pages, etc.).

iTKO LISA

Properties can be used to pass values to Java classes, Web services or Web pages. These can be sent as static values, dynamic values or even a set of pre-created values that can be stored in a file. This flexibility allows for qualitative load testing and flexibility in other types of testing.

Filters can be used to perform steps prior to or after a given node is executed. These can be used to insert dynamic values, such as form fields in a JSP page; to parse results, such as ResultSet objects or HTML responses; or other more granular filters using the LISA API.

All of LISA's information is stored in XML files, including test cases and results. This, specifically with the results, allows for custom parsing, processing and reporting, as well as intuitive archiving. When tests are run, a number of different informations will be returned, including:

  • HTTP response code (e.g. 400, 401, etc.) and header
  • JDBC ResultSet contents and information
  • Property values
  • Other, more granular results using the LISA API

Using LISA

The process of testing with LISA requires a few steps:

  1. Developers must use the LISA integration API in their code.
  2. Developers, managers or Q/A analysts create test cases (and edit nodes, filters and properties) in the LISA Test Manager.
  3. Tests are run from the Test Manager.
  4. Load tests can be run.
  5. Regression tests can be run.

Overall, I found the process fairly intuitive and it looks to be even better in the upcoming 2.5 release (see the next section for more info). Admittedly I didn't get down into the nitty- gritty and plug in the API or run major load tests or even develop an entire project using LISA for unit testing and that is where the ultimate answer lies: does LISA save time and make better applications. But given that it integrates with JUnit (and ANT) and given what usage I was able to test I think the overall process makes sense.

LISA 2.5 Preview

LISA 2.5 is scheduled to be released this month (May 2004). And with it comes a host of new features, most of which seem to be enhancements to the visual interface. The features that caught my attention the most included:

  • Powerful graphing (real-time?)
  • JMX support allows for monitoring via JMX
  • Numerous usability enhancements include significant UI updates
  • New wizards for performing tasks and enhanced Web recorder

Having tested both versions, I found that 2.5 really did offer significant usability improvements, not just cooler icons or splash pages, but task simplifications and overall it was easier to understand how to use LISA. I look forward to this release. Figure 2 shows a screen shot of the 2.5 interface.

iTKO LISA

Conclusion

All-in-all, I think that LISA is a great tool, for a reasonable price. I have to admit that I will consider using it on future J2EE projects of worthwhile scope. The fact that it can be used for all steps of testing, from unit to functional and regression to load is very appealing--one tool for all tests. Add in the fact that it doesn't require considerable additional effort on behalf of the tester, AND users can possibly include other non-developers in the testing process. Yeah, that's appealing. I will have to say that while I think this is a great tool for both developers and Q/A analysts, I'm not so certain that a lot of managers will be diving in head first. It still is pretty scary to look at, and takes a little technical understanding to use, though the upcoming 2.5 looks to at least begin to solve these issues. My recommendation: take it for a test spin. After all, an ounce of prevention is worth a pound of cure.


Drew Falkman is the author of the JRun Web Application Construction Kit and co- author (with Ben Forta) of Reality ColdFusion: J2EE Integration, both published by Macromedia Press. Over the past 6 years, Drew has developed over 150 Web applications in all sizes using ColdFusion and Java. Currently Drew consults, speaks at events, writes for numerous publications, and teaches courses at Portland State University. His latest project through his consulting company, Veraison LLC, was a real-time cattle auction using Flash Remoting and Flash Communication Server. In addition, Drew is a member of Team Macromedia, a certified ColdFusion Developer and a certified Macromedia instructor.

Print Article