(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 下一页 尾页 |