| By Jennifer Nestor | Article Rating: |
|
| November 1, 1999 12:00 AM EST | Reads: |
13,933 |
Environment
I installed Jtest on an IBM Thinkpad 600E running Windows NT 4.0 Workstation, Service Pack 5, with 128MB of RAM. According to Jtest's documentation, it'll run on Windows NT/95/98, with support for Solaris and Linux coming in the next few releases. Minimally, Jtest recommends you run with a Pentium 233 with 128MB of RAM. It also now supports Java Development Kit version 1.1.x and version 1.2. One of these JDKs must be in your path in order to perform all of the tests available.
Installation
Installation was simple; within minutes I was able to execute tests using the demo class installed with the application. The installation comes with a well-written tutorial that explains in easy-to-follow terms all of Jtest's features. That said, the application still relies on clumsy message boxes to explain what the application is doing and what the user may do next. Thankfully, these messages can be turned off.
Static Analysis
Performing code reviews is a part of any successful project. These reviews can catch many logic errors as well as ensure adherence to standards. Jtest performs these reviews by analyzing your code and comparing it to a set of rules. The user can customize these rules by clicking the Global button, opening the Static Analysis node, opening the Rules node and then opening the Built-in Rules node. From here you can enable or disable specific rules or entire rule categories by their severity levels.
White Box Testing
Anyone who has survived a long testing project knows that one of the most tedious processes is writing test cases. Jtest is the first testing application that generates unit test cases based on the internal structure of your classes. Using patented technology, Jtest examines bytecode, trying to break the class by attempting to pass unexpected variables to its methods.
To begin white box testing, open Jtest and browse to the class you'd like to test. To test multiple classes, go to the Project Testing UI and select the directory, zip or jar file of classes. After this is completed, press the start button and wait for Jtest to conduct its tests.
Once the test is completed, Jtest will display the list of errors it generated. Right clicking on any of these errors will allow you to view the code on which the error was generated. This error can also be suppressed in the future if, for example, you know that a null would never be passed into these methods.
Black Box/Regression Testing
Black box testing checks to see whether the class is behaving according to its specification. During a normal testing phase, these test cases would have to be written by poring through written specifications and compiling combinations of possible inputs. Jtest provides these inputs for you and tests all possible combinations.
After running your first test on the class, you can view which inputs Jtest used and add any custom ones you think are necessary by selecting the View Test Cases button. After all the necessary test cases have been run, you can validate the output.
This validated output will serve as a baseline every time Jtest is run on the class and will perform regression testing by ensuring that any changes made to the class since the last test haven't changed these outcomes.
Summary/Recommendations
Jtest is unique in its ability to generate testing inputs and will save any development project a significant amount of time. Its automated execution of both white and black boxes sets it apart as a testing tool. Its testing should strengthen your project's code and allow developers to spend more time on coding and less time writing test cases. Jtest's only drawback is its price, which still remains slightly high at nearly $3,500 per seat.
Published November 1, 1999 Reads 13,933
Copyright © 1999 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Jennifer Nestor
Jennifer Nestor, a staff consultant with Computer Sciences Corporation, has been programming in Java for over two years. She has a BA in mathematics and is currently pursuing an MBA.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?

















