HTTP User Flow Simulator with Adaptive Request Sequencing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing HTTP test automation tools face challenges in reproducing valid user sequences due to complexities such as one-time tokens and dependencies between pages, leading to invalid responses and inefficient execution of complete user sequences with redundant steps.

Innovation Solution

A testing system that emulates user sequences by generating adapted requests based on the validity of responses, identifying and adapting dependent requests, and producing reduced sequences by excluding independent requests, while monitoring and managing tokens to ensure valid outcomes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complete user sequences are executed with all requests including redundant steps, then test coverage is improved, but execution time and processing power increase

Engineering Contradiction:
Improvetest coverageVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts and identifies independent requests from the user sequence that can be safely removed. By analyzing request dependencies and determining which requests do not affect the final outcome, the system removes these redundant requests to create a reduced sequence that maintains test coverage while reducing execution time and processing requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

2Object-affected harmful factors

If one-time tokens are used for security, then security is improved, but test automation reliability deteriorates due to invalid responses when reproducing sequences

Engineering Contradiction:
ImprovesecurityVSAvoidtest automation validity
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The system performs preliminary actions by executing requests in the correct sequence to obtain valid one-time tokens before they are needed. By proactively capturing tokens from intermediate responses and storing them for later use, the system ensures that when dependent requests are executed, they receive valid tokens, thereby maintaining both security and test automation reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism (token repository) that stores one-time tokens obtained from intermediate responses. This intermediary allows tokens to be captured at one point in the sequence and reused at another point, bridging the gap between token generation and token consumption while maintaining security constraints.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If dependencies between requests are managed by executing complete sequences, then request validity is improved, but processing complexity increases

Engineering Contradiction:
Improverequest validityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the user sequence into dependent and independent requests by analyzing request-response relationships. By dividing the sequence and identifying which requests depend on previous responses, the system can selectively execute only the necessary dependent requests while skipping independent ones, thereby maintaining request validity without requiring execution of the complete sequence.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10282282B2Automated HTTP user flows simulator
Publication Date: 2019.05.07 BLACK DUCK SOFTWARE INC
  • US10282282B2 patent drawing
  • US10282282B2 patent drawing
  • US10282282B2 patent drawing

AI summary

A testing method and system for automatic Hypertext Transfer Protocol (HTTP) testing, the system including a memory configured to store sequences of user requests, a program store storing code for emulating a sequence of user requests, and at least one processor coupled to the program store and to the memory for executing the stored code, the code including instructions for generating an emulated request based on a request from a user sequence of requests, transmitting the emulated request to an application, receiving a response to the emulated request from the application, calculating an adapted emulated sequence based on validity of the received response, and instructing transmission of the adapted emulated sequence.