Software Test Plan For A Mobile Application
Software Test Plan For A Mobile Application
Software Test Plan For A Mobile Application
Introduction
Overview
This document explains the testing methodology for a mobile application, and is to be used as a guide for the testing activity. The intended audience for this document: The Project Managers Product development team members Test engineers
Scope
The scope of testing as explained in the document is to test the operating characteristics of an application that runs on mobile devices supporting J2ME. The tests are organized by requirement category such as usability, functionality, security, etc. The procedure for carrying out testing in terms of preparation of test cases, test environment setup, defects logging and reporting are explained. The document does not address the following: Content censorship (i.e. assessment against standards for violence, gambling, political messaging etc.) for the purpose of preventing the deployment or sale of an application. Distribution, DRM etc. Testing requirements specific to a particular manufacturers (or network operators) device, user interface, and standards (e.g. WAP) implementation.
References
Mention the documents of references
Acronyms
Acronym DRM J2ME Expansion Digital Rights Management Java 2 Platform Micro Edition
Entry Criteria
Test cases are reviewed Build is complete and self test done Unit Test environment is set up
Exit Criteria
All planned test cases are executed Units are working as per the expected results Defect are fixed in the code and tracked to closure
System Testing
In System Testing, separate units (packages / modules / components), or groups of units of the application are united and tested as a completely merged application. The purpose of System Testing is to identify defects that will only surface when a complete system is assembled. Verification of the system at this stage might include: functionality, usability, security, installation etc. It is intended to validate the application as a whole. The rest of this document mainly explains how System Testing is performed by the testing team.
Testing Procedure
The steps in testing consist of: Creation of all the test scenarios and test cases
Preparation of a test case document that has a brief description of the test case , steps to conduct tests and expected result Defect Report generation. Outlined below are the main test types that will be performed 1. 2. 3. Application Characteristics (AC) Information about the application is provided to help the testing team in the testing work. Stability (ST) Focusing on the application being stable on the device. Application Launch (AL) Once an application is loaded it must start (launch) and stop correctly in relation to the device and other applications on the device. 4. 5. User Interface (UI) Functionality (FN) - Documented features are implemented in the application and work as expected. Sources for the information are user manuals, formatted application specification documents and online documentation. 6. Connectivity (CO) the application must demonstrate its ability to communicate over a network correctly. It must be capable of dealing with both network problems and server-side problems. 7. Personal Information Management (PI) - The application accessing user information needs to be able to do it in an appropriate manner and not to destroy the information. 8. Security
Regression Testing
This is an additional step, and is done prior to taking up system testing which is to test new functionality. Regression testing consists of running a set of standard tests to ensure that old functionality has not been broken by new functionality. Regression tests are also run if a new release is made after fixing a number of defects.
Pass/Fail Conditions
It is expected that an application must pass all the tests in each test category to be successful.
Test Report
For each report, the following information is provided: The name of the application
The version number of the application Device used for testing Device firmware version For each error reported, the following information is provided: Description of the error Frequency of occurrence of error: Systematic or Random or Once Location of the error in the application Steps to reproduce the error
Assumptions
Every release to QA will accompany a release note specifying details of the features implemented and its impact on the module under test. All "Show-Stopper" bugs receive immediate attention from the development team. All bugs found in a version of the software will be fixed and unit tested by the development team before the next version is released All documentation will be up-to-date and delivered to the system test team.
Devices, Emulators and other support tools will be fully functional prior to project commencement. In case of lack of required equipment or changes in the feature requirements, the test schedules may need to be reviewed.
Exit Criteria
The Following is the criteria when the testing will be stopped for this module: All test cases have been executed and at least 95% have passed successfully. The remaining 5% do not impact critical functionality All test results have been evaluated and accepted. There are no showstoppers or high criticality defects unresolved or outstanding
Test Metrics
Following metrics will be captured and reported as part of the Test Summary Report Test Design effort Test execution effort Number of Test Cases executed Number of Defects and their classification Test Coverage (Number of test cases executed/Number planned)
Test Lead
Responsibilities: Requirement gathering Planning and estimating for testing Tracking and monitoring the testing as per the test plan Reporting the project status
Test Engineer
Responsibilities: Creating the test cases as per the test plan Executing the test cases Documenting the results and logging errors. Test Plan Test Cases Document Document with a description and expected result for each test case. Test Results The Pass/Fail status of each test cases and the list of issues.
Introduction: <An introduction of the app.> Scope and Out of Scope: <Based on business specification> Schedule: <It would be ideal to allocate extra time for app testing. Since size of the screen and device is smaller, App testing can be tiring, boring and dull. Ergonomics is very challenging for a mobile device. You need to allow testers time to relax their body and eyes. Testers will easily can end up with shoulder or neck pain. In test schedule, it is advisable to allocate time for Device maintenance (Cleaning, charging, upgrading firmware, completing documentations etc).> Test resources: <List test resources and their tasks.> Test Strategy: 1. System test <Break the app into multiple different core functionalities and plan to test individual units.> 2. Integration test <Typical integration testing plan, test integration between different units.> 3. Performance test <Typically done by developer/a dedicated mobile performance tester. Ensure the app is able to run simultaneously with other apps, videos, mp3, YouTube, games etc.> 4. Stability test <Ensure the app is stable over different mobile platforms; iOS x, Android x etc.> 5. Connectivity test <Test the over different network connections; 3G (slow and fast connection), wifi. Switch between 3G and wifi and ensure the app doesnt crash and restore connectivity very easily.> 6. Usability test <Most important test for any mobile app. Based on your targeted users, ask simple questions to yourself, Is this app easy to follow, does it have too many steps to complete a registration form/checkout for an eCommerce site, is the app or specific function intuitive and interactive, do I get bored and tired to complete a simple task. Most of the usability testing should be done at design/wireframe level.> 7. User Experience test <I normally like to give the app to a real user and observe his actions. How long does he take to complete something? Is he getting lost. Ideally this testing should be done at a design/wireframe level. Early testing concept should be adopted.> Defect reporting: <Outline how the defect reporting methods.> Risk and Assumptions: <Some of the risk factors for a mobile app project can be different than any other projects, ie Unavailable devices, devices are not charged, time (mobile projects are usually given less time), business requirements can change at anytime due to release of a new iOS version or type of mobile device. >