Automatic Mobile Software Testing via Formalized Description Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Comprehensive testing of mobile applications is laborious and costly, often resulting in only basic testing being performed in-house, with further testing being done by users after distribution, known as 'crowd testing', which lacks a test concept and thus insufficiently ensures software quality.

Innovation Solution

A method for automatic testing of mobile applications involves deriving a formalized description from the software, generating a test description, translating it for various mobile devices, and adapting it to specific devices, utilizing tools like UML and cucumber recipes to ensure thorough testing across different devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing is performed manually, then test coverage and software quality are improved, but testing effort and costs increase significantly

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The testing system performs self-testing by automatically generating test cases from the software's own source code and requirements specifications. The system autonomously executes tests, analyzes results, and generates reports without requiring external human testers, thereby achieving comprehensive coverage while maintaining high efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical testing processes with an automated computer-based system. The automated system uses algorithms to generate, execute, and analyze test cases, substituting human testers with computational processes that can perform comprehensive testing rapidly and consistently.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If crowd testing is used after distribution, then testing costs are reduced, but test coverage and quality assurance are insufficient

Engineering Contradiction:
Improvetesting cost efficiencyVSAvoidsoftware quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs comprehensive testing before software distribution by automatically generating and executing test cases from available requirements specifications. This preliminary automated testing ensures high quality assurance prior to release, eliminating the need for reliance on post-distribution crowd testing while maintaining cost efficiency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If more test cases are generated to cover all software paths, then test coverage is improved, but test design complexity increases

Engineering Contradiction:
Improvetest coverageVSAvoidtest design complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically generates comprehensive test cases from the software's own source code and requirements specifications without requiring complex manual test design. The automated generation process analyzes the software structure and requirements to produce appropriate test cases, achieving full path coverage while keeping the test design process simple and efficient.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10678681B2Method and device for automatic testing
Publication Date: 2020.06.09 SIEMENS AG
  • US10678681B2 patent drawing

AI summary

A method for automatic testing of a piece of software for a mobile device including the following steps: deriving from a description a formalized description, the description includes possible sequences of events of the software and a range for at least one input parameter of the software, the description being used for an implementation of the software; generating from the formalized description a test description; adapting the test description for the mobile device for which the software is to be tested; translating the test specification in a language assigned to the mobile device such that a test described by the test specification can be performed on the mobile device. The method for automatic testing further relates to a corresponding device.