Automated UI Testing via API Invocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual software testing is time-consuming, costly, and of questionable quality, particularly in verifying timing constraints, necessitating an improved method for testing software programs.
Innovation Solution
Automated extensible user interface testing using a test engine that accesses test data to determine and invoke appropriate API methods for testing user interfaces, supporting multiple test steps and verification processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual testing is used, then human users can interact with and verify the program, but the testing process becomes time-consuming and costly
Solution Approach 1:
The patent replaces manual mechanical testing operations with an automated testing system that uses a test engine to execute test cases and interact with the program under test. This substitution eliminates the need for human operators to manually perform repetitive testing actions, thereby reducing testing time and costs while maintaining or improving testing quality through systematic automation.
Solution Approach 2:
The testing system performs self-service by automatically executing test cases, capturing results, and generating test reports without requiring continuous human intervention. The test engine autonomously manages the testing process, including setting up test environments, running test scenarios, and analyzing outcomes, which significantly reduces the time and resources required for software testing.
2Reliability
If manual testing is used, then human users can verify program behavior, but the cost of testing increases
Solution Approach 1:
The patent replaces expensive manual testing operations with an automated testing system that uses software-based test engines and scripted test cases. This substitution eliminates the need to pay human testers for repetitive tasks, thereby reducing testing costs while maintaining testing quality through consistent and repeatable automated test execution.
Solution Approach 2:
The testing system uses copies of test data and test scenarios that can be repeatedly executed without additional cost. Once test cases are created, they can be run multiple times against different builds and configurations at minimal marginal cost, unlike manual testing where each execution requires human time and resources.
3Reliability
If manual testing is used, then human users can provide inputs, but it is difficult to verify timing constraints
Solution Approach 1:
The patent replaces manual timing verification with automated timing measurement capabilities built into the test engine. The system automatically captures timestamps for test events, calculates time intervals, and verifies whether timing constraints are met, eliminating the difficulty of manually measuring and verifying timing requirements.
Solution Approach 2:
The testing system provides automated feedback on timing constraint compliance by comparing measured time intervals against specified requirements. The test engine generates immediate feedback indicating whether timing constraints are satisfied, eliminating the need for manual analysis and verification of timing behavior.
Data Source
AI summary
Automated extensible user interface testing supports testing of a user interface of a program. Test data is accessed, the test data including multiple test steps. Each test step describes at least a part of a test to be performed on the user interface. For each of the multiple test steps, one or more application program interface (API) methods to invoke to carry out the part of the test is determined. This determination is based at least in part on the test data and on an identification from the API of methods supported by the API. Each of the one or more API methods is then invoked to carry out the part of the test. Verification can be performed to ensure, for example, that specified files were created, or registry values were changed, or user interface elements appear and exist.


