Exploring the use of work-hungry agents to optimise automated testing
Abstract
Current automated software testing is time consuming as the tests becomes more extensive. The requirement of a dedicated software infrastructure introduces waste of resources as the server stays dormant during times of no testing. Academic research does not consider the needs of practitioners in this area. This result in practitioners implementing their own solutions for software testing that does not follow research. This thesis challenges software test optimisation practises by going into a new direction; by creating a model that would divide a test into smaller tests which is then distributed among several computers for processing.
The resulting model is evaluated to explore how this model effects automated software testing and how it compares to a dedicated testing infrastructure. A simulation framework is created to expose the model and different testing infrastructures for scenarios that represents incoming tests and behaviour of workers and infrastructure. Analysis from the results of the simulation suggests that testing infrastructure would perform well during low frequency of testing and a short duration of test time. The resulting model have a higher percentage of utilisation compared to infrastructures, but is vulnerable for increasing the wait time for tests when the demand for available workers is not met. Data suggest that an implementation of the model as a cloud service would be more cost efficient than local infrastructure.