34、Vidock:面向切面编织对测试用例影响分析的利器

Vidock:面向切面编织对测试用例影响分析的利器

1. 方法调用影响示例

在某些情况下,切面会影响方法的调用。例如,在一个示例中, Open.close 方法受到 Reserve 切面的影响,且该方法在测试用例中实际执行,那么这个测试用例就会受到影响。但如果切面影响的是 Pending.close 而非 Open.close ,测试用例虽会被检测为受影响,但实际并未受到影响。

2. 假设验证

此分析基于三个假设,为验证这些假设对分析的影响,对 46 个开源面向切面项目展开了研究。项目的选择标准如下:
1. 用 Java/AspectJ 实现。
2. 项目源代码公开可用。
3. 能用 AspectJ 编译器 1.5 版本编译。
4. 项目至少有 10 个类和 1 个切面。

最终收集到规模从 10 到 913 个类、1 到 64 个切面的 46 个开源面向切面项目。

2.1 假设 1:项目编译

假设面向切面项目可在无切面的情况下编译。通过禁用每个项目的 AspectJ 功能并重新编译,结果显示 46 个项目中有 30 个可在无切面时编译,占比 65%。这表明多数项目能用相关工具进行分析,且可编译项目中有相当一部分是大中型项目(代码行数在 3000 到 80900 之间)。

2.2 假设 2:低方法重写频率

假设方法重写的频率通常较低。使用 Metrics 1 eclipse 插件分析项目中的 Java 源文件,结果

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值