当前位置: X-MOL 学术Softw. Test. Verif. Reliab. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Performance mutation testing
Software Testing, Verification and Reliability ( IF 1.5 ) Pub Date : 2020-01-29 , DOI: 10.1002/stvr.1728
Pedro Delgado‐Pérez 1 , Ana Belén Sánchez 2 , Sergio Segura 2 , Inmaculada Medina‐Bulo 1
Affiliation  

Performance bugs are known to be a major threat to the success of software products. Performance tests aim to detect performance bugs by executing the program through test cases and checking whether it exhibits a noticeable performance degradation. The principles of mutation testing, a well-established testing technique for the assessment of test suites through the injection of artificial faults, could be exploited to evaluate and improve the detection power of performance tests. However, the application of mutation testing to assess performance tests, henceforth called performance mutation testing (PMT), is a novel research topic with numerous open challenges. In previous papers, we identified some key challenges related to PMT. In this work, we go a step further and explore the feasibility of applying PMT at the source-code level in general-purpose languages. To do so, we revisit concepts associated with classical mutation testing and design seven novel mutation operators to model known bug-inducing patterns. As a proof of concept, we applied traditional mutation operators as well as performance mutation operators to open-source C++ programs. The results reveal the potential of the new performance-mutants to help assess and enhance performance tests when compared with traditional mutants. A review of live mutants in these programs suggests that they can induce the design of special test inputs. In addition to these promising results, our work brings a whole new set of challenges related to PMT, which will hopefully serve as a starting point for new contributions in the area.

中文翻译:

性能突变测试

众所周知,性能错误是软件产品成功的主要威胁。性能测试旨在通过​​测试用例执行程序并检查它是否表现出明显的性能下降来检测性能错误。突变测试的原理是一种成熟的测试技术,用于通过注入人为错误来评估测试套件,可用于评估和提高性能测试的检测能力。然而,应用变异测试来评估性能测试,以下称为性能变异测试(PMT),是一个新的研究课题,具有许多开放的挑战。在之前的论文中,我们确定了一些与 PMT 相关的关键挑战。在这项工作中,我们更进一步,探索在通用语言的源代码级别应用 PMT 的可行性。为此,我们重新审视了与经典突变测试相关的概念,并设计了七个新的突变算子来模拟已知的错误诱导模式。作为概念证明,我们将传统变异算子和性能变异算子应用于开源 C++ 程序。结果揭示了与传统突变体相比,新的性能突变体在帮助评估和增强性能测试方面的潜力。对这些程序中活突变体的回顾表明,它们可以诱导特殊测试输入的设计。除了这些有希望的结果,
更新日期:2020-01-29
down
wechat
bug