...
首页> 外文期刊>ACM transactions on software engineering and methodology >Handling SQL Databases in Automated System Test Generation
【24h】

Handling SQL Databases in Automated System Test Generation

机译:处理自动系统测试生成中的SQL数据库

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

摘要

Automated system test generation for web/enterprise systems requires either a sequence of actions on a GUI (e.g., clicking on HTML links and form buttons) or direct HTTP calls when dealing with web services (e.g., REST and SOAP). When doing -white-box testing of such systems, their code can be analyzed, and the same type of heuristics (e.g., the branch distance) used in search-based unit testing can be employed to improve performance. However, web/enterprise systems do often interact with a database. To obtain higher coverage and find new faults, the state of the databases needs to be taken into account when generating white-box tests. In this work, we present a novel heuristic to enhance search-based software testing of web/enterprise systems, which takes into account the state of the accessed databases. Furthermore, we enable the generation of SQL data directly from the test cases. This is useful when it is too difficult or time consuming to generate the right sequence of events to put the database in the right state. Also, it is useful when dealing with databases that are "read-only" for the system under test, and the actual data are generated by other services. We implemented our technique as an extension of EvoMaster, where system tests are generated in the JUnit format. Experiments on six RESTful APIs (five open-source and one industrial) show that our novel techniques improve coverage significantly (up to +16.5%), finding seven new faults in those systems.
机译:用于Web / Enterprise Systems的自动系统测试生成需要在GUI上进行一系列操作(例如,单击HTML链接和表格按钮)或在处理Web服务时直接HTTP调用(例如,休息和肥皂)。在进行此类系统的白色框测试时,可以采用它们的代码,并且可以采用在搜索的单元测试中使用的相同类型的启发式(例如,分支距离)来提高性能。但是,Web / Enterprise Systems经常与数据库进行交互。为了获得更高的覆盖并找到新故障,在生成白盒测试时需要考虑数据库的状态。在这项工作中,我们提出了一种新的启发式,可以增强基于Web /企业系统的搜索软件测试,这考虑了所访问的数据库的状态。此外,我们可以直接从测试用例中生成SQL数据。当太困难或耗时时,这非常有用,以生成正确的事件序列以将数据库放在正确的状态下。此外,当处理被测系统的“只读”的数据库时,它很有用,并且实际数据由其他服务生成。我们以Evomaster的扩展实施了我们的技术,其中系统测试是在JUnit格式中生成的。六个休闲API的实验(五个开放来源和一个工业)表明,我们的新技术可显着提高覆盖率(高达+ 16.5%),在这些系统中找到七个新故障。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号