首页> 外文会议>IFIP WG 6.1 International Conference on Testing Software and Systems >Using Robustness Testing to Handle Incomplete Verification Results When Combining Verification and Testing Techniques
【24h】

Using Robustness Testing to Handle Incomplete Verification Results When Combining Verification and Testing Techniques

机译:在结合验证和测试技术时,使用稳健性测试来处理不完整的验证结果

获取原文

摘要

Modular verification and dynamic testing techniques are often combined to validate complex software systems. Formal verification is used to cover all input spaces and program paths. However, due to the high complexity of modern software systems, they might not achieve complete verification results. Dynamic testing techniques can easily be applied to any type of software. Current approaches use them to handle incomplete verification results by validating unverified sections. This way of combining verification and testing ignores the fact that tests can only be used to show the presence of errors, but not their absence. Undis-covered errors pose the risk to trigger further errors in vulnerable code sections. Vulnerable sections are modularly verified, but depend on the guarantees of the tested code. We include robustness testing to analyse the influence of undiscovered errors. The generated robustness tests simulate failed guarantees within the tested code. The triggered response to those simulated errors helps the developer in adding additional error handling code. This makes the system more robust against undiscovered errors and guards it against uncontrolled crashes and unexpected behaviour in case of software failures. In the second part of this paper, we introduce a reference-architecture to generate and apply robustness tests. This architecture has been applied to multiple case studies and helped to identify potential errors yet undiscovered by generated test cases.
机译:模块化验证和动态测试技术通常组合以验证复杂的软件系统。正式验证用于涵盖所有输入空间和程序路径。但是,由于现代软件系统的高复杂性,它们可能无法实现完整的验证结果。动态测试技术可以很容易地应用于任何类型的软件。目前的方法使用它们来通过验证的部分来处理不完整的验证结果。这种结合验证和测试的方式忽略了测试只能用于显示错误的事实,但不是它们的缺席。 UNDIS-覆盖的错误构成触发易受攻击的代码部分中的进一步错误的风险。易受攻击的部分是模块化的验证,但取决于测试代码的保证。我们包括稳健性测试,以分析未被发现的错误的影响。生成的稳健性测试模拟了测试代码内的失败保证。对这些模拟错误的触发响应有助于开发人员添加其他错误处理代码。这使得系统对未被发现的错误更加强大,并在软件故障情况下防止不受控制的崩溃和意外行为。在本文的第二部分中,我们介绍了一个参考架构来生成并施加稳健性测试。该架构已应用于多种案例研究,并帮助识别生成的测试用例尚未发现的潜在错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号