Automating integration test cases by resolving test case dependencies

US11474936B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11474936-B2
Application numberUS-201916668969-A
CountryUS
Kind codeB2
Filing dateOct 30, 2019
Priority dateOct 30, 2019
Publication dateOct 18, 2022
Grant dateOct 18, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Described embodiments provide systems and methods resolving test case dependencies to execute test suites. An agent may establish a connected graph representing a test suite having a test cases to test an application that provides APIs. The connected graph may have an ordered connection of nodes via paths corresponding to each test case. The agent may traverse the ordered connection of nodes in each path of the connected graph to identify test case dependencies and API assertion dependencies. The agent may resolve each test case dependency by executing the dependency. The agent may resolve each API assertion dependency by executing the dependency. The agent may concurrently execute, responsive to resolving each dependency, each test case. The agent may determine a result of an execution of a test case of the test suite. The result may indicate one of a success or failure in executing the test case.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of resolving test case dependencies to execute test suites, the method comprising: establishing, by an agent executing on a device having one or more processors, a connected graph representing a test suite having a plurality of test cases to test an application providing a plurality of application programming interfaces (APIs), the connected graph having an ordered connection of nodes via a plurality of paths, each node in the ordered connection of nodes corresponding to at least one of the plurality of test cases, one or more operations to be executed as a prerequisite of at least one of the plurality of test cases, and at least one of the plurality of APIs to be asserted, the ordered connection of nodes representing (i) one or more test case dependencies between at least two of the plurality of test cases and (ii) one or more API assertion dependencies between at least one of the plurality of test cases or at least one of the operations and at least one of the plurality of APIs to be asserted; traversing, by the agent, the ordered connection of nodes in each path of the connected graph to identify (i) the one or more test case dependencies corresponding to nodes connected to the traversed nodes representing one or more of the plurality of test cases and (ii) the one or more API assertion dependencies corresponding to nodes connected to the traversed nodes are one or more of the plurality of APIs to be asserted; resolving, by the agent, each of the one or more test case dependencies identified from traversing each path of the connected graph by recursively executing one or more test cases in each of the one or more test case dependencies; resolving, by the agent, each of the one or more API assertion dependencies identified from traversing each path of the connected graph by recursively executing one or more test cases in each of the one or more API assertion dependencies; concurrently executing, by the agent, responsive to resolving each of the one or more test case dependencies and each of the one or more API assertion dependencies, each of the test cases of the plurality of test cases of the test suite; and determining, by the agent, a result of an execution of a test case of the plurality of test cases of the test suite, the result indicating one of a success or failure in executing the test case. 2. The method of claim 1 , further comprising establishing, by the agent, the connected graph to have, in at least one of the plurality of paths, one or more user assertion dependencies to be resolved, wherein each of the one or more user assertion dependencies includes input data to be asserted responsive to a response from one or more API assertions. 3. The method of claim 2 , further comprising resolving, by the agent, each of the one or more user assertion dependencies identified from traversing each path of the connected graph by executing each of the one or more user assertion dependencies. 4. The method of claim 1 , further comprising identifying, by the agent, a specification for the plurality of test cases having one or more test parameters and establishing the connected graph using the one or more test parameters defined by the specification for each of the plurality of test cases of the test suite. 5. The method of claim 1 , further comprising concurrently traversing, by the agent, each path of the connected graph to identify the one or more test case dependencies and the one or more API assertion dependencies. 6. The method of claim 1 , further comprising traversing, by the agent, each path of the connected graph to identify the one or more test case dependencies, each of the test case dependencies indicating that execution of a first test case of the plurality of test cases relies on a resultant of a second test case of the plurality of test cases in a corresponding path of the connected graph; and wherein resolving each test case dependency further comprises recursively executing the first test case and the second test case in each test case dependency. 7. The method of claim 1 , further comprising traversing, by the agent, each path of the connected graph to identify the one or more API assertion dependencies, each of the API assertion dependencies indicating that an invocation of a first API assertion relies on a response of a second API assertion in a corresponding path of the connected graph; and wherein resolving each API assertion dependency further comprises recursively executing the first API assertion and the second API assertion in each API assertion. 8. The method of claim 1 , wherein resolving each API assertion dependency further comprises using a query parameter to invoke each API assertion of each of the one or more API assertion dependencies to identify a response responsive to invoking each API assertion. 9. The method of claim 1 , further comprising: identifying, by the agent, a response from an API assertion invoked in each of the one or more API assertion dependencies, the response including at least one of a status, content, or a length; and verifying, by the agent, the API assertion based on at least one of the status, the content, or the length of the response. 10. The method of claim 1 , further comprising performing, by the agent, subsequent to executing each of the test cases, a cleanup operation to release resources of the device consumed in execution of each of the test cases of the plurality of test cases of the test suite. 11. A system for resolving test case dependencies to execute test suites, the system comprising: a device having one or more processors, configured to: establish a connected graph representing a test suite having a plurality of test cases to test an application providing a plurality of application programming interfaces (APIs), the connected graph having an ordered connection of nodes via a plurality of paths, each node in the ordered connection of nodes corresponding to at least one of the plurality of test cases, one or more operations to be executed as a prerequisite of at least one of the plurality of test cases, and at least one of the plurality of APIs to be asserted, the ordered connection of nodes representing (i) one or more test case dependencies between at least two of the plurality of test cases and (ii) or more API assertion dependencies between at least one of the plurality of test cases or at least one of the operations and at least one of the plurality of APIs to be asserted; traverse the ordered connection of nodes in each path of the connected graph to identify (i) the one or more test case dependencies corresponding to nodes connected to the traversed nodes representing one or more of the plurality of test cases and (ii) the one or more API assertion dependencies corresponding to nodes connected to the traversed nodes are one or more of the plurality of APIs to be asserted; resolve each of the one or more test case dependencies identified from traversing each path of the connected graph by recursively executing one or more test cases in each of the one or more test case dependencies; resolve each of the one or more API assertion dependencies identified from traversing each path of the connected graph by recursively executing one or more test cases in each of the one or more API assertion dependencies; concurrently execute, responsive to resolving each of the one or more test case dependencies and each of the one or more API assertion dependencies, each of the test cases of the plurality of test cases of the test suite; and determine a result of an execution of a test case of the plurality of test cases of the test suite, the result indicating one of a success or failure in executing t

Assignees

Inventors

Classifications

  • for test results analysis · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • via adapters, e.g. between incompatible applications · CPC title

  • Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11474936B2 cover?
Described embodiments provide systems and methods resolving test case dependencies to execute test suites. An agent may establish a connected graph representing a test suite having a test cases to test an application that provides APIs. The connected graph may have an ordered connection of nodes via paths corresponding to each test case. The agent may traverse the ordered connection of nodes in…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/3692. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).