一种用于构件化软件的集成测试方法与流程

文档序号:15144004发布日期:2018-08-10 20:13阅读:298来源:国知局

本发明属于软件开发技术领域,特别是涉及一种用于构件化软件的集成测试方法。



背景技术:

随着软件工程的不断发展,软件规模越来越大,软件的复杂性也不断增加,随着网络的高速发展和对软件本身越来越高的要求,从而增加了软件开发的困难;因此基于构件化的软件开发应运而生,并迅速成为主流技术;构件开发技术缩短了软件开发周期,提高了系统的性能,同时也带来了安全隐患,影响了整个系统的可靠性,当不同种类的构件集成到构件化的软件系统时,由于不同构件所遵循的开发标准不同,以及构件集成环境不同的原因,使构件功能的正确性无法得到保障,甚至会出现交互性错误,因而在各种构件被集成到一起时必须对系统进行有效的集成测试,才能保证构件系统的可靠性和安全性。

由于构件本身所具有的特性,也使得构件和构件系统的测试面临着诸多问题,基于面向对象的软件测试方法已不适用与构件化的软件测试,目前国内基于构件的软件测试技术主要包括:构件单元测试、构件回归测试、构件安全性测试、网络构件测试、构件集成测试;构件化软件测试的问题实质为构件集成测试,但是构件的使用人员一般无法从开发方获得构件的源代码,由于构件的这种封装性和信息匮乏,给构件的集成测试带来了很大的困难,因此分析构件之间的依赖关系,并以此为基础研究构件集成测试方法对于保障构件系统的稳定性和安全性具有十分重要的意义。



技术实现要素:

本发明的目的在于提供针对net构件的软件集成测试方法,通过分析构件间的依赖关系,提出了构件依赖矩阵的模型和计算测试序列距离的概念,并以次为基础,得出了一种基于依赖的测试序列生成的算法,该算法以构件依赖矩阵为输入,计算所有候选序列与上一个测试序列的距离,并选取最大距离的作为新的测试序列;基于依赖的构件集成测试方法具有更强的发现错误的能力,同时也具有更好的有效性,从而能更好的保证系统的稳定性和安全性。

为解决上述技术问题,本发明是通过以下技术方案实现的:

本发明为一种用于构件化软件的集成测试方法,包括如下步骤:

步骤一:接口分析,对待测的各个构件进行分析,提取需要的类型信息;

步骤二:设置测试参数,设置测试序列的个数和构件依赖矩阵文件路径;

步骤三:读取接口信息,从接口分析提取的类型信息文件读取构件的各种接口信息和通过构件依赖矩阵文件路径将构件依赖矩阵文件中的内容读入内存保存;

步骤四:基于依赖的构件集成测试,使用基于依赖的测试序列生成算法,生成对应的测试序列,当生成的测试序列个数与设置的序列个数一致时停止生成序列,输出测试结果。

进一步地,所述步骤一接口分析提取的类型信息包括构件名称、命名空间名称、类名称、方法名称、参数名称、参数类型和返回类型。

进一步地,所述步骤二中构件依赖矩阵文件为描述待测的各个构件间依赖关系的数据结构,所述构件依赖矩阵(简称cdm)包括:构件接口依赖邻接矩阵(简称idam)、构件数据依赖邻接矩阵(简称ddam)、构件间接接口依赖矩阵(简称iidm)和构件数据间接依赖矩阵(简称iddm)。

进一步地,所述步骤四中基于依赖的测试序列生成算法包括计算测试序列的距离过分析构件间的依赖关系,提出了构件依赖矩阵的模型和计算测试序列距离的概率。

进一步地,所述测试序列的距离为两个测试序列间的编辑距离。

本发明具有以下有益效果:

1、本发明通过分析构件间的依赖关系,得出构件依赖矩阵,更形式化的描述构件间所有直接或间接的依赖关系,并可以通过数据结构来表示。

2、本发明通过构件依赖矩阵和测试序列距离为基础生成基于依赖的测试序列,更充分的说明了构件间的依赖和交互关系,同时基于依赖的构件集成测试方法具有更强的发现错误的能力,同时也具有更好的有效性。

当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种用于构件化软件的集成测试方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1所示,本发明为一种用于构件化软件的集成测试方法的一个具体应用为:

一种用于构件化软件的集成测试方法,包括如下步骤:

步骤一:接口分析,对待测的各个构件进行分析,提取构件名称、命名空间名称、类名称、方法名称、参数名称、参数类型和返回类型;

步骤二:设置测试参数,设置测试序列的个数和构件依赖矩阵文件路径;

步骤三:读取接口信息,从接口分析提取的类型信息文件读取构件的各种接口信息和通过构件依赖矩阵文件路径将构件依赖矩阵文件中的内容读入内存保存;

步骤四:基于依赖的构件集成测试,使用基于依赖的测试序列生成算法,生成对应的测试序列,当生成的测试序列个数与设置的序列个数一致时停止生成序列,输出测试结果。

其中,步骤二中构件依赖矩阵文件为描述待测的各个构件间依赖关系的数据结构,构件依赖矩阵(简称cdm)包括:构件接口依赖邻接矩阵(简称idam)、构件数据依赖邻接矩阵(简称ddam)、构件间接接口依赖矩阵(简称iidm)和构件数据间接依赖矩阵(简称iddm)。

其中,构件依赖矩阵(简称cdm)定义为:假设构件系统中有n个构件:c1,c2…cn,其中ci和cj(1≤i,j≤n)是该系统中的两个构件,则idij表示idam中第i行j列元素,表示ci和cj之间直接接口依赖关系的值;ddij表示ddam中第i行j列元素,表示ci和cj之间直接接口依赖关系的值;id’ij表示iidm中第i行j列元素,表示ci和cj之间直接接口依赖关系的值;dd’ij表示iddm中第i行j列元素,表示ci和cj之间直接接口依赖关系的值;根据依赖关系设定权重为λid>λid’,λdd>λdd’且λid+λid’+λdd+λdd’=1;则ci和cj之间的依赖度为dij=λididij+λid’id’ij+λddddij+λdd’dd’ij,所以构件依赖矩阵(简称cdm)为cdm=λididam+λid’iidm+λddddam+λdd’iddm。

其中,步骤四中基于依赖的测试序列生成算法包括计算测试序列的距离;测试序列的距离为两个测试序列间的编辑距离,其算法为:

假设测试序列s的字符串长度为p,t的字符串长度为q,计算两个测试序列的距离:

基于依赖的测试序列生成算法包括计算算法为:

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1