API Test Report Generation via Java Reflection Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing API testing methods lack comprehensive reporting and fail to identify untested APIs, making it difficult to assess the quality and coverage of API functionality, especially without proper naming conventions and metrics for API usage.

Innovation Solution

A system that uses Java Reflection and JUnit test methods to automatically generate API test reports by mapping Java APIs to corresponding JUnit tests, providing metrics on API test counts and identifying untested APIs within a continuous testing framework, without requiring developers to add annotation tags.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual API testing methods are used, then developers have control over testing processes, but comprehensive reporting and identification of untested APIs cannot be achieved

Engineering Contradiction:
ImproveAPI test coverage measurementVSAvoidtesting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically deriving Java APIs and JUnit test methods from the software application itself, then mapping them without requiring external annotation tags from developers. The system generates its own testing framework and reports autonomously, eliminating the need for manual configuration while achieving comprehensive API coverage measurement.

Inventive Principle:
Principle #25Self-service

2Productivity

If automated testing frameworks are implemented, then testing efficiency increases, but the ability to identify untested APIs and generate comprehensive reports decreases

Engineering Contradiction:
ImproveAPI testing efficiencyVSAvoidAPI test coverage information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The system implements feedback by generating comprehensive test reports that identify which APIs have been tested and which remain untested. The reporting mechanism provides continuous feedback on API coverage, allowing developers to see the status of their API testing and take corrective action to improve coverage where needed.

Inventive Principle:
Principle #23Feedback

3Manufacturing precision

If annotation tags are required for API testing, then test mapping accuracy improves, but ease of use and adoption by developers deteriorates

Engineering Contradiction:
ImproveAPI-test method mapping accuracyVSAvoiddeveloper effort to implement testing
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The system performs self-service by automatically deriving Java APIs and JUnit test methods from the software application itself, then mapping them without requiring external annotation tags from developers. The system generates its own testing framework and reports autonomously, eliminating the need for manual configuration while achieving comprehensive API coverage measurement.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If detailed API testing metrics are collected, then API quality assessment improves, but the complexity of the testing system and reporting increases

Engineering Contradiction:
ImproveAPI quality measurementVSAvoidreporting system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts and focuses on the most critical API testing metrics needed for quality assessment, such as the percentage of APIs that have corresponding test methods and identification of untested APIs. By extracting only the essential information needed for effective decision-making, the system avoids the complexity of comprehensive detailed reporting while maintaining meaningful quality measurement.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9417992B2Web portal API test report generation
Publication Date: 2016.08.16 ORACLE INT CORP
  • US9417992B2 patent drawing
  • US9417992B2 patent drawing
  • US9417992B2 patent drawing

AI summary

A system for generating application programming interface (“API”) test reports for a software application derives one or more Java APIs to be tested from the software application and derives Java Unit (“JUnit”) test methods used to test the Java APIs. The system then maps each Java API with a corresponding JUnit test method and generates one or more test reports.