移动应用程序测试集生成的综合实证评估
A Comprehensive Empirical Evaluation of Generating Test Suites for Mobile Applications with Diversity
摘要:
内容:在基于搜索的软件工程中,我们经常使用带有默认配置的流行算法,这通常会导致次优结果,或者我们在试错的基础上执行实验来识别配置,这可能会为特定问题带来更好的结果。我们考虑为移动应用程序(应用程序)生成测试套件的问题,并依赖于\Sapienz,这是一种最先进的方法,使用了流行的启发式(NSGA-II)与默认配置。目的:我们希望在使用\Sapienz生成测试套件时获得更好的结果,同时避免反复试验以确定更合适的\Sapienz配置。方法:我们对\Sapienz进行了适应度景观分析,以分析性地理解搜索问题,这使我们能够在开发\SapienzDiv时对\Sapienz的启发式和配置做出明智的决定。我们在34个应用程序上对\SapienzDiv与\Sapienz进行了全面评价。结果如下:通过分析\Sapienz的适应度,我们发现进化后的测试套件缺乏多样性,并且在25代之后搜索停滞。\SapienzDiv实现了保持正在演化的测试套件的多样性的机制。评估表明,\SapienzDiv在覆盖率和显示的故障数量方面比\Sapienz获得更好或至少相似的测试结果。但是,与\Sapienz相比,\SapienzDiv通常产生更长的测试序列,并且需要更多的执行时间。结论:通过适应度景观分析获得的搜索问题的理解,帮助我们找到一个更合适的配置\Sapienz没有试错实验。通过在搜索期间促进测试套件的多样性,可以实现在故障和覆盖方面改进的或至少类似的测试结果。
英文摘要:
Context: In search-based software engineering we often use popular heuristics with default configurations, which typically lead to suboptimal results, or we perform experiments to identify configurations on a trial-and-error basis, which may lead to better results for a specific problem. We consider the problem of generating test suites for mobile applications (apps) and rely on \Sapienz, a state-of-the-art approach to this problem that uses a popular heuristic (NSGA-II) with a default configuration. Objective: We want to achieve better results in generating test suites with \Sapienz while avoiding trial-and-error experiments to identify a more suitable configuration of \Sapienz. Method: We conducted a fitness landscape analysis of \Sapienz to analytically understand the search problem, which allowed us to make informed decisions about the heuristic and configuration of \Sapienz when developing \SapienzDiv. We comprehensively evaluated \SapienzDiv in a head-to-head comparison with \Sapienz on 34 apps. Results: Analyzing the fitness landscape of \Sapienz, we observed a lack of diversity of the evolved test suites and a stagnation of the search after 25 generations. \SapienzDiv realizes mechanisms that preserve the diversity of the test suites being evolved. The evaluation showed that \SapienzDiv achieves better or at least similar test results than \Sapienz concerning coverage and the number of revealed faults. However, \SapienzDiv typically produces longer test sequences and requires more execution time than \Sapienz. Conclusions: The understanding of the search problem obtained by the fitness landscape analysis helped us to find a more suitable configuration of \Sapienz without trial-and-error experiments. By promoting diversity of test suites during the search, improved or at least similar test results in terms of faults and coverage can be achieved.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。