Rendering Engine Component Abstraction for Automated Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current automation testing solutions for applications built on rendering engines, such as Unity and Unreal Engine, lack direct access to the window manager/UI controller layer, preventing elastic steering of app behavior and reliable feedback on graphical elements, leading to errors and incomplete testing.
Innovation Solution
The Rendering Engine Component Abstraction System (RECAS) allows dynamic interaction with graphical components by sending steering information and simulating inputs directly to the window manager/UI controller layer or bypassing it, enabling access to topology information and enabling customized automated test scenarios, stability checks, performance metrics monitoring, and localization testing across various platforms.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If direct screen access is used for automation testing, then testing can be performed without OS level services, but access to UI layer information and elastic steering of app behavior is lost
Solution Approach 1:
The patent introduces an intermediary layer (test automation framework with hooks and events) between the testing system and the rendering engine components. This intermediary enables access to UI layer information and app behavior control without requiring direct OS level service access, resolving the contradiction by providing the needed adaptability while maintaining system architecture simplicity.
Solution Approach 2:
The patent implements a nested structure where the test automation framework is embedded within the rendering engine's component architecture. Test hooks and events are integrated into the existing rendering pipeline, allowing testing capabilities to be nested within the game/application structure itself, thus providing UI access without adding external system complexity.
2Reliability
If primitive automation tools based on screen coordinates are used, then implementation is simple, but validation capability and test reliability are insufficient
Solution Approach 1:
The patent implements feedback mechanisms where the test automation system receives real-time information about the current screen state, UI element positions, and application behavior through rendering engine hooks. This feedback enables validation of test actions and reliable detection of test outcomes, significantly improving test execution reliability compared to coordinate-based tools.
Solution Approach 2:
The patent enables preliminary action by allowing test scenarios to query and understand the current UI state and component topology before executing test actions. This preliminary information gathering ensures that test actions are properly validated and targeted, preventing errors that occur with blind coordinate-based automation.
3Loss of information
If image recognition algorithms are used to analyze screen content, then basic information about application state can be obtained, but implementation complexity and maintenance difficulty increase
Solution Approach 1:
The patent extracts application state information directly from the rendering engine's internal data structures and component hierarchy, rather than capturing and analyzing screen images. This extraction approach obtains complete and accurate application state information while avoiding the complexity of image recognition algorithms, as the data is already available in structured form within the rendering pipeline.
4Productivity
If manual testing is used for applications built on rendering engines, then detailed validation can be performed, but testing speed and productivity are reduced
Solution Approach 1:
The patent implements self-service capabilities where the test automation framework automatically manages test execution, result collection, and validation processes. The system autonomously interacts with rendering engine components through integrated hooks, eliminating the need for manual intervention while maintaining comprehensive validation capabilities, thus achieving both high productivity and ease of operation.
Data Source
AI summary
The subject matter discloses a system for testing an application or a game build on top of a rendering engine, the system comprises an agent configured for running on a first computing device; the first computing device is configured for running the game or said application; a test framework installable on a second computing device, the test framework is configured for receiving one or more instructions related to a test of said game or the application from a user and for transmitting the one or more instructions to the agent; wherein the agent is further configured for communicating with the test framework for extracting one or more object properties of the game or the application in response to the one or more instructions and for providing to the test framework to access to the one or more object properties.


