Software performance testing requires a set of inputs that exercise different sections of the code to identify performance issues. However, running tests on a large set of inputs can be a very time-consuming process. It is even more problematic when test inputs are constantly growing, which is the case with a large-scale scientific organization such as CERN where the process of performing scientific experiment generates plethora of data that is analyzed by physicists leading to new scientific discoveries. Therefore, in this article, we present a test input minimization approach based on a clustering technique to handle the issue of testing on growing data. Furthermore, we use clustering information to propose an approach that recommends the tester to decide when to run the complete test suite for performance testing. To demonstrate the efficacy of our approach, we applied it to two different code updates of a web service which is used at CERN and we found that the recommendation for performance test initiation made by our approach for an update with bottleneck is valid.
翻译:软件性能测试需要一系列投入,对代码的不同部分进行测试,以确定性能问题。然而,对大量投入进行测试可能是一个非常耗时的过程。当测试投入不断增长时,这甚至更成问题,例如欧洲核子研究中心等大型科学组织的情况就是如此,进行科学实验的过程产生大量数据,物理学家对这些数据进行分析,从而得出新的科学发现。因此,在本篇文章中,我们提出了一个测试投入最小化方法,其依据是集群技术,处理对不断增长的数据进行测试的问题。此外,我们使用分组信息来建议一种方法,建议测试者决定何时运行完整的性能测试套件。为了展示我们的方法的有效性,我们将其应用到欧洲核子核子研究中心使用的一个网络服务的两个不同的代码更新中。我们发现,我们用瓶更新的方法提出的性能测试启动建议是有效的。