Mobile-device testing
# Mobile-device testing

Mobile-device testing functions to assure the quality of mobile devices, like mobile phones, PDAs, etc. It is conducted on both hardware and software, and from the view of different procedures, the testing comprises R&D testing, factory testing and certificate testing. It involves a set of activities from monitoring and trouble shooting mobile application, content and services on real handsets. It includes verification and validation of hardware devices and software applications. Test must be conducted with multiple operating system versions, hardware configurations, device types, network capabilities, and notably with the Android operating system, with various hardware vendor interface layers.

## Automation key features

* Add application/product space.
* Create test builds for application/product.
* Associate test builds with application/product space.
* Add your own remote devices, by getting a small service app installed on them.
* Record test cases/scripts/data on a reference device/emulator.
* Associate test cases/scripts/data with application/product space.
* Maintain test cases/scripts/data for each application/product.
* Select devices/emulators to run your test scripts.
* Get test results e-mailed to you (after completing the entire run, the fixed number of steps, and after every X units of time) – PDF format supported currently.

Listed companies like Keynote Systems, Capgemini Consulting and Mobile Applications and Handset testing company Intertek and QA companies like PASS Technologies AG, and Testdroid provide mobile testing, helping application stores, developers and mobile device manufacturers in testing and monitoring of mobile content, applications and services.

## Static code analysis

Static code analysis is the analysis of computer software that is performed without actually executing programs built from that software (analysis performed on executing programs is known as dynamic analysis) Static analysis rules are available for code written to target various mobile development platforms.

## Android testing framework supports

* Unit test
* Functional test
* Activity test
* Mock objects
* Utilities to simplify test creation

## Unit testing

Unit testing is a test phase when portions of mobile device development are tested, usually by the developer. It may contain hardware testing, software testing, and mechanical testing.

## Factory testing

Factory testing is a kind of sanity check on mobile devices. It is conducted automatically to verify that there are no defects brought by the manufacturing or assembling.

Mobile testing contains:

* mobile application testing
* hardware testing
* battery (charging) testing
* signal receiving
* network testing
* protocol testing
* mobile games testing
* mobile software compatibility testing

## Certification testing

Certification testing is the check before a mobile device goes to market. Many institutes or governments require mobile devices to conform with their stated specifications and protocols to make sure the mobile device will not harm users' health and are compatible with devices from other manufacturers. Once the mobile device passes all checks, a certification will be issued for it. When users submit mobile apps to application stores/marketplaces, it goes through a certification process. Many of these vendors outsource the testing and certification to third party vendors, to increase coverage and lower the costs.

## Certification forums

* PTCRB
* Global Certification Forum
