Comments
Marvin Castro wrote: Hi, I'm really interested in Google Wave. I find it useful for a plethora of things. I would appreciate an invite, and I will surely return the favor by inviting others. chaoswotaku[at]gmail[dot]com
Cloud Expo on Google News

SYS-CON.TV

2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Click For 2008 West
Event Webcasts
Jtest 7.0 From Parasoft
A First Look At Parasoft's Jtest 7.0 Product Release

Java Technology completed its 10-year anniversary recently. Sun announced that there are over 4 million developers using the Java language, with thousands more joining their ranks. While a small percentage of developers can be called experts or skilled in the complete software development life cycle, a vast majority of them typically try to understand the requirements handed down to them and code to meet such requirements. Most projects (about 60%) go above budget and time, which places additional pressure on the developers trying to deliver an application. Coding standards, thorough unit testing, best coding practices - all take a back seat to the primary goal of delivering some code that meets functional requirements. Software architects have long tried to enforce a uniform coding and testing practice on their teams. Now, with the release of Jtest 7.0 from Parasoft, it's possible to deliver code that follows best practices and is well unit tested.

Product Description
Jtest is an automated Java code analysis and unit test generation product. It comes with over 500 coding standard rules built-in and also provides a mechanism to correct over 200 of these violations automatically. Rules can be customized without coding, and user-defined rules can also be created. It automatically generates and executes JUnit tests and allows users to extend these tests. Jtest has been standardized on the now ubiquitous Eclipse platform and is available as a stand-alone and as a plug-in to Eclipse. It's available on Windows, Linux, and Solaris platforms. Jtest makes static code analysis a breeze and it should be easy for even beginners to analyze their code for compliance to standards as well as to generate unit tests.

Installation
I downloaded and installed the stand-alone version of the software, which is available for download from the Parasoft Web site after going through a simple registration process. A license key is e-mailed to the provided address. Installation of the software is straightforward and I just went with the provided default values. I had JDK 1.5 already available on my machine. Jtest stand-alone installs the entire Eclipse runtime and associated files with it. Once you install it, the first time you run the product you can go to the preferences under the Windows menu and put in your license key information. You're now ready to go.

Jtest Usage and Benefits
If you are familiar with Eclipse, there is practically no learning curve. You can switch perspectives, create a Jtest project from existing source folders, and be on your way. There are also several example projects available for newbies to learn how to use Jtest. The Java, CVS, and debug perspectives are all available as a consequence of Jtest built on the Eclipse platform. You can create Jtest configurations that can then be applied to a project to conduct static code analysis. A subset of the available 500 rules can be enabled and custom rules can also be added to a configuration. Figure 1 shows the stand-alone version of Jtest 7.0 with available examples.

I perceived several benefits to using Jtest. It prevents errors from entering into your code in the first place. For new software development projects, code development can be treated in a strict manner and the coding process controlled to follow established coding standards. Applying coding standards is easy with the over 500 built-in coding standard rules that enforces code design and construction.

Issues associated with resources like JDBC connections not being closed properly are eliminated upfront. This ensures that denial of service (internal and external denial) attacks that leverage the exposure of object resources are eliminated. For example, it's possible for a poorly written application to access your applications and induce it to throw an exception. This can leave a connection open if you don't close your connection in a finally clause. This scenario can be easily caught by one of the built-in rules, and good coding practices can be enforced.

The unit testing features of Jtest are exciting and are based on automation. Unit tests designed to break your code are generated automatically. The generated unit tests can run in batch mode overnight on the server.

The prebuilt Jtest configuration has several rules such as avoiding empty try/catch blocks, handling exceptions and errors, and assignment within condition blocks. There is the notion of an object repository where you can create complex structures. Jtest can read this repository when it's generating tests. You can also extend generated unit tests, automatically insert assertions, as well as get reports on the code coverage and metrics.

The team configuration manager (TCM) allows you to enable sharing of a configuration across a team. You can upload test results to TCM. When a developer starts his or her IDE in the morning he or she can see the nightly batch test reports that were run on the server.

