Recovery of Machine State during Installation Test
Original Publication Date: 2001-Feb-01
Included in the Prior Art Database: 2003-Jun-19
During software testing, it is necessary to test that a program installs correctly. This requires installation testing of the states that the installation program can enter. Separately, technology exists to allow a complete image of a hard drive to be captured. This is used in installation of multiple machines, such as a network of computers used in a classroom environment in preparation for a particular course. The execution of the installation program for a suite of products can have many states which need to be tested. It is possible to drive the installation tests from the beginning (of the suite install) each time, but this can be very time consuming compared to being able to test a particular phase of the install test in isolation. Furthermore, errors in the installation program or any of its subsidiary programs that are exposed during install testing can lead to a machine being left in an invalid state from which it is impossible to return to the last known valid state, without reinstalling the machine from "scratch", which is another time consuming activity. The same technology that can be used to capture drive images discussed in the Background above can be used to generate a "stack" of install images which capture the various states of a machine during overall solution installation. After each successful phase of the installation testing, a drive image is captured and stored on a test server and is associated with the set of testcases which led to that state. If a subsequent testcase encounters an error in the installation program, then the failure can be reproduced by popping the top image off the stack and re-running the testcases that followed its generation. Furthermore, after the defect has been fixed, it can be re-tested by once again restoring the corresponding image and re-running the testcases that led to the original detection of the defect. Effectively, the use of the image stack allows an install test to be rolled back.