一种面向数字出版的标准符合性的测试方法及测试系统与流程

文档序号:12719382阅读:214来源:国知局
一种面向数字出版的标准符合性的测试方法及测试系统与流程

本发明涉及标准符合性测试领域,更具体地,涉及一种面向数字出版的标准符合性的测试方法及测试系统。



背景技术:

在软件产业繁荣发展,百家争鸣的时代,开展软件标准符合性测试的必要性已经成为行业共识。中国的软件标准符合性测试工作研究起步较晚,资料显示,自八五系统软件国产化重大攻关项目才开始开展软件标准符合性测试的研究工作。而标准符合性测试不同于一般的软件测试,其测试依据来自于有针对性的标准,测试工具的开发往往是由具有标准管理或起草资质的政府单位委托,所以标准符合性测试工具不同于其他软件产品,在国内没有普遍适用的市场化产品。

而且由于数字出版因其自身的行业特性,对格式、版式、业务流程要求更为严格,因此开发服务于其业务的软件的数据输出、接口定义也具有一定的复杂性和多样性。面向数字出版领域的一系列工程技术工具由不同单位开发,各单位由于开发语言、数据库调用方式,接口格式、运行平台不同,很容易出现各自开发的软件工具或系统在集成时出现困难。



技术实现要素:

为了解决现有技术中的上述问题,即为了解决各自开发的软件工具或系统在集成时出现困难,本发明提供了一种面向数字出版的标准符合性的测试方法及测试系统。

为实现上述目的,本发明提供了如下方案:

一种面向数字出版的标准符合性的测试方法,其特征在于,所述测试方法包括:

根据测试对象选择需要遵循的标准,并确定对应的测试需求,并对测试对象进行注册,生成注册信息;其中,所述测试对象包括测试接口和/或测试数据;

根据所述测试需求制定测试计划;

根据所述测试对象下载对应的测试工具,其中,所述测试工具包括接口类标准符合性测试工具和/或数据类标准符合性测试工具;

根据所述测试工具及所述测试计划对所述测试对象进行标准符合性的测试;

将标准符合性测试的测试结果生成测试报告。

可选的,所述生成注册信息包括:

获得接口描述,并根据所述接口描述,批量生成全覆盖测试用例;和/或获得测试数据的测试信息。

可选的,所述接口描述包括:获取接口描述的XML文档,解析XML文档中保存的接口描述信息并存入数据库,或者在网页表单直接填写接口描述信息并存入数据库。

可选的,所述批量生成全覆盖测试用例的方法包括:

S11:连接数据库,调取所述数据库的参数表;

S12:根据所述接口描述,从所述参数表获取对应接口描述的各参数的相关信息,各所述参数的相关信息包括参数的数据类型、约束信息、测试用例类型以及测试值;

S13:判断所述测试值是否为空,如果是,则根据参数的数据类型、约束信息以及测试用例类型,为接口的每个参数生成各种测试用例类型的测试值;否则直接使用对应的数值作为测试值,执行下一步;

S14:根据不同参数的测试值以及对应的测试用例类型生成x的n次方条测试用例;其中,n表示为参数的个数,x表示每个参数的测试值对应的测试用例类型的种类;

S15:将全部测试用例序列化为XM格式输出。

可选的,各所述测试用例包括测试用例值及用例标识;

其中,所述测试用例值为对应接口的各参数的测试值的组合;所述用例标识用n位x进制数表示,用例标识的第j位所表示所述接口第j个参数的测试用例类型。

可选的,所述数据类型包括数值型、字符串型和时间型中至少一者。

可选的,所述测试用例类型包括有效随机测试用例(用0表示)、无效随机测试用例(用1表示)、左边界值类型(用2表示)、及右边界值类型(用3表示)。

可选的,(1)对于数值型,所述为接口的每个参数生成各种测试用例类型的测试值包括:

随机生成在最小值和最大值范围内的相应数值类型的随机数作为有效随机测试值、最小值作为左边界值、最大值作为右边界值;

随机生成一个相应数值类型的数值r1,再随机取(最小值-r1)或者(最大值+r1)的值作为无效随机测试值;其中,r1>0;

(2)对于字符串型,所述为接口的每个参数生成各种测试用例类型的测试值包括:

随机生成在最小长度和最大长度范围内的整型随机数值l,所述整型随机数值l作为待生成的字符串的长度,随机生成长度为l的字符串作为有效随机测试值;

用最小长度作为待生成的字符串的长度,随机生成该长度的字符串作为左边界值;

