Before the introduction of iPhone App Store, mobile phone applications were limited to native applications offered by handset manufacturers. Users had a very limited choice and had no control on customization. The evolution of Android and iOS ecosystems since 2007 has made mobile applications very popular. It has allowed developers to write and sell their applications through the app store infrastructure.
Mobile browsers have also evolved from being static to advance with technologies such as HTML5 and faster networks. This advancement has facilitated rendering high definition content on mobile and this has spiked the need for mobile browser testing. The challenge however is to test it on multiple devices, each having its own OS, model and browser version. Testing on each of these variations is not just expensive but also extremely time consuming. So, the need of the hour then is tools which would simulate a ‘mobile browser type’ environment on a regular browser.
In this blog, we will focus on HP’s QC, QTP tool to demonstrate how it can be used to resolve some the challenges that we stated, keeping the existing processes and tools intact.
Let’s understand how much time and material it would take if we were to embark upon the manual mobile browser testing journey:
Manual Mobile Browser Testing |
||
Mobile Web |
Functional Regression Approach |
Manual |
Mobile Web |
Functional Regression Coverage |
Less than 20% |
Mobile Web |
Functional Regression TC count |
Less than 200 TCs |
Mobile Web |
Functional Regression Device Profiles |
2 Device Profiles (1 Smart Phone and 1 Non-Smart Phone) |
Mobile Web |
Functional Regression Efforts |
2 resources, 3 weeks |
Mobile Web |
Functional Regression Cycles |
1 cycle (80%) |
The HP-QTP Solution
And then, for a mobile web simulation using QTP, the actual pages are rendered in a web browser with request made on a mobile device and response sent as if sent to a particular device browser. Quality center was used as a main test execution tool and all reporting repository was stored in QC. Existing QTP implementation was used by modifying components or BPTs. Existing object repositories were used to identify the object with little modification to add new object for different phones. Database was used to store profile information and browser simulation was done to test different devices.
Browser simulation is an effective approach to test mobile web application while using HP QC/BPT framework.
One way to test mobile web application is using browser simulation. Web browser would camouflage itself to appear as a mobile browser by using user-agent headers/profile. Each mobile device contains certain information which identifies one phone behavior from another. Certain tools are available which change user-agent header/profile and simulate a similar environment on a different browser. Such tools help a lot in multiple environment mobile testing. Bayden UA Pick, Fiddler, etc are examples of such tools.
First time automated tests run from HP QC, it will connect to QTP. QTP gets information from QC test lab about what device it has to run. QTP will perform following action
- Make database call to fetch profile and other necessary information from database for device
- Open proxy (e.g fiddler), change settings for proxy with device information
- It will open browser and proxy will update browser with device behavior and it goes back to QTP.
- QTP will execute rest of test
The outcome
With above implementation at client side, here are the results of simulated functional testing with QTP.
Simulated Functional Automation | |||
Before | After Apexon Solution | ||
Mobile Web |
Functional Regression Approach |
Manual |
Automation (using QTP) |
Mobile Web |
Functional Regression Coverage |
Less than 20% |
More than 90% |
Mobile Web |
Functional Regression TC count |
200 TCs |
2000 TCs |
Mobile Web |
Functional Regression Device Profiles |
1 (iPhone) |
40 device profiles |
Mobile Web |
Functional Regression Efforts |
2 resources, 3 weeks |
2 resources, 1 week |
Mobile Web |
Functional Regression Cycles |
1 cycle (80%) |
4 cycles |
In conclusion, Apexon developed a mobile web testing solution using the above approach with existing HP QC / QTP tools and with very little need to change processes or a need to learn a new language or tool.