Testing and QA

Testing Nexaweb Applications using Automated Functional Testing

Nexaweb applications can be automation tested using many standard user interface testing tools.  However, since Nexaweb UI is not programmed using AWT, Swing or SWT; automation testing must be performed using the tools "low level recording" capability to capture lower level mouse and keyboard events.  You can then play these back to the Nexaweb UI to simulate user activity.

An example testing product that will work with Nexaweb is Mercury (http://www.mercury.com) Quick Test Professional (QTP).  By using QTP analog and low-level recording modes, it's possible to record and playback functional testing of the user interface.  By using the bitmap compare feature, the results of the test can be automatically compared with a baseline.

Requirements

User interface testing tools that provide low level recording (e.g. capturing mouse and keyboard events) that allow later playback.  Tools should also offer bitmap image comparisons.

Additional information

Additional information can be found on the Client Automation page.

Load Testing Applications

Load testing applications is an important part of ensuring that applications are ready for heavy enterprise use. Nexaweb provides built in support for web load testing tools.

Requirements

Any HTTP load testing tool that supports HTTP cookies; for example Mercury Load Runner at http://www.mercury.com.

Performing Load Testing

To perform most load testing, simply use your favorite load testing tool to capture the HTTP network traffic of a client session and then play it back to the server.  This allows you to simulate many clients connecting simultaneously.  For more information refer to the documentation that came with your load testing tool.

Load Testing Document Synchronization

To enable load testing when using synchronized XML documents (documents that are on both the client and server), make the following setting changes to the nexaweb-server.xml file:

<id-generation>
    <test-seed>anything</test-seed>
</id-generation>

This will ensure that captured traffic can be replayed to the server. This will ensure that all IDs have the same seed and are therefore deterministic.

Be sure to disable this load testing setting in production environments, failure to do so will create a security risk due to the replayability of sessions.

Additional information

Additional information about load testing can be found on the Load Testing page.