JavaZone 2010 - Giving functional tests what they want: test system allocation on an as-needed basis.
In embedded systems testing, hardware and time are the scarcest resources. At TANDBERG, we have more software configurations we wish to test than we have hardware for. To make matters worse, some of the test configurations requires specific hardware options. To solve this, we've developed an extension to TestNG where each test specifies what resources it requires to run.
In this session we describe how we've implemented a resource pool which allocates test resources as specified by the tests. Each test can specify a number of systems based on properties like system type, hardware options or software version, and those systems will not be allocated to any other for as long as the test is running. Before the systems are entered into the pool they can be automatically configured, and they are reset between between test runs to ensure that the ordering of tests doesn't influence the result. The resource pool itself are written to be as general as possible, so that it should be easy to change storage backends or even to use it for projects outside of TANDBERG's development department.
Haakon Gjersvik Eriksen
Haakon Gjersvik Eriksen works a software developer at TANDBERG. Most of his current job revolves around GUI programming and test development in Java. In a previous life he was a grumpy old Unix sysadmin.
