34、基于可视化契约的测试:模型覆盖率分析

基于可视化契约的测试:模型覆盖率分析

1. 引言

传统上,我们依靠覆盖率标准来评估测试套件的质量,这些标准衡量测试所执行的特定类型特征(如语句、分支、数据或调用依赖等)的比例。然而,面向服务或基于组件的系统测试面临新挑战,因为代码不可用且应用程序具有分布式特性。传统用于评估测试套件的结构覆盖率标准需要访问代码,因此我们考虑基于可视化契约的接口规范的模型覆盖率标准。

可视化契约被形式化为图转换规则,用于分析潜在的依赖关系和冲突,并导出依赖图以定义覆盖率标准。在执行测试时,使用AGG工具模拟模型,同时观察和记录冲突与依赖关系,这样可以查看静态检测到的潜在依赖和冲突在运行时是否被执行。为了评估效果,我们将基于模型的覆盖率标准与传统的结构覆盖率标准进行比较。

2. 可视化契约

可视化契约是一对对象图,用于指定操作的前置和后置条件,形式上是带有操作签名的图转换规则。签名区分输入/输出和输出参数,其中输出参数(用“out”表示)在调用时不进行实例化,类似于面向对象的返回类型。

我们以一个从C#桌面应用程序派生的Bug Tracker服务为例。该应用程序提供了添加、更新和删除项目、用户、故障和问题等操作,并区分了管理员、用户和测试人员等角色。部分服务操作的签名示例如下:

public Int32 addProject(String title, String description)
public String updateProject(Int32 pId, String new_t, String new_d)
public String deleteProj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值