Testing mobile apps: QA can make or break projectís success
By: Tatyana Mahlaeva
Quality Assurance (QA) plays a vital role in the development of mobile applications, but many overlook the critical nature of this piece of the app development process.
To ensure the success of an app, QA must be involved in all stages of development, from creating the concept, analyzing requirements and wishes, creating test specifications, testing early versions of the app, releasing the finished product, to the post-development review process.
This phase begins after app development has been commissioned and is complete before the first assembly of a functioning app begins.
Important activities during this phase include:
1. Identifying target devices
2. Introducing functional requirements
3. Developing test documentation
4. Preparing the test environment
Guidelines to determine target devices include:
1. Figuring out what devices the application will support (phones, tablets, other devices - players, navigation);
2. Determining the earliest version of relevant operating systems to be supported.
There are two options: a special restriction, which will be further reflected in the requirements when installing the app, or selecting a lower limit operating system by device popularity among the target audience.
For example, for iOS devices it should be the first iPad with iOS 5.1.1 (if the application has no performance problems on it, there should be no problems in later versions of the device); the iPhone 3GS only runs iOS 4.3.5, so it is the least-productive platform to develop for, but the device is still popular globally.
3. Identifying the most popular models for the target audience.
4. Selecting additional devices with different screen sizes than the most popular models.
The next step is introducing functional requirements.
It is important to define whether the app is browser-based or installable, whether it interacts with a Web site or database, whether it interacts with other apps or social networks, or if it is completely self-contained (does not interact with the Internet and cellular network).
Information collected at this stage should focus on important app functions.
Then it is time to develop test documentation.
Many mobile apps only need high-level documentation, as tasks within the app are typically done with just a few clicks and do not involve complex tasks.
This simplicity means that it is not necessary to create detailed instructions for testing.
For non-mobile apps as well, much depends on optimally partitioning app functionality into blocks while creating test documentation.
This allows connections between different units to be tracked accurately, and requires less time to verify various functions.
If the app is an updated version of an existing AppStore or Google Play offering, it may be useful to analyze user reviews and feedback that has been posted on social networks and the app marketplace.
Problems are often found and documented in these environments by end users, and this information will help identify and focus on the appís most important shortcomings.
When new app versions are introduced, users expect to find specific problems have been fixed.
If they are not, it often causes them to react with anger or frustration, especially if they and others have taken the time to document or report errors.
It can be useful to add these end-user concerns to the test checklist as a separate category of problems, and pay special attention to them during testing.
Preparing a test environment typically requires the installation of required apps on the mobile device, as well as the installation and configuration of required apps on the QA engineerís computer.
This might include apps such as the iPhone Configuration Utility and Android SDK.
From here, the process becomes an iterative cycle. It starts after the integration of the first assembly and ends with the completion of product development. It includes testing multiple assemblies at regular intervals (once or twice a week, for example).
Development and testing are carried out simultaneously with each new build of the app.
The main idea of testing is for the QA engineers to put themselves in the shoes of the user, but with a more profound knowledge of the settings and the principles of a particular device and the features of the app being tested.
... to read more articles, visit http://sqa.fyicenter.com/art/