IP Library Granted Patent US 12,475,028
Granted Patent B2
US 12,475,028 · App. 17/965,585 · Granted Nov 18, 2025

System and method for a test automation framework associated with a self-describing data system

Inventors: Alexander Tarasenko (Andover, MA); William Turner (Andover, MA); Andrey Bondarenko (Andover, MA); Nicholas Simerov (Andover, MA); Pavel Zhuravlevich (Andover, MA)
Assignee: Aras Corporation
G06F11/3698G06F11/368G06F11/3692G06F8/41G06F8/71G06F9/451G06F11/3668G06F11/3672G06F11/3688
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,475,028
App. No.
17/965,585
Granted
Nov 18, 2025
Kind
B2
Abstract

A computing device includes a memory device storing instructions, and a processing device communicatively coupled to the memory device. The processing device executes the instructions to execute a computer-implemented system configured to manage items in a self-describing data system, wherein the items are associated with a user interface and the computer-implemented system is associated with a first version; execute a third-party computer-implemented system configured to execute an application that accesses the user interface, wherein the third-party computer-implemented system is associated with a second version; and execute a test automation framework (TAF) configured to use the third-party computer-implemented system to perform tests on the user interface associated with the items. The TAF comprises libraries including code specific to the first version of the computer-implemented system and code specific to the second version of the third-party computer-implemented system.

Claims (61)

1 . A computing device comprising:

a memory device storing instructions; and

a processing device communicatively coupled to the memory device, wherein the processing device executes the instructions to:

execute a computer-implemented system configured to manage items in a self-describing data system, wherein the items are associated with a user interface and the computer-implemented system is associated with a first version;

execute a third-party computer-implemented system configured to execute an application that accesses the user interface, wherein the third-party computer-implemented system is associated with a second version;

execute a test automation framework (TAF) module configured to use the third-party computer-implemented system to perform one or more tests on the user interface associated with at least one of the items, wherein:

(i) the TAF module comprises one or more libraries including first code specific to the first version of the computer-implemented system and second code specific to the second version of the third-party computer-implemented system,

(ii) the first code and the second code are different and enable performing version-agnostic testing between the computer-implemented system and the third-party computer-implemented system, and

(iii) the TAF module identifies which version of the computer-implemented system and the third-party computer-implemented system is being used, modifies the first code and the second code based on which version is identified by changing a line of code in the first code based on which version of the computer-implemented system is being used and by changing a line of code in the second code based on which version of the third-party computer-implemented system is being used, and performs the one or more tests on the modified first code and the second code without modifying the one or more tests.

2 . The computing device of claim 1 , wherein the processing device is to:

receive an update pertaining to the code specific to the first version of the computer-implemented system; and

recompile at least one library including the code specific to the first version of the computer-implemented system.

3 . The computing device of claim 1 , wherein the processing device is to:

receive an update pertaining to the code specific to the second version of the third-party computer-implemented system; and

recompile at least one library including the code specific to the second version of the third-party computer-implemented system.

4 . The computing device of claim 1 , wherein the processing device is to:

execute the TAF module to perform one or more second tests on the computer-implemented system by transmitting a message to the computer-implemented system and receiving a response message from the computer-implemented system;

determining whether the response message matches a predetermined response;

in response to the response message matching the predetermined response, outputting an indication that the one or more second tests were successful; and

in response to the response message not matching the predetermined response, outputting an indication that the one or more second tests failed.

5 . The computing device of claim 1 , wherein the one or more tests are reusable for different versions of the computer-implemented system, the third-party computer-implemented system, the application, or some combination thereof.

6 . The computing device of claim 1 , wherein the processing device is to:

receive a test suite comprising a plurality of tests, wherein the test suite is associated with a particular version of the computer-implemented system, the third-party computer-implemented system, the application, or some combination thereof;

based on the particular version, configure the one or more libraries to include code specific to the particular version;

execute the TAF module to perform the test suite to generate results; and

output the results.

7 . The computing device of claim 1 , wherein the one or more tests is generated based on a screenplay pattern comprising an actor, an action, an assertion, an exception, or some combination thereof.

8 . The computing device of claim 1 , wherein the one or more tests are configured to test functionality of graphical elements represented by the items in the self-describing data system.

9 . The computing device of claim 1 , wherein the third-party computer-implemented system comprises an application programming interface, the application comprises a web browser, and the TAF module comprises an application programming interface.

10 . The computing device of claim 1 , wherein the computer-implemented system comprises an integrated development environment implementing the TAF module, wherein the one or more libraries are stored in a folder of the integrated development environment.

11 . A method for executing a test automation framework (TAF), wherein the method comprises:

receiving, at the TAF, a request to perform a test associated with a computer-implemented system, wherein the request comprises a version of the computer-implemented system;

determining, using a library included in the TAF, first code to execute based on the version of the computer-implemented system, wherein the first code is associated with the version of the computer-implemented system;