用最大长度作为待生成的字符串的长度,随机生成该长度的字符串作为右边界值;

随机生成一个整型的数值r2,再随机取(最小长度-r2)或者(最大长度+r2)的值作为待生成的字符串的长度,随机生成该长度的字符串作为无效随机测试值;其中,0<r2<最小长度;

(3)对于时间型,所述为接口的每个参数生成各种测试用例类型的测试值包括:

根据时间格式将开始时间和截止时间转化为长整型的毫秒数;

随机生成在开始时间和截止时间范围内的长整型随机数,再将所述长整型随机数转化为符合时间格式的时间作为有效随机测试值;

开始时间作为左边界值;

截止时间作为右边界值;

随机生成一个长整型的数值r3,再随机取(开始时间-r3)或者(截止时间+r3)的值,并将该值转化为符合时间格式的时间作为无效随机测试值;其中,0<r3<开始时间。

可选的,所述对所述测试对象进行标准符合性的测试包括:

S411:根据所述测试计划选择待测项目;

S412:从所述待测项目的测试用例中选择需要进行测试的接口测试用例;

S413:所述接口类标准符合性测试工具按顺序读取全部的接口测试用例以及对应的预期结果;

S414:将所述接口测试用例中的测试输入作为接口的输入参数,调用测试接口提供或开放的外部接口,进行接口调用测试;

S415:比较接口调用测试的结果与所述接口测试用例对应的预期结果,确定接口测试用例的测试结果。

可选的,所述对所述测试对象进行标准符合性的测试包括:

S421:根据测试数据及测试计划,将XML Schema文件以及测试数据加载到所述数据类标准符合性测试工具上;

S422:通过所述数据类标准符合性测试工具验证所述测试数据的格式,命名、打包方式、存储结构以及测试数据中的各个文件命名及内容,还有文件中各数据项的数据类型及格式与标准规定的符合程度;

S423:确定测试结果。

根据本发明的实施例,本发明公开了以下技术效果:

本发明面向数字出版的标准符合性的测试方法根据测试方的测试需求、遵循标准制定统一的测试计划,并下载测试工具,根据测试工具及测试计划对测试对象进行标准符合性的测试,生成统一的测试报告,从而确保在系统总集前数据输出一致,有助于尽可能地降低各个软件系统的接口错误率,提高总集工作效率,确保复合出版系统工程研发的数据、软件、系统与对应标准的符合性,同时有助于检验标准在工程中的实用性,保障国家复合出版系统工程的标准化和规范化。

为实现上述目的,本发明提供了如下方案:

一种面向数字出版的标准符合性的测试系统,所述测试系统包括:

标准管理模块,用于被测方根据测试对象选择需要遵循的标准,并确定对应的测试需求,并对测试对象进行注册,生成注册信息;其中,所述测试对象包括测试接口和/或测试数据;

制定模块,用于根据所述测试需求制定测试计划;

下载模块,用于根据所述测试对象下载对应的测试工具,其中,所述测试工具包括接口类标准符合性测试工具和/或数据类标准符合性测试工具;

测试模块,用于根据所述测试工具及所述测试计划对所述测试对象进行标准符合性的测试;

生成模块,用于将标准符合性测试的测试结果生成测试报告。

可选的,所述标准管理模块由被测方参与执行;所述制定模块、下载模块、测试模块及生成模块由测试方参与执行。

根据本发明的实施例,本发明公开了以下技术效果:

本发明面向数字出版的标准符合性的测试系统通过设置标准管理模块、制定模块、下载模块、测试模块及生成模块,能够根据测试需求遵循标准制定统一的测试计划,并下载测试工具,根据测试工具及测试计划对测试对象进行标准符合性的测试,生成统一的测试报告,从而确保在系统总集前数据输出一致,有助于尽可能地降低各个软件系统的接口错误率,提高总集工作效率,确保复合出版系统工程研发的数据、软件、系统与对应标准的符合性,同时有助于检验标准在工程中的实用性,保障国家复合出版系统工程的标准化和规范化。

附图说明

图1是本发明面向数字出版的标准符合性的测试方法的流程图;

图2为本发明中批量生成全覆盖测试用例方法流程图;

图3为本发明一个实施例中不同数据类型的参数测试值生成方法示意图;

图4为本发明中接口类测试工具系统架构图;

图5为本发明中数据类测试工具系统架构图;

图6为本发明面向数字出版的标准符合性的测试系统的模块结构示意图。

符号说明:

标准管理模块—1,制定模块—2,下载模块—3,测试模块—4,生成模块—5。

具体实施方式

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

