UI Code Coverage Analysis for Cross-Platform Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining test coverage of user interfaces in computer programs are inadequate, particularly when dealing with multiple software and hardware platforms, various programming languages, and integrating test code coverage suites, leading to inefficiencies and incomplete testing.

Innovation Solution

A UI code coverage system and process that is programming language and platform independent, using static analysis to determine test coverage without requiring test execution, identifying and visualizing covered and uncovered UI Components, and minimizing redundant tests by generating coverage metrics directly from test suite development.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional test execution methods are used to determine code coverage, then comprehensive testing can be achieved, but the process becomes time-consuming and complex across multiple platforms and programming languages

Engineering Contradiction:
Improvetest coverage accuracyVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing static analysis on test suite source code during the development phase, before actual test execution. This allows coverage metrics to be determined in advance by analyzing the code structure and mapping it to UI components, eliminating the need for time-consuming runtime execution across multiple platforms while maintaining accurate coverage measurement.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If test suites are executed on multiple software and hardware platforms to ensure comprehensive coverage, then testing reliability improves, but the complexity of the testing process increases significantly

Engineering Contradiction:
Improvetesting reliabilityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary approach by using platform-independent static analysis as a mediator between test suites and multiple execution platforms. The system analyzes test code structure and UI component mappings in a platform-agnostic manner, generating coverage metrics without requiring actual execution on diverse hardware and software configurations, thus maintaining reliability while reducing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If comprehensive test execution is performed to identify all UI component coverage, then complete testing is achieved, but the number of tests required becomes unmanageably large

Engineering Contradiction:
ImproveUI component coverage measurementVSAvoidtesting efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent replaces the mechanical execution-based testing system with a static analysis system. Instead of physically executing tests to measure coverage, the system uses code parsing and structural analysis to determine which UI components are covered by test suites, dramatically improving productivity while maintaining precise coverage measurement through automated code-to-UI-mapping.

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

4Adaptability or versatility

If test suites are integrated across different programming languages and platforms, then versatility is improved, but the difficulty of integration and measurement increases

Engineering Contradiction:
Improvecross-platform adaptabilityVSAvoidcoverage integration difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements universality by creating a platform-independent static analysis framework that can process test suites written in different programming languages. The system uses language-agnostic code structure analysis and maintains a universal UI component model that works across multiple platforms, enabling versatile cross-platform testing while simplifying integration and measurement through a unified analysis approach.

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

Data Source

PatentUS20230385183A1User Interface Test Coverage
Publication Date: 2023.11.30 DEVFACTORY INNOVATIONS FZ LLC
  • US20230385183A1 patent drawing
  • US20230385183A1 patent drawing
  • US20230385183A1 patent drawing

AI summary

A user interface (“UI”) code coverage system and process determines the coverage by test code of UI Components in a computer program. In other words, the UI code coverage system and process determine whether the test code tests a UI Component. In at least one embodiment, the UI code coverage system and process identify the particular UI Components tested by the test code, provide coverage (i.e. tested) statistics, provide a visualization of the UI Component tested, provide a visualization of tested and not-tested (also referred to respectively as “covered” and “not covered”) UI Components of a UI Screen.