Can you please explain in more detail how eValid simulates web applications on mobile devices? Also, you claim that your tests done by eValid when simulating mobile devices are functionally equivalent to using the mobile device? Can you elaborate?
First, some background information and details... The underlying question here is, what does it mean to test a mobile web application?
It is important to make sure of the distinctions between how a mobile web application responds and how a mobile device responds. In other words, you have to ask yourself: are you testing a mobile device; or, are you testing an application that runs on a mobile device.
If it is the latter — testing a mobile device — then eValid is not well suited to that type of work. eValid is not a device tester — it is a web application tester.
But if it is the former then the question really reduces to, "what does it mean to test a mobile web application?"
Being primarily a web application testing system the main focus for eValid is, from a user's perspective (that is, from inside a browser), how does the application behave? The key word is "behave," and to eValid that means the kind of content is delivered (is it correct or not?) and how fast is it delivered (does it meet performance thresholds).
When you use the eValid SetUserAgent command to set up eValid to act like a mobile device, the data eValid generates in response to requests from the server is no different from what the actual device generates from the server. In other words, if you change the "identity" of the browser as a test driver, you change the response from the server, and you effectively test the server's ability to support the "identity" of the browser.
And the key facts about quality — validation of response data and quantification of response times — are perfectly measurable from the eValid desktop. In most instances, mobile device download speeds are nominally in the same range as those for most desktop applications. The data delivered to a mobile device passes through a wireless gateway of some kind before reaching the device, whereas the same data has to pass through some kind of internet service provided before it reaches your desktop.
In other words, you don't need the actual device to stimulate the server responses, and you don't need the actual device to validate content and to measure performance timing data.