Browse Prior Art Database

Elastic on-demand test prerequisite server-infrastructure provisioning

IP.com Disclosure Number: IPCOM000244714D
Publication Date: 2016-Jan-06
Document File: 5 page(s) / 101K

Publishing Venue

The IP.com Prior Art Database

Abstract

When testing software products there will typically be a number of integrated tests, which test real running installations of the software product. For software products capable of interaction with separate (perhaps 3rd party) systems, these systems would also need to be installed and configured. As these separate systems may require significant resources, they may be hosted on a separate server. Hard-coding the details of outside systems into tests is bad practice - multiple instances of the test running simultaneously may fail if interacting with the same system simultaneously, or the test may need to be run in a particular environment in order to access the separate system, or if the separate system breaks, or becomes inaccessible for some reason, the test can no longer be run. This article describes a system which allows tests to efficiently interact with cloud or on-premise server provisioning systems to provision server infrastructure required by integrated tests, and combines with existing test technologies to produce robust, repeatable, and independent integrated tests according to best practices.

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

Page 01 of 5

Elastic on

Elastic on- --demand test prerequisite server

demand test prerequisite server demand test prerequisite server- --infrastructure provisioning

infrastructure provisioning

Introduction

When testing software products one might employ a number of types of tests. These would include unit tests, which exercise small parts of the software code in isolation to confirm their function. Typically there will also be a number of integrated tests, which may frequently test some function in the context of a running system. The system would therefore need to be installed and configured before the test is run.

For software products capable of interaction with separate (perhaps 3rd party) systems, these systems would also need to be installed and configured. As these separate systems may require significant resources, they may be hosted on a separate server.

Hard-coding the details of outside systems into tests is bad practice - multiple instances of the test running simultaneously (as the software is developed by multiple individuals) may fail if interacting with the same system simultaneously, or the test may need to be run in a particular environment in order to access the separate system. Also if the separate system breaks, or becomes inaccessible for some reason, the test can no longer be run.

A system for provisioning test server

A system for provisioning test server-

--infrastructure on

infrastructure on

infrastructure on-

--demand

demand

This article describes a system that introduces the new Server VM Prerequisite (prereq) test module - which combines with existing test technologies to produce more robust integrated tests.

Operation

In this system a "Test runner" is configured to execute a series of integrated tests, which verify the function of a "Primary system under test". A subset of these tests verify function of the "Primary system under test" where there is a required interaction with a "Separate server".

The "Server VM Prereq module"(see Figure 1)is associated with this subset of tests.

1


Page 02 of 5

When the first of the tests associated with the "Server VM prereq module" is run, the process illustrated in Figure 2 is executed:

The module will request a matching server VM be provisioned by the "VM server provisioning tool".

When the "Separate server" provisioning is complete, the "VM server-provisi...