admin 管理员组

文章数量: 1184232

灰盒行为的黑盒测试与谓词检测算法研究

在软件开发中,测试是确保软件质量的关键环节。对于灰盒行为的测试以及分布式程序中谓词检测的问题,有着重要的研究价值。

灰盒行为测试面临的问题与解决方案

在软件测试中,存在两个关键问题促使我们采用特定的测试方法。一是当测试实现特定方法时,需要依据灰盒规范进行测试;二是应用开发者常使用商用现货(COTS)组件构建系统,在测试这些组件时往往无法获取其源代码。我们所开发的方法能够有效应对这两个问题。

目前,我们在测试中忽略了抽象,直接处理被测类的数据成员。不过,有研究提出了一种可基于被测类概念模型的规范进行工作的测试系统,虽然它未考虑灰盒规范,但我们认为其方法可扩展以处理灰盒行为,后续计划对此展开探索。

生成合适的测试用例以实现合理覆盖是一个严峻的问题。我们的原型系统依赖人工测试人员提供测试用例。而 TestEra 系统采用了一种有趣的测试用例生成方法,它允许使用一阶关系语言定义对象必须满足的复杂属性,能根据规范自动生成满足前置条件的实例。不过,TestEra 处理的是黑盒规范,我们计划研究类似方法是否适用于灰盒规范。

另一个重要问题是,当应用于包含复杂对象的系统时,测试方法的可扩展性。当前原型在用户未提供时会尝试生成合适的 clone() 方法来保存对象状态,但复杂对象和长跟踪可能导致测试时内存需求过高。解决此问题的方法包括仅保存规范中提及的值和对象引用,以及只存储对象在执行过程中的特定更改信息。

分布式程序中的谓词检测

在分布式计算中,谓词检测是一个基本问题,它在分布式程序的测试和调试等诸多场景中都有重要应用。Cooper 和 Marzullo 引入了 possib

本文标签: 谓词 算法 测试