如图1所示,本发明面向数字出版的标准符合性的测试方法包括:

步骤100:根据测试对象选择需要遵循的标准,并确定对应的测试需求,并对测试对象进行注册,生成注册信息。

步骤200:根据所述测试需求制定测试计划。

步骤300:根据所述测试对象下载对应的测试工具。

步骤400:根据所述测试工具及所述测试计划对所述测试对象进行标准符合性的测试。

步骤500:将标准符合性测试的测试结果生成测试报告。

其中,在步骤100中,所述测试对象包括测试接口和/或测试数据。所述生成注册信息包括:获得接口描述,并根据所述接口描述,批量生成全覆盖测试用例;和/或获得测试数据的测试信息。

进一步地,所述接口描述包括:获取接口描述的XML文档,解析XML文档中保存的接口描述信息并存入数据库,或者在网页表单直接填写接口描述信息并存入数据库。

如图2所示,所述批量生成全覆盖测试用例的方法包括:

步骤110:连接数据库,调取所述数据库的参数表;步骤120:根据所述接口描述,从所述参数表获取对应接口描述的各参数的相关信息;步骤130:判断所述测试值是否为空,如果是,则执行步骤140;否则直接使用对应的数值作为测试值,执行步骤150;步骤140:根据参数的数据类型、约束信息以及测试用例类型,为接口的每个参数生成各种测试用例类型的测试值;步骤150:根据不同参数的测试值以及对应的测试用例类型生成x的n次方条测试用例(其中,n表示为参数的个数,x表示每个参数的测试值对应的测试用例类型的种类);步骤160:将全部测试用例序列化为XML格式输出。

所述参数表中记录有各个参数的相关信息,包括参数名称、参数数据类型、最小值、最大值、是否必选、参数默认值、参数格式等,保存这些信息,并记录参数个数。

各所述参数的相关信息包括参数的数据类型、约束信息、测试用例类型以及测试值。

所述参数的数据类型包括数值型(boolean,short,int,long,float,double)、字符串型(string)以及时间型(date,time)。所述参数的约束信息包括最小值、最大值、是否必选、参数格式,这些信息在初始化时从参数表中可得。所述测试用例类型包括四类:0表示有效随机测试用例、1表示无效随机测试用例、2表示左边界值、3表示右边界值。

所述批量生成全覆盖测试用例方法中,不同数据类型的参数生成测试值的方法不同。

具体的,如图3所示,所述为接口的每个参数生成各种测试用例类型的测试值包括:

(1)对于数值型,根据最大值、最小值以及测试用例类型生成测试值。具体的:

随机生成在最小值和最大值范围内的相应数值类型的随机数作为有效随机测试值、最小值作为左边界值、最大值作为右边界值。

随机生成一个相应数值类型的数值r1,再随机取(最小值-r1)或者(最大值+r1)的值作为无效随机测试值;其中,r1>0。

(2)对于字符串型,根据最大长度、最小长度以及测试用例类型生成测试值。具体的,

随机生成在最小长度和最大长度范围内的整型随机数值l,所述整型随机数值l作为待生成的字符串的长度,随机生成长度为l的字符串作为有效随机测试值。

用最小长度作为待生成的字符串的长度,随机生成该长度的字符串作为左边界值。

用最大长度作为待生成的字符串的长度,随机生成该长度的字符串作为右边界值。

随机生成一个整型的数值r2,再随机取(最小长度-r2)或者(最大长度+r2)的值作为待生成的字符串的长度,随机生成该长度的字符串作为无效随机测试值;其中,0<r2<最小长度。

(3)对于时间型,根据开始时间、截止时间和时间格式以及测试用例类型生成测试值。具体的:

根据时间格式将开始时间和截止时间转化为长整型的毫秒数;

随机生成在开始时间和截止时间范围内的长整型随机数,再将所述长整型随机数转化为符合时间格式的时间作为有效随机测试值;开始时间作为左边界值;截止时间作为右边界值。

随机生成一个长整型的数值r3,再随机取(开始时间-r3)或者(截止时间+r3)的值,并将该值转化为符合时间格式的时间作为无效随机测试值;其中,0<r3<开始时间。

各所述测试用例包括测试用例值及用例标识;其中,所述测试用例值为对应接口的各参数的测试值的组合;所述用例标识用n位x进制数表示,用例标识的第j位所表示所述接口第j个参数的测试用例类型。

