首页> 外文会议>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 axe 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. Undiscovered 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.
机译:模块化验证和动态测试技术通常结合使用来验证复杂的软件系统。形式验证用于覆盖所有输入空间和程序路径。但是,由于现代软件系统的高度复杂性,它们可能无法获得完整的验证结果。动态测试技术可以轻松地应用于任何类型的软件。当前的方法使用它们通过验证未验证的部分来处理不完整的验证结果。这种将验证和测试结合起来的方法忽略了以下事实:测试只能用于显示错误的存在,而不能显示错误的存在。未发现的错误带来了在易受攻击的代码段中引发进一步错误的风险。易受攻击的部分经过模块化验证,但取决于测试代码的保证。我们包括健壮性测试,以分析未发现错误的影响。生成的健壮性测试在测试的代码中模拟了失败的保证。对这些模拟错误的触发响应有助于开发人员添加其他错误处理代码。这使系统对未发现的错误更加健壮,并在发生软件故障的情况下防止不受控制的崩溃和意外行为。在本文的第二部分,我们介绍了一种参考体系结构,用于生成和应用鲁棒性测试。该体系结构已应用于多个案例研究,并帮助识别了尚未被生成的测试案例发现的潜在错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号