Browse Prior Art Database

Method to test automated processes of application deployments

IP.com Disclosure Number: IPCOM000251871D
Publication Date: 2017-Dec-07
Document File: 3 page(s) / 112K

Publishing Venue

The IP.com Prior Art Database

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

1

Method to test automated processes of application deployments

Application deployment automation is increasingly utilized in DevOps projects as software development organizations move to agile, continuous delivery processes. The deployment process artifacts (i.e., scripting and sequence of steps to execute on target environment) are built on the deployment automation tools to more often and more reliably deliver software. In turn, the complexity of application deployment automation increases. With this complexity comes an increased chance that small changes in the automation process could break the process in some scenarios.

The testing application deployment process is tedious for many reasons. Setup is expensive. To test application deployment automation, multiple machines (virtual or physical) may need to be prepared. Testing the end-to-end automation may take several hours. It is difficult to specifically test a later step in the automation process. For example, if a developer makes a change to step 10 of the process, then it is difficult to test only step 10 without first running steps 1-9. The number of use cases to automate keeps growing for many DevOps projects. Developers must support multiple release vehicles, multiple operating systems, multiple database vendors, multiple third-party versions, etc.

The novel contribution is a method and system to automate testing of networked devices by defining abstract commands. The core idea of the solution is to define a repeatable automated test case artifact for the deployment process, provide an ability to record the test case from the deployment automation tool, and provide an ability to run the test case on the deployment automation tool. Having a repeatable automated test- case allows the developer to reliably test process artifacts without manual set-up or monitoring. In addition, the test-case recording allows the developer to easily create varieties of test-cases with a very small cost of test-case development. It can leverage a virtual machine (VM)/container provisioning tool to execute test cases in parallel, which ends up with rapid testing of the process artifacts. Further, having a test-case allows it to leverage quality management tools to administer test cases, group the cases as test- suite, and manage test results.

This solution defines a repeatable test case artifact which consists of:

 VM snapshot(s) or container image(s), which is an initial state before the deployment

 Process identifier(s) in the deployment automation tool to deploy with its arguments and component

 Version selections  Target environment properties and metadata in the deployment automation tool  Expected processes and process step results  Optional script to validate the system state after the deployment

The procedure for recording the test case follows:

2

1. User launches the deployment automation tool 2. User starts the recording operation in the deployment automation tool 3. Tool allows the user...