某个接口a,有三个参数,b,c,d,考虑到生成各种测试类型的测试参数的组合,那么该接口应该生成的测试用例数量为4*4*4=64。第6条测试用例的用例标识为6的四进制数012,表示为第一个参数b生成有效随机测试用例,为第二个参数c生成无效随机测试用例、为第三个参数d生成左边界值作为测试用例。

所述批量生成全覆盖测试用例方法中测试用例类型是由用例标识得到,用例标识第j位所表示的测试用例类型,决定为该接口第j个参数生成的测试值。例如:用例标识为012,第一位0为有效随机测试用例,那么表示为第一个参数b生成有效随机测试值。

所述的批量生成全覆盖测试用例方法中,如果某个参数具有指定值,则将该指定值作为测试值,并将该参数对应的用例标识位值改为4(指定值用4表示)。例如:用例标识原为012,如第一位参数b有指定值,则将该指定值作为参数b的测试值,并将用例标识改为412。

进一步地,所述测试需求包括需求编号、需求名称、测试对象、处理状态(已处理/未处理)、是否回归测试、原需求编号、提交用户、处理用户,处理时间等。其中,选择需要遵循的标准、确定对应的测试需求及对测试对象进行注册一般由被测方参与执行,而步骤200至步骤500的操作一般由测试员参与执行。

在步骤200中,所述测试计划包括计划编号、测试需求、测试参数集合(如果测试对象是接口)、测试状态(已完成/未完成)、测试参数执行通过率(如果测试对象是接口)。

在步骤300中,所述测试工具包括接口类标准符合性测试工具和(如图4和表1所示)/或数据类标准符合性测试工具(如图5和表2)所示。

表1接口类标准符合性测试工具的组成部件及其功能

表2数据类标准符合性测试工具的组成部件及其功能

进一步地,所述接口类标准符合性测试工具主要针对于能够获得执行结果的接口实现方式进行测试,其覆盖的接口方式包括:WebService、RESTful和SDK。

所述接口类标准符合性测试工具针对的工具与系统包括:版面理解技术工具、版面编辑工具集、XML编辑工具集、智能检校系统、出版社复合采编系统、期刊社复合采编系统、书刊协同采编系统、报社复合采编系统、媒体协同工作系统、结构化全媒体待编稿库管理系统、图书选题及发行分析系统、新闻内容选题及评价系统、XML排版系统、富媒体电子书制作工具、出版业在线学习平台、全媒体资源管理系统、版权及版权资产管理系统、少数民族文字出版资源管理系统、少数民族文字出版辅助工具集、发布管理系统、文件分发与按需印刷系统、内容动态重组系统、出版机构运营服务系统、出版机构运营数据支撑系统、复合出版数据传递系统、数字资源标识管理与解析服务系统、全国出版内容交换系统、图书馆信息和社会化数据采集服务系统、出版策划服务系统、数据交换池系统、多形态广告发布系统、全文相似性分析系统、领域词表构建与管理系统、领域本体构建与管理系统、工程集成。

所述接口类标准符合性测试工具对某个软件工具或系统的接口进行测试的前提是将需要测试的接口注册到标准符合性测试集成服务系统,系统会根据接口注册的具体信息生成全覆盖测试参数集合,这些测试参数集合可以从系统中导出到本地,然后使用相应的接口类标准符合性测试工具完成对接口的自动化测试。

在步骤400中,通过所述接口类标准符合性测试工具对所述测试接口进行标准符合性的测试包括:步骤411:根据所述测试计划选择待测项目;步骤412:从所述待测项目的测试用例中选择需要进行测试的接口测试用例;步骤413:所述接口类标准符合性测试工具按顺序读取全部的接口测试用例以及对应的预期结果;步骤414:将所述接口测试用例中的测试输入作为接口的输入参数,调用测试接口提供或开放的外部接口,进行接口调用测试;步骤415:比较接口调用测试的结果与所述接口测试用例对应的预期结果,确定接口测试用例的测试结果。

所述数据类标准符合性测试工具包括:跨媒体数据链接规范测试工具、复合文档基础结构测试工具、篇章复合文档结构测试工具、条目复合文档结构测试工具、新闻复合文档结构测试工具、论文复合文档结构测试工具、课件复合文档结构测试工具、出版产品版式规范测试工具、资源数据库管理规范测试工具、工程软件系统编码规范测试工具、数字出版产品封装规范测试工具;数据对象表现形式为:文件、数据项或数字化产品等。

通过所述数据类标准符合性测试工具对所述测试数据进行标准符合性的测试包括:步骤421:根据测试数据及测试计划,将XML Schema文件以及测试数据加载到所述数据类标准符合性测试工具上;步骤422:通过所述数据类标准符合性测试工具验证所述测试数据的格式,命名、打包方式、存储结构以及测试数据中的各个文件命名及内容,还有文件中各数据项的数据类型及格式与标准规定的符合程度;步骤423:确定测试结果。

