The Artima Developer Community
Sponsored Link

Java Community News
Parasoft Releases Automated Ajax Testing Tool

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Frank Sommers

Posts: 2642
Nickname: fsommers
Registered: Jan, 2002

Parasoft Releases Automated Ajax Testing Tool Posted: Mar 20, 2007 3:15 PM
Reply to this message Reply
Summary
WebKing 6.0 is the latest incarnation of Parasoft's Web application testing product, and includes the ability to programmatically test the correct behavior of Ajax clients. Artima spoke with Parasoft WebKing project manager Nathan Jakubiak about the challenges of testing Ajax code.
Advertisement

While developer-driven testing solutions are increasingly common features of enterprise projects, most unit testing techniques and tools focus on testing server-side code, and on testing code at the level of programmatic interfaces. As Web applications delegate an increasing amount of presentation logic to the client with JavaScript and other rich-client technologies, traditional unit testing tools are not always sufficient the ensure the correct workings of an application.

Java testing tool maker Parasoft hopes to address that problem with the release of its WebKing 6.0 product. WebKing follows an integrated approach to testing, incorporating both server- and client-side code into tests. Artima spoke with WebKing product manager Nathan Jakubiak about the challenges of testing Ajax code:

Ajax applications are inherently more complex than your traditional Web application. There are a lot more moving parts, and a lot more layers to the application. Ensuring quality requires that you control that complexity and look through the different layers and validate that everything is working at all those layers. So you need to isolate components...

The first challenge is that application logic in an Ajax application is divided between the client and server-side components. While the server still has the business logic, the client contains significant presentation logic. In addition, Ajax applications are highly interactive, and the permutations of what a user can do are growing exponentially. You need some way to test through all those different interactions.

As well, Ajax is being used as a delivery vehicle for sophisticated business applications, which requires that you support the different browsers your users are using. Browsers have different implementations of JavaScript. That needs to be tested out as well.

Another issue of complexity is the back-end data services. Ajax applications often depend on one or more back-end data services where they pull all that data in and aggregate that data in a single view. Those data services may not be owned by the developer of the [Ajax] application, and are operated instead by a third party. What do you do when your application depends on something you don’t have control over? How do you ensure your application keeps working if something goes wrong with those back-end data services?

Jakubiak noted that WebKing helps ensure the quality of Ajax applications by enforcing development best practices:

The focus of WebKing is to ensure quality within rich Internet and enterprise applications. We do that through enforcing development policies around how developers write their code, through automated error prevention and, once the application is constructed, by validating the functionality of the application.

Adhering to coding standards and best practices, for instance, is one way to ensure browser compatibility, according to Jakubiak:

Within WebKing we have a way to define and enforce development policies around creating correct JavaScript. We have many built-in policies around browser compatibility issues and best practices, but organizations can also define and enforce their own policies. So we give you the ability to enforce those standards in an automated fashion.

To enforce browser compatibility, for instance, you would want to make sure your code does not call methods that are dependent on browser versions, and instead would call into library code that insulates your code from browser-specific features.

Jakubiak also noted that WebKing, when installed on a developer's workstation, launches a browser plug-in that has the capability to intercept and inspect the DOM returned from the server into Ajax clients. Programmatically inspecting the DOM allows WebKing to ensure that all required DOM elements are received by the client.

What are your biggest Ajax testing challenges?

Topic: Adobe's Apollo Promises to Bridge Online and Desktop Experience Previous Topic   Next Topic Topic: Sun's JCP Releases New Site

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use