Intelligent Unit Performance Testing Engine for Early Software Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application testing methods are inadequate for early-stage performance evaluation during the software development life cycle, lacking effective tools for identifying and addressing performance issues before deployment.

Innovation Solution

An intelligent unit performance testing system that analyzes source code with performance testing tags, executes testing processes in offline or online modes, and uses machine learning to generate infrastructure analysis and remedial steps, ensuring optimal application performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional application testing methods are used, then testing can be performed, but performance issues cannot be detected early in the development cycle

Engineering Contradiction:
Improvetime to detect performance issuesVSAvoidperformance evaluation capability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs performance testing during the software development life cycle before deployment by executing test code against compiled application code. This preliminary action allows performance issues to be detected early in development rather than after deployment, resolving the contradiction between early detection and reliable performance evaluation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If performance testing is integrated into the development cycle, then early detection is enabled, but system complexity increases

Engineering Contradiction:
Improveperformance evaluation capabilityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the performance testing functionality into separate test code modules that can be independently developed, compiled, and executed against the application code. This segmentation allows the testing capability to be integrated into the development cycle without significantly increasing overall system complexity, as each component remains modular and manageable.

Inventive Principle:
Principle #1Segmentation

3Productivity

If automated performance testing with remedial steps is implemented, then productivity improves, but automation complexity increases

Engineering Contradiction:
Improveperformance testing efficiencyVSAvoidtesting automation level
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The system implements automated feedback loops where performance test results are analyzed and remedial steps are automatically executed based on detected performance issues. This feedback mechanism improves productivity by eliminating manual intervention while managing automation complexity through rule-based decision-making rather than complex AI systems.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11314628B2System for intelligent unit performance testing of computer applications
Publication Date: 2022.04.26 BANK OF AMERICA CORP
  • US11314628B2 patent drawing
  • US11314628B2 patent drawing
  • US11314628B2 patent drawing

AI summary

A system provides intelligent unit performance testing of computer applications. In particular, the system may provide an intelligent unit performance testing engine which may allow application developers to perform critical testing of the application during the software development life cycle for performance driven development. The engine may be invoked as either an offline or online process which may analyze applications based on certain performance testing parameters as specified by the developer. In this regard, the system may be configured to read performance testing-specific tags added by the developer to the source code of the application in development. Upon executing the performance testing, the output of the performance testing may be provided to the developer and/or other involved users within the application development process. In this way, the system may provide an effective way for a developer to conduct performance testing at earlier stages of the software development life cycle.