|
Summary
This page compares eValid with different website based test engine
technology approaches.
This comparison is done relative to record/play functional test
operations and does not address issues of site analysis and server loading.
The bottom line implication of the chart is that if your web application requires the use of any opaque objects, needs desktop access, has to handle complex logins and modal popups, and needs to extract accurate timings then eValid is your only available choice.
Detailed Analysis By Feature | |||
Product/Feature | eValid | JavaScript/VBScript Engine | HTTP/HTTPS Wrapper |
General Archiecture | Full IE-compatible browser as a desktop application. | Playback only because JavaScript can't write files.
Recording from HTTP yields only navigational details. | Passive tap on browser collects URL sequence. |
Session State Preservation | Stateful user simulation | No. No way to write/save anything that could remember state. | HTTP/S is memoryless, so no state preservation is possible. |
Script Recording Operation | Writes script during user session into simple script file. | Some examples do create a complex program "on the fly" (This point requires further investigation.) | Captures HTTP/S sequence by tapping the HTTP/S protocol. |
Simple Script Language | Yes. | No. Requires a sequence of function calls and the surrounding declarative logic. | No. Requires a lengthy string of URLs. |
Script Playback Operation | Plays directly into browser. | Internal JavaScript/VBScript program executes to give playback effects. | URL sequence is imposed on HTTP interface and browser tracks along. |
Playback Overhead | Very low, < 1% or not even measurable. | Overhead is high because JavaScript/VBScript engine is inefficient (it's an interpreter). | Low |
Multiple Playbacks Possible | Yes. | Perhaps < 4 due to intrinsic overhead of JavaScript/VBScript interpreter. | No. |
Playback Synchronization -- Non-AJAX Applications | Yes.
eValid has multiple built-in synchronization methods, and can also exploit user-supplied methods. | Only with timer. OpenSource community has found this very difficult, but eValid has this solved. | Only with timer functions because HTTP is inherently asynchronous. |
Playback Synchronization -- AJAX Applications | Yes.
eValid has multiple built-in synchronization methods, and can also exploit user-supplied methods. | No. | Programmable solution in concept. |
Secure Session Login | Yes. | Depends on login technology used:
| Only if programmed into HTTP/S driver. |
Record/Play Modal Dialogs/Popups | Yes. | No. | No. |
Record/Play Opaque Objects | Yes. | No. | No. |
Record/Play Window Applications | Yes. | No. | No. |
Handles Frames | Yes | Usually not possible. | No. |
Validation Within DOM | Yes. | Partial | No. |
Validation of Desktop Images | Yes. | No. | No. |
Adaptive Playback Available | Yes. | Possible if the specific programs are supplied, but a general build-in solution like eValid's is not possible. | No. |
Script Error Sensing, Playback Recovery | Yes, using OnAction GoScript commands. | Probably not as a built in function. | Must be programmed into HTTP/S driver. |
The Bottom Line | |||
Subject | eValid | JavaScript/VBScript Engine | HTTP/HTTPS Wrapper |
Page Navigation/Browsing | Yes | Yes | Partial |
Runtime Overhead | Very low, < 0.1% | Very high. | (Not a browser). |
Page, Component Timing | Yes | Possible, inaccurate. | Possible, grossly inaccurate. |
Handle Secure Session | Yes | No | No |
Test Opaque Objects | Yes | No | No |
Test Desktop Applications | Yes | No | No |
Session/Activity Timing | Yes | Partial (if programmed specifically) | No |
Validation Inside DOM | Yes | No | Partial |
Validation On Desktop | Yes | No | No |
Synchronization for AJAX | Yes | Partial (if programmed specifically) | No |