Automated test input generation for integration testing of microservice-based web applications

US11138096B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11138096-B2
Application numberUS-201916587625-A
CountryUS
Kind codeB2
Filing dateSep 30, 2019
Priority dateAug 5, 2016
Publication dateOct 5, 2021
Grant dateOct 5, 2021

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.

Techniques for automated generation of inputs for testing microservice-based applications are provided. In one example, a computer-implemented method traverses a user interface of a microservices-based application by performing actions on user interface elements of the user interface, and generates an aggregated log of user interface event sequences and application program interface call sets based on the traversing. The computer-implemented method also determines respective user interface event sequences that invoke application program interface call sets and generates respective test inputs based on the user interface event sequences that invoke the application program interface call sets.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a memory that stores computer executable components; and a processor that executes the computer executable components stored in the memory, wherein the computer executable components comprise: an event sequence component that determines respective user interface event sequences that invoke application program interface call sets of an annotated application program interface call graph associated with a microservices-based application, wherein respective edges of the annotated application program interface call graph are annotated with coverage indications; a coverage component that: determines, based on the coverage indications, a coverage metric that indicates a coverage of the annotated application program interface call graph by the user interface event sequences, and in response to a determination that the coverage metric indicates that a threshold amount of the annotated application program interface call graph is not covered by the user interface event sequences, initiates a traversal of a user interface of the microservices-based application with one or more mutated user interface event sequences based on one or more mutations of the user interface event sequences. 2. The system of claim 1 , wherein the coverage component further determines a user interface event sequence for mutation, where the user interface event sequence is determined by the coverage component to invoke an externally visible application program interface that is at least one of directly or indirectly connected with an uncovered edge of the annotated application program interface call graph. 3. The system of claim 2 , further comprising a user interface crawling component that mutates the user interface event sequence to invoke the externally visible application program interface with at least one different parameter. 4. The system of claim 2 , further comprising a user interface crawling component that mutates the user interface event sequence to invoke the externally visible application program interface with at least one different parameter value. 5. The system of claim 2 , further comprising a user interface crawling component that mutates the user interface event sequence by deletion of a user interface event of the user interface event sequence that contributes at least one parameter to invocation of the externally visible application program interface. 6. The system of claim 2 , further comprising a user interface crawling component that mutates the user interface event sequence by addition of an additional user interface event to the user interface event sequence that contributes at least one additional parameter to invocation of the externally visible application program interface. 7. The system of claim 2 , further comprising a user interface crawling component that mutates the user interface event sequence by modification of at least one data value of at least one user interface event of the user interface event sequence. 8. A computer-implemented method, comprising: determining, by a system operatively coupled to a processor, respective user interface event sequences that invoke application program interface call sets of an annotated application program interface call graph associated with a microservices-based application, wherein respective edges of the annotated application program interface call graph are annotated with coverage indications; determining, by the system, based on the coverage indications, a coverage metric that indicates a coverage of the annotated application program interface call graph by the user interface event sequences, and in response to a determination that the coverage metric indicates that a threshold amount of the annotated application program interface call graph is not covered by the user interface event sequences, initiating, by the system, a traversal of a user interface of the microservices-based application with one or more mutated user interface event sequences based on one or more mutations of the user interface event sequences. 9. The computer-implemented method of claim 8 , further comprising determining, by the system, a user interface event sequence for mutation, where the user interface event sequence is determined to invoke an externally visible application program interface that is at least one of directly or indirectly connected with an uncovered edge of the annotated application program interface call graph. 10. The computer-implemented method of claim 9 , further comprising mutating, by the system, the user interface event sequence to invoke the externally visible application program interface with at least one different parameter. 11. The computer-implemented method of claim 9 , further comprising mutating, by the system, the user interface event sequence to invoke the externally visible application program interface with at least one different parameter value. 12. The computer-implemented method of claim 9 , further comprising mutating, by the system, the user interface event sequence by deletion of a user interface event of the user interface event sequence that contributes at least one parameter to invocation of the externally visible application program interface. 13. The computer-implemented method of claim 9 , further comprising mutating, by the system, the user interface event sequence by addition of an additional user interface event to the user interface event sequence that contributes at least one additional parameter to invocation of the externally visible application program interface. 14. The computer-implemented method of claim 9 , further comprising mutating, by the system, the user interface event sequence by modification of at least one data value of at least one user interface event of the user interface event sequence. 15. A computer program product for automatically generating test inputs for testing of a microservices-based application, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing component to cause the processing component to: determine respective user interface event sequences that invoke application program interface call sets of an annotated application program interface call graph associated with the microservices-based application, wherein respective edges of the annotated application program interface call graph are annotated with coverage indications; determine, based on the coverage indications, a coverage metric that indicates a coverage of the annotated application program interface call graph by the user interface event sequences, and in response to a determination that the coverage metric indicates that a threshold amount of the annotated application program interface call graph is not covered by the user interface event sequences, initiate a traversal of a user interface of the microservices-based application with one or more mutated user interface event sequences based on one or more mutations of the user interface event sequences. 16. The computer program product of claim 15 , wherein the program instructions are further executable by the processing component to cause the processing component to: determine a user interface event sequence for mutation, where the user interface event sequence is determined to invoke an externally visible application program interface that is at least one of directly or indirectly connected with an uncovered edge of the annotated application program interface call graph. 17. The computer program produ

Assignees

Inventors

Classifications

  • Environments for analysis, debugging or testing of software · CPC title

  • G06F9/451Primary

    Execution arrangements for user interfaces · CPC title

  • Data logging (G06F11/14, G06F11/2205 take precedence) · CPC title

  • Interaction with lists of selectable items, e.g. menus · CPC title

  • monitoring of user actions (tracking the activity of the user H04L67/535) · 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 US11138096B2 cover?
Techniques for automated generation of inputs for testing microservice-based applications are provided. In one example, a computer-implemented method traverses a user interface of a microservices-based application by performing actions on user interface elements of the user interface, and generates an aggregated log of user interface event sequences and application program interface call sets b…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3698. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 05 2021 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).