Sensor Emulation Environment for Mobile App Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and testing applications for mobile devices with sensors is challenging due to the need for physical devices, which can be unavailable and result in non-reproducible test results.

Innovation Solution

A framework that provides a sensor emulation environment to generate simulated sensor data, allowing applications to be tested and developed without the physical device, using a guest environment and an API to connect to various data sources for reproducible and efficient testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If physical devices are used for application testing, then test results are more accurate, but device availability becomes a bottleneck and testing efficiency decreases

Engineering Contradiction:
Improvetest result accuracyVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent creates virtual copies of sensor devices through software emulation. The sensor emulation environment generates simulated sensor data that mimics the behavior and output formats of physical sensors, allowing applications to be tested without requiring actual hardware devices. This copying approach maintains test validity while eliminating device availability constraints.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The framework introduces an intermediary layer between the application and physical sensors. The sensor emulation environment acts as a mediator that translates application sensor requests into simulated data responses, enabling testing to proceed independently of physical device availability while maintaining compatibility with the application's expected sensor interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If physical devices are required for testing, then sensor data is authentic, but development process becomes slower and more complex

Engineering Contradiction:
Improvesensor data authenticityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The framework performs preliminary actions by pre-configuring the sensor emulation environment with virtual sensor models and data generation logic before actual testing begins. This advance preparation eliminates the need for physical device setup and configuration during the development process, significantly reducing development time while maintaining test reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Virtual copies of sensor behavior and data characteristics are created in advance through the emulation environment. These copies reproduce authentic sensor data patterns, ranges, and response characteristics without requiring access to physical devices, thereby preserving data authenticity while accelerating the development cycle.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If multiple physical devices are used for comprehensive testing, then test coverage increases, but resource requirements and system complexity increase

Engineering Contradiction:
Improvetest coverageVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The sensor emulation environment implements a universal testing platform that can simulate multiple different sensor types and device configurations through software. A single emulation system can reproduce various sensor behaviors, making it universally applicable to test different application scenarios without requiring multiple physical devices, thereby reducing system complexity while maintaining comprehensive test coverage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10318409B2Application development environment for portable electronic devices
Publication Date: 2019.06.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10318409B2 patent drawing
  • US10318409B2 patent drawing
  • US10318409B2 patent drawing

AI summary

A method for developing and testing an application for a device with one or more sensors using a sensor emulation environment that may allow testing of the application in a programmatic manner. The sensor emulation environment may emulate actual physical sensors. The sensor emulation environment may receive sensor simulation data from multiple types of sources of sensor data. A sensor data engine may receive sensor simulation data from a selected data source via an API. The data engine may provide data values at times that represent operation of a sensor. The sensor emulation environment may further include a sensor interface component that emulates a hardware interface to the emulated sensor in a physical target device such that application components, such as a driver, may interact with the sensor emulation environment.