以校验复合文档数据包为例,数据类标准符合性测试工具的执行步骤包括:

S421':校验压缩文件格式是否正确,文件名名是否与复合文档命名空间的名称一致,返回校验结果。

S422':解压缩,并返回结果。若不能成功解压缩,返回错误日志(error.log),由于压缩失败导致后续步骤无法进行,因此测试到此结束。

S423':校验必备文件夹及文件的命名及存放路径是否正确,返回校验结果。由于该错误会导致在后续步骤中找不到指定文件,因此步骤S424'-S426'针对指定文件内容的校验无法进行,直接跳转S427'。

S424':校验指定文件的内容是否符合标准要求,返回校验结果。

S425':校验指定XML文件是否通过对应的XML Schema,返回校验结果。

S426':校验指定XML文件标签中的内容是否符合标准要求,返回校验结果。

S427':将各项检验结果用XML输出。

本发明标准符合性测试方法有助于在系统总集前发现各技术分包承建单位可能出现的数据输出不一致问题、有助于尽可能地降低各个软件模块的接口错误率,提高总集工作效率,确保复合出版系统工程研发的数据、软件、系统与对应标准的符合性,同时有助于检验标准在工程中的实用性,保障国家复合出版系统工程的标准化和规范化。

其中,在本发明中,将用户角色划分为四类:系统管理员、测试管理员、测试员、普通用户,不同角色具有不同的操作权限。

1、系统管理员

系统管理员主要负责对系统的部署和运行维护,并负责对用户角色和权限进行设置和管理。

2、测试管理员

测试管理员负责对系统中的测试标准、测试工具、测试参数等关键数据信息进行管理。具体来说,测试管理员的具体工作如下:

(1)测试标准管理

负责各项测试标准的注册、上传和管理。为了便于查看,所有标准按照所属领域分类管理,对外提供标准的检索服务。

(2)测试工具管理

负责测试工具的注册、上传和管理。所有上传后的测试工具都与测试标准一一对应。

(3)测试参数管理

负责针对各项标准生成所有的测试用例,并根据业务需求将测试用例的使用权限进行划分为正式测试用例、用户自测测试用例。正式测试用例主要用于正式测试业务,普通用户没有权限浏览和使用该测试用例。用户自测测试用例将对外公开发布,各软件开发方可以浏览下载这些测试用例,用于软件开发过程中的内部自测。

3、测试员

测试员是专门负责对软件开发方提供的测试对象开展标准符合性测试的专业人员。测试员根据测试需求,有权限浏览、下载测试需要的测试用例库和测试工具,注册被测试对象,开展第三方测试。将获得的测试结果信息上传到测试集成系统中,最终生成正式的测试报告。

4、自测用户

自测用户是指软件开发方,普通用户有权限浏览、下载和使用本系统提供的测试工具和用户自测测试参数集。基于所下载的测试工具和用户自测测试用例对自己所开发的软件系统和数字出版产品进行内部自测。

此外,本发明还提供一种面向数字出版的标准符合性的测试系统。如图6所示,本发明面向数字出版的标准符合性的测试系统包括标准管理模块1、制定模块2、下载模块3、测试模块4及生成模块5。

其中,所述标准管理模块1用于被测方根据测试对象选择需要遵循的标准,并确定对应的测试需求,并对测试对象进行注册,生成注册信息;其中,所述测试对象包括测试接口和/或测试数据;所述制定模块2用于根据所述测试需求制定测试计划;所述下载模块3用于根据所述测试对象下载对应的测试工具,其中,所述测试工具包括接口类标准符合性测试工具和/或数据类标准符合性测试工具;所述测试模块4用于根据所述测试工具及所述测试计划对所述测试对象进行标准符合性的测试;所述生成模块5用于将标准符合性测试的测试结果生成测试报告,所述测试报告为XML格式。

进一步地,所述标准管理模块1由被测方参与执行;所述制定模块2、下载模块3、测试模块4及生成模块5由测试方参与执行。

所述标准管理模块1具有添加、删除、修改以及查询的功能;所述标准管理模块1和下载模块3可供下载标准文档以及各种接口类和数据类的测试工具。

相对于现有技术,本发明面向数字出版的标准符合性的测试系统与上述面向数字出版的标准符合性的测试方法的有益效果相同,在此不再赘述。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

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