(l)类内MM路径。类内MM路径的作用域范围仅限于一个类的内部,它反映一个类内部方法之间的交互关系。由于类内具有高聚合性,这种MM路径往往路径较短,但出现频度较大。同时,它也是构成类间MM路径的必要组成部分。如图2中,MM路径①仅涉及到对象objecf1内部的方法meth1和meth3,因而它是一条类内MM路径。
(2)类间MM路径。类间MM路径的作用域范围涵盖了相互协作的多个类,它反映多个类之间的方法交互关系。由于类间具有低祸合性,除了继承和多态的影响以外,类间MM路径主要是server-client关系的交互引起的。这种MM路径往往路径较长,但出现频度较小。一条类间MM路径可能包含一条或多条类内MM路径。如图2所示,MM路径②是一条类间MM路径,它涉及到相互协作的三个对象之间的方法交互,包含了对象object2的方法meth2调用对象object2的方法meth3这条子路径,而这条子路径实际上是一条类内MM路径。
3.1.3从MM路径的组成结构进行分类
面向对象系统中的MM路径是由消息连接起来的方法执行序列。从实质上说,它表示的是以消息为分割点的各种方法执行序列,其中,伴随在消息之后的方法执行序列,可以看成是消息激励下的响应。这在一定意义上,充分体现了面向对象系统中消息传递触发方法执行的特点,同时也清晰地反映了面向对象系统中的激励响应情况。因此,从MM路径的组成结构出发,将MM路径分为以下两种:
(l)原子MM路径。原子MM路径,定义为一个类在某个状态下对某一消息的响应方法序列,即“消息i一方法序列i”这样一个形式。原子MM路径是最简单的MM路径的情形。对于同一个消息,由于状态不同可能导致不同响应方法序列,因此,就可能有多条原子MM路径。 基于MM路径的集成测试用例生成技术研究(5):http://www.751com.cn/jisuanji/lunwen_9601.html