Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality, usability and consistency. Mobile application testing can be automated or manual type of testing.
Mobile Technology is transforming the way people use their cell phones. Although demand is highest for consumer apps, enterprise applications are evolving too, allowing businesses to work more productively. Right from Publishers, Retailers, Automobile Dealers, Financial Service Providers, Pharmaceuticals & Healthcare Providers, the mobile application usage trend has now extended to schools and Universities providing faster interaction between staff and students.
Due to the ever-growing demand for mobile apps, decision makers are focusing on creating mobile strategies and roadmap before implementing the application for their users. It is important to build an app with all features and functionality required by the customer and which is beneficial to the app user, but it is even more critical to have a rigorous mobile testing plan before the mobile app is deployed. A comprehensive plan gives customers the confidence that the app will function as intended on different devices with varying screen sizes, resolutions, internal hardware, operating systems and across telecom operator networks.
Mobility Testing Approach &Process
A typical end-to-end mobile testing process, should start from creating test cases of the application, performing user acceptance and finally device testing stage.
Step-by-Step Mobile Application Testing Process followed:
- Identified Types of Testing – It was a mandatory requirement that the application has to work in all iOS and Android devices as the end consumers can have diverse devices. To ensure that the app worked in all the devices we selected combination of manual testing, automation testing and testing in cloud simulator – Device Anywhere.
- Performed Manual and Automated Testing –The development process followed for this project was SCRUM and each sprint was two weeks long. Every two weeks development team delivered a logically completed product to the QA team and QA would run their test cases on the build. Regression was a challenge because in each build QA had to ensure that previously completed items were still working. To accomplish this, QA team had automated basic set of functionality using Expediter and ran the automation script on each build which saved good amount of time. We used JIRA to file and track defects.
- Provided 24 hours of QA Support – We follow a SCRUM development model (QA team is integral part of the development team throughout the project). We provided 24 hours QA support during the development phase since we had onsite as well as offsite teams working on this project. This ensured timely and steady progress in the app implementation.
- Beta Testing – After this initial setup, once the particular build was moved from the QA bucket, user acceptance testing was conducted for this QA/ST build. This was achieved by asking the beta users (a set of hundred students from the University) to browse every single page within the mobile app. This ensured that every bug was fixed before the app was released. And that the app captured all necessary features and functionality.
- Performance Testing – The functionality, performance (stability, responsiveness, resource usage, stability parameters as per standards) and user interface for the delivered build was thoroughly tested.
- Device Testing – The app was tested across multiple OS versions/devices using the Device Anywhere simulation tool and also physically tested in our dedicated mobile application testing labs.
- Maintained Test Case Sheet –During the whole process the QA team maintained the test case sheet (with all functionality implemented), at last certified the build to release. The entire end-to-end mobile application testing process involved collective effort between onsite and off- site teams.
- Generated Test Summary Report – Finally QA manager generated the test summary report. This is a management report which provides details of any important information uncovered by the tests conducted, includes assessments of the quality of the testing effort, the quality of the software system under test and statistics derived from incident reports. The report also records different types of testing performed and how long did it take to complete the testing. This helps to improve any future test planning. This final document indicates whether the software system under test is fit for use and has met acceptance criteria defined by project stakeholders.