首页> 外文学位 >Automatic Software Testing Via Mining Software Data.
【24h】

Automatic Software Testing Via Mining Software Data.

机译:通过挖掘软件数据进行自动软件测试。

获取原文
获取原文并翻译 | 示例

摘要

Software testing has been the primary way for assuring high quality of software systems. In software testing, testers need to design a set of test cases, including test inputs and expected outputs, to cover most of the code and find most bugs before releasing the software. It is challenging to generate such effective test cases manually for complex software systems nowadays. Automatic software testing reduces the laborious human effort in testing. However, the existing test input generation and test oracle generation techniques often require manually provided specifications, which may not be available.;In this thesis, we propose to mine specifications from various kinds of software data, such as the source code, the execution trace, and the existing outputs, to generate test inputs and to verify test outputs automatically.;First, we mine relevant APIs from source code to guide random unit-test generation. Given a method under test (MUT), a key component of object-oriented unit-test generation is to find method-call sequences that create and mutate desired inputs, including the receiver and the arguments. We present a MUT-aware sequence recommendation approach to improve the effectiveness of random object-oriented unit-test generation. Our approach mines relevant APIs for the MUT, i.e. methods that may mutate object fields accessed by the MUT, from the source code. It then recommends short sequences that contain some relevant APIs as the inputs of the MUT. In this way, our approach generates test inputs that have a high chance of exploring most behaviors of the MUT.;Second, we mine potential rules of control branches and variables from execution traces of unverified tests to select tests for result inspection. Our approach collects branch coverage and data value bounds at runtime, and then mines implication relationships between branches and constraints of data values as potential test oracles after running all the tests. Our approach then selects only tests that violate the mined test oracles for result inspection. Experimental results show that our approach can more effectively reduce the number of tests for result inspection while revealing most of the faults.;Third, we mine test oracles of Web search engines from existing inputs (Web queries) and outputs (search results). It is labor-intensive to judge the relevance of search results for a large number of queries, and these relevance judgments may not be reusable since the Web data change all the time. To address this problem, we propose to mine implicit relationships between queries and search results, e.g., some queries may have fixed top 1 result while some may not, and some Web domains may appear together in top 10 results. We define a set of properties of queries and search results, and mine frequent association rules between these properties as potential test oracles. Experiments on major search engines show that our approach mines many high confidence rules that help to understand search engines and detect suspicious search results.
机译:软件测试一直是确保软件系统高质量的主要方式。在软件测试中,测试人员需要设计一组测试用例,包括测试输入和预期输出,以覆盖大多数代码并找到大多数错误,然后再发布软件。如今,为复杂的软件系统手动生成如此有效的测试用例具有挑战性。自动软件测试减少了人工测试的工作量。但是,现有的测试输入生成和测试oracle生成技术通常需要手动提供的规范,而这些规范可能不可用。在本文中,我们建议从各种软件数据(例如源代码,执行跟踪)中挖掘规范。以及现有的输出,以自动生成测试输入并验证测试输出。首先,我们从源代码中挖掘相关的API,以指导随机单元测试的生成。在给定一种被测方法(MUT)的情况下,面向对象的单元测试生成的关键组成部分是查找方法调用序列,这些序列创建并变异所需的输入,包括接收器和参数。我们提出了一种MUT感知序列推荐方法,以提高随机面向对象的单元测试生成的有效性。我们的方法为MUT挖掘了相关的API,即可以从源代码中更改MUT访问的对象字段的方法。然后,它推荐包含一些相关API的短序列作为MUT的输入。这样,我们的方法生成的测试输入很有可能探索MUT的大多数行为。其次,我们从未经验证的测试的执行轨迹中挖掘控制分支的潜在规则和变量,以选择测试进行结果检查。我们的方法在运行时收集分支覆盖率和数据值范围,然后在运行所有测试后挖掘分支和数据值约束之间的隐含关系,作为潜在的测试预言。然后,我们的方法仅选择违反挖掘的测试预言的测试进行结果检查。实验结果表明,该方法可以在发现大多数故障的同时更有效地减少结果检查的测试次数。第三,我们从现有输入(Web查询)和输出(搜索结果)中挖掘Web搜索引擎的测试Oracle。判断大量查询的搜索结果的相关性很费力,并且这些相关性判断可能不可重用,因为Web数据一直在变化。为了解决此问题,我们建议挖掘查询和搜索结果之间的隐式关系,例如,某些查询可能具有固定的前1个结果,而有些查询可能没有固定的结果,而某些Web域可能一起出现在前10个结果中。我们定义了一组查询和搜索结果的属性,并将这些属性之间的频繁关联规则挖掘为潜在的测试预告片。在主要搜索引擎上进行的实验表明,我们的方法挖掘出许多高可信度规则,有助于理解搜索引擎并检测可疑的搜索结果。

著录项

  • 作者

    Zheng, Wujie.;

  • 作者单位

    The Chinese University of Hong Kong (Hong Kong).;

  • 授予单位 The Chinese University of Hong Kong (Hong Kong).;
  • 学科 Engineering System Science.;Computer Science.
  • 学位 Ph.D.
  • 年度 2011
  • 页码 156 p.
  • 总页数 156
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

  • 入库时间 2022-08-17 11:44:47

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号