The modern smartphone is a very complex device which integrates a wide variety of sensors (GPS, Accelerometer, Magnetometer etc.), a host of wireless standards (GSM, CDMA, SCDMA, TD-SCDMA, LTE, UMTS etc.), connectivity standards (Bluetooth, NFC, Wi-Fi), and navigation standards (GPS, GLONASS, etc.).
Mobile phone testing involves multiple stages of testing like R&D testing, factory/production testing and certification testing on hardware, software and mechanical assembly to ensure functioning and quality of the device.
Synchronizing wide-variety of I/O into a single test system
Smartphones have a wide variety of I/O including RF front ends for receiving various cellular communications, connectivity, and navigation standards specific signals, analog audio inputs from mic and audio out from the speakers, a display etc. For example, let us consider a situation where the user is using the navigating functionality while navigating to an unfamiliar destination (using your phone as a navigation system) simultaneously while streaming music from your device to a wired/wireless headset and suddenly you receive a call. If you would require a test system to replicate this as a test scenario, you would require a tester with multiple RF I/O to generate and respond to say the GPS, LTE, and Bluetooth signals, you would require a camera to inspect the phone’s display and check whether the phone display switches in sync with the arrival of the call, and possibly from analog I/O to check both the microphone and speaker functionalities in the circumstance. Hence a test engineer aiming to test mobile devices would need to look for a test equipment with wide variety of I/O coverage to help him test his device not just in set test cases (unit test cases where Bluetooth functionality is tested independently of the GPS functionality in the phone) but more in a ‘scenario-simulation’ environment (like the example quoted above) which is closer to the consumer use cases.
Testing the growing number of standards and protocols with a common toolset
One of the defining characteristics of mobile phone industry is the ever-growing number of standards and protocols that in place for audio, video, global navigation standards, cellular network communications and external device connectivity. Current limitations of hardware and test tools only designed for one standard at a time will force test organization to upgrade existing hardware test setups or invest on an entirely new tester to cover the new standard comes into the consumer space. This approach would become a very costly affair and would limit the tester reuse. Adopting a software-centric test architecture, where the functionality of the tester is defined in software will help to reduce the cost of the upgrade and will help in quickly upgrading the tester to incorporate test cases to cover the rapidly evolving standards thereby maximizing ROI on their test strategy.
Validating Software Changes with Automated Regression Testing
The amount of software used to control and operate mobile phones continues to grow along with the system capabilities. A few years back, software on a mobile device stayed constant from the time of the device going into production all the way until it was scrapped or recycled. Modern smartphones receive software updates over-the-air (OTA) and this has introduced a fundamental challenge for the development teams. Often, software changes are made only to a specific functionality to optimize performance or fix bugs, in these cases, the software changes made need to be validated in addition to other functions to validate that other functions on the device aren’t affected. This means carrying out thousands upon thousands of previously-validated tests, and doing this manually can cost a company significant amounts of time and money. The need to automate this series of regression tests at many points throughout development cycle is evident in all companies designing mobile phones. By taking advantage of the software-defined test, engineers can design their own automated test systems that use modular and flexible hardware to maximize test efficiency and allows engineers to re-use previous tests from earlier in the design process.