Selective Application Testing via Recorded User Action Flows

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application testing methods, such as monkey testing, often simulate random interactions rather than actual user behavior, leading to inefficient resource allocation and a lack of focus on critical application features.

Innovation Solution

The method involves recording and analyzing actual user interactions to selectively simulate user action flows, allowing for configurable testing of frequently used, error-prone, or worst-performing application features by dynamically selecting user actions based on usage data and performance values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If random interactions are simulated (monkey testing), then testing coverage is achieved, but testing efficiency and resource allocation are poor

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by recording actual user interactions and organizing them into user action flows before testing begins. These recorded flows serve as a foundation for selective testing, allowing the system to prioritize critical features based on real usage patterns rather than random selection

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system dynamically adapts by periodically updating user action flows based on changing usage patterns. The selection of user actions for testing is not static but evolves over time, allowing the system to respond to emerging critical features and shifting user behavior patterns

Inventive Principle:
Principle #15Dynamics

2Reliability

If all user actions are tested equally, then comprehensive coverage is achieved, but resource allocation is inefficient

Engineering Contradiction:
Improvetesting coverageVSAvoidresource wastage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system applies local quality by assigning different testing priorities to different user actions based on their characteristics. Critical features identified through usage data receive more testing attention, while less important features receive proportionally less testing resources, creating a non-uniform but optimized testing distribution

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of testing priority by using configurable weights associated with different performance factors. These weights allow the system to adjust the importance of various user actions dynamically, transforming a static equal-testing approach into a flexible priority-based system

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If usage data is collected and analyzed, then selective testing capability is improved, but system complexity increases

Engineering Contradiction:
Improveselective testing capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system achieves universality by using a multi-purpose data structure (user action flows) that serves multiple functions: recording usage patterns, organizing test cases, and guiding selective testing. This single structure handles multiple aspects of the testing process, reducing the need for separate complex systems for each function

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

Data Source

PatentUS10684942B2Selective application testing
Publication Date: 2020.06.16 MICRO FOCUS LLC
  • US10684942B2 patent drawing
  • US10684942B2 patent drawing
  • US10684942B2 patent drawing

AI summary

Examples relate to selectively testing applications. In one example, a computing device may: receive, from a testing device, a current state of an application under test (AUT); select a user action flow from a plurality of user action flows, each user action flow including a plurality of user actions previously performed on the AUT when the AUT was in a prior state that corresponds to the current state; and provide the selected user action flow to the testing device.