determining second code to execute based on a second version of a third-party computer-implemented system, wherein the third-party computer-implemented system uses an application to perform the test on a user interface associated with the computer-implemented system, and the user interface comprises one or more items included in a self-describing data system of the computer-implemented system, wherein the first code and the second code are different and enable performing version-agnostic testing between the computer-implemented system and the third-party computer-implemented system; and

executing, using the first code and second code, the test, wherein the TAF identifies which version of the computer-implemented system and the third-party computer-implemented is being used, modifies the first code and the second code based on which version is identified by changing a line of code in the first code based on which version of the computer-implemented system is being used and by changing a line of code in the second code based on which version of the third-party computer-implemented system is being used, and performs the test on the modified first code and the second code without modifying the test.

12 . The method of claim 11 , further comprising:

receiving an update comprising third code associated with a third version of the computer-implemented system;

including, in the library, the third code associated with the third version of the computer-implemented system;

compiling the library including the third code to generate a recompiled library;

receiving a second request to perform a second test, wherein the second request comprises the third version; and

responsive to receiving the second request to perform the second test, determining, using the recompiled library, the third code to execute.

13 . The method of claim 11 , wherein the application comprises a web browser, and the method further comprises pinging the web browser for updates on a periodic basis.

14 . The method of claim 11 , further comprising:

updating the library with different code pertaining to a plurality of versions of the computer-implemented system, the third-party computer-implemented system, the application, or the like; and

reusing the test for the plurality of versions of the computer-implemented system, the third-party computer-implemented system, the application, or the like.

15 . The method of claim 11 , wherein the TAF is an application programming interface communicatively coupled to the computer-implemented system.

16 . The method of claim 11 , wherein the third-party computer-implemented system comprises an application programming interface communicatively coupled to the TAF and the application.

17 . A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to:

execute a computer-implemented system configured to manage items in a self-describing data system, wherein the items are associated with a user interface and the computer-implemented system is associated with a first version;

execute a third-party computer-implemented system configured to execute an application that accesses the user interface, wherein the third-party computer-implemented system is associated with a second version; and

execute a test automation framework (TAF) module configured to use the third-party computer-implemented system to perform one or more tests on the user interface associated with at least one of the items, wherein:

(i) the TAF module comprises one or more libraries including first code specific to the first version of the computer-implemented system and second code specific to the second version of the third-party computer-implemented system,

(ii) the first code and the second code are different and enable performing version-agnostic testing between the computer-implemented system and the third-party computer-implemented system, and

(iii) the TAF module identifies which version of the computer-implemented system and the third-party computer-implemented system is being used, modifies the first code and the second code based on which version is identified by changing a line of code in the first code based on which version of the computer-implemented system is being used and by changing a line of code in the second code based on which version of the third-party computer-implemented system is being used, and performs the one or more tests on the modified first code and the second code without modifying the one or more tests.

18 . The computer-readable medium of claim 17 , wherein the processing device is further to:

execute the TAF module to perform one or more second tests on the computer-implemented system by transmitting a message to the computer-implemented system and receiving a response message from the computer-implemented system;

determining whether the response message matches a predetermined response;

in response to the response message matching the predetermined response, outputting an indication that the one or more second tests were successful; and

in response to the response message matching the predetermined response, outputting an indication that the one or more second tests failed.

19 . The computer-readable medium of claim 17 , wherein the third-party computer-implemented system comprises an application programming interface, the application comprises a web browser, and the TAF module comprises an application programming interface.

20 . The computer-readable medium of claim 17 , wherein the computer-implemented system comprises an integrated development environment implementing the TAF module, wherein the one or more libraries are stored in a folder of the integrated development environment.

Continuity (2)
Provisional Application 63256400 · Oct 15, 2021
Related Publication 20230120416A1 · Apr 20, 2023
References Cited (16)
US 10678666B1 · Gauf · 2020 [cited by examiner]
US 20090037882A1 · Allen · 2009 [cited by examiner]
US 20110239104A1 · Prasad · 2011 [cited by examiner]
US 20130042222A1 · Maddela · 2013 [cited by examiner]
US 20130152047A1 · Moorthi · 2013 [cited by examiner]
US 20150074646A1 · Herrin · 2015 [cited by examiner]
US 20150286556A1 · Ellis · 2015 [cited by examiner]
US 20180060221A1 · Yim · 2018 [cited by examiner]
US 20180089066A1 · Barnett · 2018 [cited by examiner]
US 20190303269A1 · Arieli · 2019 [cited by examiner]
US 20200241865A1 · Phong · 2020 [cited by examiner]
US 20200319995A1 · Mitra · 2020 [cited by examiner]
US 20210390038A1 · Mietke · 2021 [cited by examiner]
US 20230019006A1 · Villarroel Humérez · 2023 [cited by examiner]
US 20230195825A1 · Rao · 2023 [cited by examiner]
Theofilos Petsios et al., NEZHA: Efficient Domain-Independent Differential Testing, 2017, [Retrieved on Jun. 13, 2025]. Retrieved from the internet: <URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7958601… [cited by examiner]