Create a Quality Testing Program (Continued)
Move Beyond Functional Testing
Moving beyond functional testing is important if the applications are critical to the success of the business, because scalability and reliability over time are keys to success. More sophisticated approaches are required to accomplish these goals. One tool to help implement such approaches is JMeter (see Figure 1). JMeter is an Apache project that enables you to test and evaluate the performance of Java applications. You can use JMeter to test the performance of both static and dynamic resources, including files, servlets, scripts, Java objects, databases using JDBC, FTP services, and other application components.
You should test performance during all phases of the application development process. In many cases, you can also do performance testing at the unit level, before you've assembled the complete application. For JavaServer Pages (JSP) or servlets, you can test your code with a sample database, or even with the database calls removed. Such testing might not be a completely accurate representation of the full application at that time, but it can expose some obvious problems.
Of course, there's a tradeoff in using open source tools for unit, functional, and performance testing: They are unsupported, and the update schedule might be erratic. You can add your own extensions because you have the source code, but that means you have in effect built your own tools that you must then maintain and enhance as a part of your test environment.
If those disadvantages seem insurmountable, corresponding commercial products can perform similar activities. These products sometimes cost thousands of dollars a seat, but you have the comfort of knowing that you can call someone to help with a problem or request new features. Among the more popular commercial products for testing include Jtest from Parasoft, PurifyPlus from IBM Rational, JProbe from Quest Software, and QACenter and DevPartner Java Edition from Compuware.
One approach might be to use the open source tools until they become unwieldy or your testers outgrow their features, and then move to a corresponding commercial product. This way, you can assess the value to the application lifecycle before spending a significant sum on software licenses.
Back to top