IP Library › Granted Patent US 11,853,197
Granted Patent B2
US 11,853,197 · App. 17/348,439 · Granted Dec 26, 2023

Testing automation for open standard cloud server applications

Inventors: Andrew Leasck (Saint Louis, MO); Douglas Paul Schveninger (Wildwood, MO); Oded Le'Sage (Austin, TX); Bryan Strassner (Union, MO); Kelly Carter (Allen, TX)
Assignee: AT&T Intellectual Property I, L.P.
G06F11/3688G06F9/451G06F11/3664H04L67/34
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 11,853,197
App. No.
17/348,439
Granted
Dec 26, 2023
Kind
B2
Abstract

A method performed by a processing system including at least one processor includes monitoring a software repository for code changes, detecting a code change in a software instance that is stored in the software repository, generating a container image of the software instance in response to the detecting, creating a container for the container image, wherein the container encapsulates software needed to run a test suite on the software instance, configuring a testing platform for a development environment used to create the software instance, executing the test suite for the software instance by running the software encapsulated in the container on the testing platform, and publishing a test output of the test suite as a human-readable scorecard for the software instance.

Claims (45)

1. A method comprising:

monitoring, by a processing system including at least one processor, a software repository using a software program that checks for code changes;

detecting, by the processing system during the monitoring, a code change in a software instance that is stored in the software repository;

generating, by the processing system in response to the detecting, a container image of the software instance including the code change;

publishing, by the processing system, the container image to a continuous integration/continuous delivery pipeline mirror;

creating, by the processing system after the publishing the container image to the continuous integration/continuous delivery pipeline mirror, a container for the container image, wherein the container encapsulates software needed to run a test suite on the software instance;

configuring, by the processing system, a testing platform for a development environment used to create the software instance;

executing, by the processing system, the test suite for the software instance by running the software encapsulated in the container on the testing platform, wherein the executing is automated as a quality gate during a stage of a development of the software instance in a continuous integration/continuous delivery pipeline, and wherein the quality gate is designed to verify that the software instance meets a predefined standard before the development is permitted to proceed to a next stage of the development that follows the stage; and

publishing, by the processing system, a test output of the test suite as a human-readable scorecard for the software instance, wherein the human-readable scorecard identifies at least one of: the test suite, a number of test cases that were run during the executing of the test suite, a number of test cases that were skipped during the executing of the test suite, an amount of time for which the test suite was executed, a number of successful test cases run during the executing of the test suite, or a number of failing test cases run during the executing of the test suite.

2. The method of claim 1 , wherein the software instance is part of an open standard cloud services application.

3. The method of claim 2 , wherein the test suite is configured to exercise a specific layer of the container image, where the container image comprises a plurality of layers, and each layer of the plurality of layers represents a different area of an application environment of the open standard cloud services application.

4. The method of claim 3 , wherein the test suite is configured to verify that the specific layer is functional and operating as expected.

5. The method of claim 3 , wherein the test suite is one of a plurality of test suites, and wherein the plurality of test suites are configured to test respective layers of the plurality of layers in a consistent manner.

6. The method of claim 5 , wherein the container comprises a standard container interface that is configured to generate the scorecard in a format that is consistent across the plurality of test suites.

7. The method of claim 6 , wherein the standard container interface comprises a suite container which contains data to execute the test suite and a publisher container to publish the test output.

8. The method of claim 7 , wherein the suite container comprises a testing framework, a test container, and a file system.

9. The method of claim 8 , wherein the testing framework comprises programs for setup, run, and teardown of the test suite.

10. The method of claim 9 , wherein the programs call functions in the test container.

11. The method of claim 10 , wherein the functions in the test container write data to the file system.

12. The method of claim 8 , wherein the file system stores parameters of the testing framework.

13. The method of claim 12 , wherein the parameters of the testing framework include at least one of: a correlation identifier, an invocation identifier, or a targetsite.

14. The method of claim 1 , wherein the human-readable scorecard further identifies at least one of: a correlation identifier of a testing framework, an invocation identifier of the testing framework, a targetsite of the testing framework, a type of the targetsite, a site of the executing, or a source that invoked the test suite.

15. The method of claim 1 , wherein the container packages the software instance as an executable package with runtime, system tools, system libraries, and settings to execute the test suite on the software instance.

16. The method of claim 1 , wherein the software program comprises at least one of: a syntax checker or a linter.

17. A non-transitory computer-readable medium storing instructions which, when executed by a processing system including at least one processor, cause the processing system to perform operations, the operations comprising:

monitoring a software repository using a software program that checks for code changes;

detecting, during the monitoring, a code change in a software instance that is stored in the software repository;

generating, in response to the detecting, a container image of the software instance including the code change;

publishing the container image to a continuous integration/continuous delivery pipeline mirror;

creating, after the publishing the container image to the continuous integration/continuous delivery pipeline mirror, a container for the container image, wherein the container encapsulates software needed to run a test suite on the software instance;

configuring a testing platform for a development environment used to create the software instance;

executing the test suite for the software instance by running the software encapsulated in the container on the testing platform, wherein the executing is automated as a quality gate during a stage of a development of the software instance in a continuous integration/continuous delivery pipeline, and wherein the quality gate is designed to verify that the software instance meets a predefined standard before the development is permitted to proceed to a next stage of the development that follows the stage; and

publishing a test output of the test suite as a human-readable scorecard for the software instance, wherein the human-readable scorecard identifies at least one of: the test suite, a number of test cases that were run during the executing of the test suite, a number of test cases that were skipped during the executing of the test suite, an amount of time for which the test suite was executed, a number of successful test cases run during the executing of the test suite, or a number of failing test cases run during the executing of the test suite.

18. A device comprising:

a processing system including at least one processor; and

a non-transitory computer-readable medium storing instructions which, when executed by the processing system, cause the processing system to perform operations, the operations comprising:

monitoring a software repository using a software program that checks for code changes;

detecting, during the monitoring, a code change in a software instance that is stored in the software repository;

generating, in response to the detecting, a container image of the software instance including the code change;

publishing the container image to a continuous integration/continuous delivery pipeline mirror;

creating, after the publishing the container image to the continuous integration/continuous delivery pipeline mirror, a container for the container image, wherein the container encapsulates software needed to run a test suite on the software instance;

configuring a testing platform for a development environment used to create the software instance;

executing the test suite for the software instance by running the software encapsulated in the container on the testing platform, wherein the executing is automated as a quality gate during a stage of a development of the software instance in a continuous integration/continuous delivery pipeline, and wherein the quality gate is designed to verify that the software instance meets a predefined standard before the development is permitted to proceed to a next stage of the development that follows the stage; and

publishing a test output of the test suite as a human-readable scorecard for the software instance, wherein the human-readable scorecard identifies at least one of: the test suite, a number of test cases that were run during the executing of the test suite, a number of test cases that were skipped during the executing of the test suite, an amount of time for which the test suite was executed, a number of successful test cases run during the executing of the test suite, or a number of failing test cases run during the executing of the test suite.

19. The device of claim 18 , wherein the software instance is part of an open standard cloud services application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2021
From: LEASCK, ANDREW; SCHVENINGER, DOUGLAS PAUL; LE'SAGE, ODED; STRASSNER, BRYAN; CARTER, KELLY
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 056554/0354 →
Continuity (1)
Related Publication 20220398188A1 · Dec 15, 2022
Cited By (1)
US 12,348,404