发明名称 基础软件平台应用程序接口集成测试覆盖分析方法
摘要 本发明提供了一种基础软件平台应用程序接口集成测试覆盖分析方法,用来评估基础软件平台集成测试用例集对基础软件应用程序接口、接口间交互的覆盖程度。方法结合采用静态分析和动态分析技术,首先采用静态分析技术获得基础软件平台集成应用系统的结构信息,并表示为静态接口方法调用序列图S-IMAD,然后在集成测试用例集执行过程中,通过动态分析技术获得基础软件平台应用程序接口、接口间,以及与其它构件接口间的交互信息,并表示为动态接口方法调用序列图D-IMAD,最后基于S-IMAD和D-IMAD,根据覆盖率分析评估集成测试集对基础软件平台应用程序接口和接口交互的覆盖情况。
申请公布号 CN101645037A 申请公布日期 2010.02.10
申请号 CN200910169979.4 申请日期 2009.09.11
申请人 兰雨晴 发明人 兰雨晴;高静
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京汇智英财专利代理事务所 代理人 苗 凌
主权项 1.一种基础软件平台应用程序接口集成测试覆盖分析方法,用于评估基础软件平台集成测试用例集对基础软件平台应用程序接口和接口间交互的覆盖情况,其特征在于该方法包含以下步骤:(1)采用已有静态分析技术,对基础软件平台集成应用系统进行分析,构建静态接口方法调用序列图S-IMAD;静态接口方法调用序列图S-IMAD表示基础软件应用程序接口可能的基于API的方法调用序列,且方法调用序列细化为基础软件应用程序接口的方法间调用序列,以及在应用系统上下文中,基础软件应用程序接口方法与应用系统中其它构件接口方法间的调用序列两部分;(2)在集成测试用例集的执行过程中,通过动态分析技术获得基础软件应用程序接口方法间,以及基础软件应用程序接口方法与应用系统中其它构件接口方法间的调用序列,并构建动态接口方法调用序列图D-IMAD;动态接口方法调用序列图D-IMAD为S-IMAD的实例,描述了在集成测试用例集执行过程中,基础软件应用程序接口的方法调用序列,以及测试用例与方法调用序列间的关系;(3)基于S-IMAD和D-IMAD,根据结点、转移边和路径覆盖率评估测试集对基础软件应用程序接口和接口间交互的覆盖情况;其中所述的静态接口方法调用序列图S-IMAD表示为:对于构件C的每一个应用程序接口I<sub>k</sub>,有一个静态接口方法调用序列图S-IMAD;S-IMAD为一个有向图,S-IMAD表示为一个二元组G=(F,E),其中F是结点的集合,结点代表构件C的接口I<sub>k</sub>的公有可访问方法以及在应用系统上下文环境中与I<sub>k</sub>具有交互关系的构件接口的公有可访问方法,任意结点F<sub>i</sub>的描述包含如下内容:方法所属构件的名称,方法所属构件接口的名称以及方法的名称;E是边的集合,边E<sub>i</sub>=(F<sub>i</sub>,F<sub>j</sub>)表示访问F<sub>i</sub>之后访问F<sub>j</sub>,代表方法调用序列F<sub>i</sub>→F<sub>j</sub>;有两种类型的边,条件边和无条件边;条件边有一个谓词条件,表示对方法访问序列F<sub>i</sub>→F<sub>j</sub>的约束;所述动态接口方法调用序列图D-IMAD表示为:对于构件C的每个应用程序接口I<sub>k</sub>,建立若干动态接口方法调用序列图D-IMAD,每个D-IMAD表示执行一个给定的集成测试用例集T后,构件C的接口I<sub>k</sub>的方法调用序列集,以及测试用例与方法调用序列间的关系;D-IMAD为一个有向图,D-IMAD表示为一个二元组G=(F,E),其中F是结点的集合,结点代表构件C的接口I<sub>k</sub>的公有可访问方法以及在应用系统上下文环境中与构件C接口I<sub>k</sub>具有交互关系的构件接口的公有可访问方法,任意结点F<sub>i</sub>的描述包含如下内容:方法所属构件的名称,方法所属构件接口的名称以及方法的名称;E是边的集合,边<maths num="0001"><![CDATA[<math><mrow><msub><mi>E</mi><mi>i</mi></msub><mo>=</mo><mrow><mo>(</mo><msub><mi>F</mi><mi>i</mi></msub><mo>,</mo><msub><mi>F</mi><mi>j</mi></msub><mo>,</mo><msub><mi>T</mi><msub><mi>t</mi><mi>n</mi></msub></msub><mo>)</mo></mrow></mrow></math>]]></maths>表示执行测试集T中的测试用例t<sub>n</sub>后,方法的调用顺序为访问F<sub>i</sub>之后访问F<sub>j</sub>,代表方法调用序列F<sub>i</sub>→F<sub>j</sub>。
地址 100084北京市海淀区圆明园东门褐石园小区15号楼2单元205室