Last but not the least, the most exciting of all available features in Jtest 7.0 is test case sniffing. This is the ability of Jtest to monitor JVM execution and based on that create functional tests. Currently, only JDK 1.4.x is supported. The API to hook into the JVM has undergone a revision from JVMPI to JVMTI and that could possibly explain why Parasoft may take some time to catch up on sniffing the JVM under JDK 1.5.

Jtest can send data from various tests to the Parasoft Group Reporting System (GRS). Based on the data sent to GRS, the configuration of Jtest on developer machines can be modified. Project Management can use GRS reports to allow them visibility on overall project progress. GRS provides trending over time, graphics, etc.

Summary
Overall, Jtest 7.0 is definitely an able ally in the software developer camp. It can save a lot of effort in unit testing as well as allow a team to enforce and follow uniform coding standards. For small projects, the price can probably be a little steep. If you have a large project with multiple developers, I would definitely encourage using a code analysis tool and also complement your unit testing efforts. Parasoft's Jtest definitely fits the bill in that regard.

SIDEBAR

Parasoft
101 E. Huntington Drive
Monrovia, CA 91016
Web: www.parasoft.com
Phone: (888) 305-0041
E-mail: info@parasoft.com

Test Platform
JDK 1.4.2 and 1.5, HP Compaq nx9600, Windows XP Professional with Service Pack 2, Pentium 4 @ 3.6 GHz, 1GB RAM, 80GB hard disk

Specifications
Platforms
: Windows, Linux, and Solaris
Pricing: Pricing starts at $3,495 for a single user, machine-locked license.
Support: Online technical support; dedicated technical support with a 1-800 number, 9:00 a.m. to 5:00 pm., Monday through Friday; overall Parasoft solution including testing process, testing analysis, and professional services support.

SIDEBAR 2

Snapshot

Target Audience: Java developers, software architects
Level: Beginner to advanced

Pros:

  • Easy to use for all user levels
  • Static code analysis is quite extensive
  • Unit tests generated are of an excellent standard
  • Integrate existing JUnit tests into Jtest
Cons:
  • Integration only with Eclipse and not NetBeans
  • Limited support for Java 5.0 (JDK 1.5)
  • Sniffer functionality supported for JDK 1.4.x and JDK 1.5 JVMs

About , Venkat
Venkat has over 13 years of experience in distributed computing, technology strategy, and enterprise architectures. Venkat is the chief technology officer at Red Rabbit Software where he leads the Business and Technology Strategy, the direction of the Red Rabbit Software technology platform, and Research & Development. He has completed PhD courses in Interdisciplinary Studies involving Computers and Aerospace Engineering and has a Bachelor of Technology degree from The Indian Institute of Technology, Madras, India.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
CloudBench Applications, Inc. announced its financial results for the three months and nine months ending September 30, 2009. All amounts are stated in Canadian dollars unless otherwise noted. Revenues from BasicGov, the Company's cloud computing solution for local government, gr...
The new contract is an industry first, with CSC being the first Microsoft partner to lead and win a cloud computing services agreement of this scale. Under terms of the contract, CSC will provide Royal Mail Group's 30,000 employees with access to new IT services using Microsoft's...
Operates in over 170 countries and is one of the world’s leading providers of communications solutions and services. Richard Tarboton talks for MeettheBoss.TV on his role as Head of Energy & Carbon for BT and what they are doing towards reducing carbon emissions.
CA is going to put its Agile Planner software on salesforce.com’s Force.com platform in the first half to accelerate development time and give users visibility over their development initiatives to reduce time-to-market. Customers are supposed to be able to accelerate the deploym...
Despite its uncertain fate Sun soldiers on. Monday it trotted out a cloud-based multiplatform desktop as a service for K-12 and community colleges that can run Windows, the Mac OS, Linux and Solaris applications to nearly any client device, including its own Sun Ray thin clients....
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE

Breaking Cloud Computing News
CloudBench Applications, Inc. announced its financial results for the three months and nine months e...