1、定义 这种方法由Paul C. Jorgensen提出,MM路径法是英文Message-Method的简称 MM路径可以用于描述单元之间的控制转移。,基于MM路径的集成,下图展示了一条基于调用关系的单元A,B和C的MM路径,基于MM路径的集成,1,2,3,4,5,6,1,2,3,4,1,2,3,4,5,A,B,C,一条MM路径,相关概念 源节点:程序执行开始时或重新开始处的语句片断。 可能是单元中的第一个可执行语句或者是紧接着转移控制到其它单元节点之后的节点 汇节点:程序执结束处的语句片断。 可能是单元中的最后一个可执行语句或者转移控制到其它单元的节点。 模块执行路径:以源节点开始,以汇节点结
2、束的一系列语句,中间没有插入汇节点,基于MM路径的集成,基于MM路径的集成,1,2,3,4,5,6,1,2,3,4,1,2,3,4,5,A,B,C,A的模块执行路径: MEP(A,1) = MEP(A,2) = MEP(A,3) = B的模块执行路径:MEP(B,1) = MEP(B,2) = C的模块执行路径 :MEP(C,1) = MEP(C,2) = ,源节点:A模块:节点1,5;B模块:节点1,3;C模块:节点1汇节点:A模块:节点4,6;B模块:点2,4;C模块:节点5,相关概念 消息:一种程序设计语言机制,通过这种机制一个单元将控制转移给另一个单元。 不同的程序设计语言消息的含义可
3、能不同,可能是函数调用,也可能是消息接收。 MM-路径是穿插出现模块执行路径和消息的序列,是描述包含在单独单元之间控制转移的模块执行路径序列。,基于MM路径的集成,MEP(a,2),MEP(b,1),MEP(c,1),MEP(b,2),MEP(a,3),应用 基于系统中的调用关系、或者对象之间协作图、顺序图等建模信息和代码标识系统的MM-路径。 最低要求所有消息均被覆盖至少一次。 难点 MM-路径的标识,基于MM路径的集成,基于MM路径的集成举例,功能说明 这是一个简单的含有5个类的程序,有class student、class employee、 class manager、class sc
4、ientist和class laborer。模拟了配件公司的雇员数据库,对其进行了一些简化,因此只需要表示三类雇员( class employee ):进行管理的经理(class manager) ,研究和开发更好配件的科研人员(class scientis)和进行危险的冲压配件操作的工人(class laborer)。同时我们要记录一些员工的教育经历,在创造一个学生类(class student). 类的说明 数据库存储所有雇员的名称和雇员身份号,不管他们是隶属于哪个部门;对于经理还要存储他们的头衔和高尔夫球俱乐部的会费;对于科研人员还要存储他们发表的学术文章的数量;除了名称与号码以为,公认不需要存储其他的附加数据,而学生中存储了毕业学校的名称和学历程度。,基于MM路径的集成举例,程序的作用 本程序主要作用是输入员工的信息并打印出来。 程序源代码 文件名:main.cpp,文件名:staff.cpp,本程序只有唯一的MM路径如下图所示,调用消息路径:,小结,集成测试是评估单元间交互的测试过程 常用的集成策略包括 大爆炸 自顶而下 自底而上 三明治集成 基于MM-路径的集成,