Java Component Test Output Evaluation via Reflection API

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing environments rely on manual evaluation of test output, which is inefficient and costly, especially in automated test execution where the success or failure of test cases is not effectively assessed.

Innovation Solution

A method and system for automating test output evaluation of Java components using the Java reflection API to identify non-private members, generate wrapper methods, and apply behavior checking expressions, allowing for automated evaluation of test outputs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated test execution is implemented, then testing speed and consistency are improved, but the ability to assess test success or failure automatically deteriorates due to lack of output evaluation automation

Engineering Contradiction:
Improvetesting speedVSAvoidautomated assessment capability
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The patent introduces an intermediary component - the test output evaluation system that acts as a mediator between automated test execution and result assessment. This evaluation system uses reflection APIs to intercept and analyze test outputs, bridging the gap between automated execution and meaningful result interpretation without requiring manual intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical/manual process of test output evaluation with an automated computational system. Instead of manual review of test results, the system uses programmatic reflection APIs and automated evaluation logic to assess test success or failure, substituting human mechanical review with automated digital evaluation.

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

2Measurement precision

If manual test output evaluation is used, then assessment accuracy is maintained, but time consumption and cost increase significantly

Engineering Contradiction:
Improveassessment accuracyVSAvoidevaluation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The test evaluation system performs self-service by automatically evaluating its own test outputs without requiring external manual intervention. The reflection-based evaluation mechanism enables the system to autonomously assess test results, maintaining accuracy while eliminating the time loss associated with manual evaluation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements preliminary action by pre-configuring evaluation criteria and reflection logic before test execution. This allows the system to automatically apply predetermined evaluation rules to test outputs, ensuring consistent accurate assessment without requiring time-consuming manual analysis during or after test execution.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive test coverage is achieved, then software quality improves, but testing cost and resource consumption increase

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies universality by creating a multi-functional test evaluation system that can assess multiple test outcomes using a single automated framework. The reflection-based evaluation mechanism serves multiple purposes - determining pass/fail, analyzing output patterns, and providing feedback - thereby achieving comprehensive quality assessment without proportionally increasing resource consumption.

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

Data Source

PatentUS10049030B2System and method for test output evaluation of a JAVA component
Publication Date: 2018.08.14 INFOSYS LTD
  • US10049030B2 patent drawing
  • US10049030B2 patent drawing
  • US10049030B2 patent drawing

AI summary

A method and a system for test output evaluation of a JAVA component. The java component and reference classes are received and non-private members of the Java component are identified using JAVA reflection API and the reference classes. An API structure comprising public members is extracted from the non-private members. Behavior checking expressions are received and selected corresponding to the public members. A Java source code comprising wrapper methods wherein the wrapper method corresponds to the one or more public members and a test output evaluation method comprising the behavior checking expressions is generated. The test output evaluation of the JAVA component is performed using the test output evaluation method over the generated Java source code.