软件组件测试功能集成与COTS项目类型解析
1. 基于状态的合约测试与BIT/J库概述
基于状态的合约测试是一种重要的测试方式。存在一个名为基于状态的BIT可测试性合约的扩展接口,通过它可以将BIT组件进行关联。在Java中,类和接口之间的“实现”关系通过带虚线的白色箭头表示。这种运行内置合约测试的方式更具强制性,因为被测试的COTS组件需要一个状态机。不过,并非所有组件都天然具备这样的规范,有时需要进行一些重构工作,从现有组件中提取行为规范。
BIT/J库是实现测试的重要工具。其完整架构如图所示,内置测试可以通过三个主要元素来简单实现,分别是BIT可测试性合约、BIT测试用例和BIT测试器。在这种情况下,BIT主要处理计算结果、执行环境和故障的评估。而在更复杂的情况下,则需要三个面向状态的等效工具,即基于状态的BIT可测试性合约、基于状态的BIT测试用例和基于状态的BIT测试器。这三个工具使用了Harel的状态图形式化方法,同时会复用一个底层子库(“Statecharts”包)。BIT状态和BIT状态监视器是该子库的上下文特定专业化形式,用于与基于状态的BIT可测试性合约、基于状态的BIT测试用例和基于状态的BIT测试器建立连接。
2. 可编程恒温器组件的测试实现
为了展示上述概念的适用性,以可编程恒温器组件为例进行说明。该组件接口的操作由客户端请求,这些操作隐藏了组件内部的细节。传统测试通常局限于激活操作,而要评估部署合规性,就需要了解中间隐藏的结果、状态和可能的故障。
可编程恒温器组件的BIT实现分为四个阶段:
- 步骤1:将BIT部分与原始组件关联
- 有两种主要方式:一
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



