| (1)  和  各自活动的原有操作顺序保持不变; (2) 组合后变为内部接口; (3) 和  中与交互无关的活动,在保持原有操作序列的基础上任意组合。  的形式描述了两个简单运行序列之间组合的顺序关系,即要求  先于  运行。如图1中user的简单运行序列(start?,msg!,ok?)与comp的简单运行序列(msg?,send!,ack?,ok!)可组合,组合后的结果为:(start?,msg;,send!,ack?,ok;)。  和  的组合是指将集合中所有满足组合要求的简单运行序列进行组合,而得到新的简单运行序列集  。
 进行 和  的组装测试时,可将两个构件中包含  的简单运行全部找出来,通过二者的组合即可确定  和  的所有交互路径。因为循环的存在,测试交互的所有路径是不现实的,得到构件交互路径后,在实际测试时可以此为基础,再根据时间和资源等条件确定循环执行的次数,从而完成构件组装的测试。 构件组装一般可分为四种基本类型:顺序、选择、重复和并行,构件组装的一般模型如图2所示。图中给出两个构件组装时情况,多个构件组装时可以通过两两组装来实现。在图2中,假设系统 由构件  与  的组装实现,带箭头的实线1表示  直接调用的  中的操作,虚线2表示了  中需要  提供输入的操作,用  表示,类似的虚线3表示了  ,虚线4表示  直接调用的  操作。我们用  表示  和  的任意组装。 图2中,若线1,3,4为空,只有虚线2,就变成 的全部输出作为  输入时的情况,表示构件  与  的顺序组装;若线2,3为空,1,4之间的条件选择可实现构件  与  的选择组装;1,2,3,4都不为空则表示  与  是并行组装关系;重复组装可通过将一个构件的输出再作为其自身的输入来实现,图中未作说明。 从图1中可以看出,构件组装后系统 的功能一部分由  和  单独实现,另一部分则可要通过二者的交互合作完成。若  与  都已生成简单运行序列集  和  ,则图中线1部分的测试可通过对  中相关部分的测试来实现,线4部分的测试可由  中相关部分的测试来完成。虚线2表示  提供给  的输入,其测试可通过把  和  中与  相关的简单运行序列进行组合来实现,同样虚线3的测试可通过与  相关的简单运行序列组合来完成。由此,得到我们提出的构件集成测试方法。 。 3.3 CT-on-IP算法 对于构件 的某个接口  来说,  可分成与该接口相关和与该接口无关的两部分。 定义9 ( ):  中与接口  相关的测试用例集,即  中每一个操作序列都包含有接口  。 定义10 ( ):  =  -(  ),即  中与接口  无关的操作序列集合。 通过图2的分析可知,若构件 与  可组装,  表示了  中需要  提供输入的简单运行序列,  表示了  中可提供给  输入的简单运行序列,这两个集合的组合表示了与  相关的交互路径;同理,  与  的组合可测试与  相关的交互操作。因此,得到了我们提出的CT-on-IP方法,具体算法见附录二。  3/4   首页 上一页 1 2 3 4 下一页 尾页 |