一种导出报表数据的自动化测试方法及装置转让专利

申请号 : CN201610592455.6

文献号 : CN106294128B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张希婷肖楠柳亚政周盛董亚卫潘柏宇王冀

申请人 : 合一网络技术(北京)有限公司

摘要 :

本发明涉及一种导出报表数据的自动化测试方法及装置。该方法包括:按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据;对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果。根据本发明实施例的导出报表数据的自动化测试方法及装置能够以自动方式对导出报表数据进行测试,避免了人工的测试操作,提高了测试导出报表数据的效率、降低了测试成本、并保证了测试结果的正确性。

权利要求 :

1.一种导出报表数据的自动化测试方法,其特征在于,所述方法包括:按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;

利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据,并将所述导出报表数据存入所述UFT软件中的指定目录位置;

利用所述UFT软件对比所述转译字段数据与所述UFT软件中存入的所述导出报表数据中相应字段的数据,生成测试结果。

2.根据权利要求1所述的自动化测试方法,其特征在于,所述按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译包括:连接数据库,所述数据库中存储有所述表;

从所述表中查询获取所述需要转译的各个字段;

对所述需要转译的各个字段按照预定的转译规则分别进行转译。

3.根据权利要求2所述的自动化测试方法,其特征在于,所述导出报表操作,包括:登录报表导出系统,其中所述报表导出系统与所述数据库相连接;

打开所述报表导出系统中的导出数据页面;

点击导出数据页面上的导出按钮,以针对所述需要转译的各个字段从所述数据库的表中自动导出所述导出报表数据。

4.根据权利要求1所述的自动化测试方法,其特征在于,所述方法还包括:将所述导出报表数据存入所述UFT软件中用于临时保存数据的网格虚拟表中。

5.根据权利要求4所述的自动化测试方法,其特征在于,对比所述转译字段数据与所述导出报表数据中相应字段的数据包括:对比所述转译字段数据与所述网格虚拟表中所存入的导出报表数据中相应字段的数据。

6.根据权利要求1所述的自动化测试方法,其特征在于,所述方法还包括:对所述转译字段数据中的每行数据赋予唯一的行标识。

7.根据权利要求6所述的自动化测试方法,其特征在于,对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果,包括:在所述转译字段数据与所述导出报表数据中相应字段的数据不一致的情况下,显示不一致的数据及与所述不一致的数据相关的信息,其中所述信息包括所述不一致的数据对应的字段标识与行标识。

8.根据权利要求1至7中任意一项所述的自动化测试方法,其特征在于,对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果,包括:在全部的所述转译字段数据与所述导出报表数据中相应字段的数据一致的情况下,提示完全一致。

9.根据权利要求1至7中任意一项所述的自动化测试方法,其特征在于,生成测试结果包括:生成可扩展标记语言XML格式的测试报告。

10.根据权利要求4或5所述的自动化测试方法,其特征在于,所述方法还包括:自动保存所述网格虚拟表中所存入的导出报表数据。

11.一种导出报表数据的自动化测试装置,其特征在于,所述装置包括:转译部件,用于按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;

导出部件,用于利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据,并将所述导出报表数据存入所述UFT软件中的指定目录位置;

对比部件,用于利用所述UFT软件对比所述转译字段数据与所述UFT软件中存入的所述导出报表数据中相应字段的数据,生成测试结果。

12.根据权利要求11所述的自动化测试装置,其特征在于,所述转译部件包括:连接单元,用于连接数据库,所述数据库中存储有所述表;

查询获取单元,用于从所述表中查询获取所述需要转译的各个字段;

转译单元,用于对所述需要转译的各个字段按照预定的转译规则分别进行转译。

13.根据权利要求12所述的自动化测试装置,其特征在于,所述导出报表操作包括:登录报表导出系统,其中所述报表导出系统与所述数据库相连接;

打开所述报表导出系统中的导出数据页面;

点击导出数据页面上的导出按钮,以针对所述需要转译的各个字段从所述数据库的表中自动导出所述导出报表数据。

14.根据权利要求11所述的自动化测试装置,其特征在于,所述装置还包括:第一保存部件,用于将所述导出报表数据存入所述UFT软件中用于临时保存数据的网格虚拟表中。

15.根据权利要求14所述的自动化测试装置,其特征在于,所述对比部件具体用于:对比所述转译字段数据与所述网格虚拟表中所存入的导出报表数据中相应字段的数据。

16.根据权利要求11所述的自动化测试装置,其特征在于,所述装置还包括:标识部件,用于对所述转译字段数据中的每行数据赋予唯一的行标识。

17.根据权利要求16所述的自动化测试装置,其特征在于,所述对比部件具体用于:在所述转译字段数据与所述导出报表数据中相应字段的数据不一致的情况下,显示不一致的数据及与所述不一致的数据相关的信息,其中所述信息包括所述不一致的数据对应的字段标识与行标识。

18.根据权利要求11至17中任意一项所述的自动化测试装置,其特征在于,所述对比部件具体用于:在全部的所述转译字段数据与所述导出报表数据中相应字段的数据一致的情况下,提示完全一致。

19.根据权利要求11至17中任意一项所述的自动化测试装置,其特征在于,所述对比部件还用于:生成可扩展标记语言XML格式的测试报告。

20.根据权利要求14或15所述的自动化测试装置,其特征在于,所述装置还包括:第二保存部件,用于自动保存所述网格虚拟表中所存入的导出报表数据。

说明书 :

一种导出报表数据的自动化测试方法及装置

技术领域

[0001] 本发明涉及计算机测试技术领域,尤其涉及一种导出报表数据的自动化测试方法及装置。

背景技术

[0002] 例如财务系统等业务系统的数据库中存储有记录业务统计原始数据的表,通过业务系统中的报表导出系统(例如用于报表导出的应用软件)将表中所需字段(列)导出,即可得到例如excel格式的报表,其中导出的报表中的内容是表中相应的原始数据经过转译后得到的可读性文本,以便于使用者阅读。
[0003] 业务系统存储数据不断累积增多,导出的报表可能包含例如多达七十个字段,3万行左右的数据量,每个字段都已经经过指定逻辑规则转译,将数据库中存储为不同数值的原始数据转译为不同的可读性文本。
[0004] 使用者(例如财务人员)对这种导出报表数据的正确性和完整性要求通常非常高,但是由于转译过程中可能出现的错误,导出报表数据可能存在与原始数据不符的情况,这就需要对导出报表数据的正确性和完整性进行测试。
[0005] 然而对于数据量很大的报表,人工测试的工作量非常大,举例来说,考虑到字段之间在转译过程中的逻辑关联性,为了保证最终导出报表数据的正确性和完整性,在追加字段后重新导出报表的情况下,不仅需要对追加字段的数据进行测试,还需要对于大量的追加前字段的数据进行测试,而通过人工来进行如此大工作量的测试不但效率低下、成本高昂,而且由于人工操作的错误率较高,无法保证测试结果的正确性,并且很可能因为工作量超出人工承受的能力而无法对报表进行全面的测试。

发明内容

[0006] 技术问题
[0007] 有鉴于此,本发明要解决的技术问题是,人工测试导出报表数据的效率低下、成本高昂、无法保证测试结果的正确性、无法保证全面测试问题。
[0008] 解决方案
[0009] 为了解决上述问题,一方面,提出了一种导出报表数据的自动化测试方法,所述方法包括:按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据;对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果。
[0010] 为了解决上述问题,另一方面,提出了一种导出报表数据的自动化测试装置,所述装置包括:转译部件,用于按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;导出部件,用于利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据;对比部件,用于对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果。
[0011] 有益效果
[0012] 通过按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据;对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果,根据本发明实施例的导出报表数据的自动化测试方法及装置能够以自动方式对导出报表数据进行测试,避免了人工的测试操作,提高了测试导出报表数据的效率、降低了测试成本、并保证了测试结果的正确性。
[0013] 根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。

附图说明

[0014] 包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
[0015] 图1示出根据本发明一实施例的导出报表数据的自动化测试方法的流程图。
[0016] 图2示出根据本发明一实施例的导出报表数据的自动化测试装置的结构图。
[0017] 图3示出根据本发明一实施例的一个示例的导出报表数据的自动化测试装置的结构图。
[0018] 图4示出根据本发明一实施例的另一个示例的导出报表数据的自动化测试装置的结构图。
[0019] 图5示出了本发明的另一个实施例的一种导出报表数据的自动化测试设备的结构框图。

具体实施方式

[0020] 以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0021] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0022] 另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
[0023] 实施例1
[0024] 图1示出根据本发明一实施例的导出报表数据的自动化测试方法的流程图。如图1所示,该自动化测试方法主要包括:
[0025] 步骤101,按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;
[0026] 步骤102,利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据;
[0027] 步骤103,对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果。
[0028] 发明人认识到,针对批量字段的导出报表操作错误率较高,而逐个字段的转译操作则正确性很高。根据本发明实施例的导出报表数据的自动化测试方法通过逐个字段转译得到准确的转译字段数据,再通过软件模拟用户操作得到用户通过导出报表操作得到的实际的导出报表数据,利用计算机将二者进行比对,基于准确的转译字段数据来测试导出报表数据的正确性和完整性,从而能够以自动方式对导出报表数据进行测试,避免了人工的测试操作,提高了测试导出报表数据的效率、降低了测试成本、并保证了测试结果的正确性。
[0029] 在一个示例中,在对导出报表数据进行自动化测试之前,可进行一些测试准备工作,可包括搭建硬件环境、软件环境和确定预定的转译规则。例如,可搭建测试系统或平台、数据库服务器及相应的网络设备、安装操作系统、安装UFT自动化测试软件等。可按照导出报表需求(即数据转译逻辑需求)确定预定的转译规则,对具体的转译规则的说明请参见后面的示例。
[0030] 转译字段数据的获得
[0031] 在一个示例中,上述步骤101中所述按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译可包括:连接数据库,所述数据库中存储有所述表;从所述表中查询获取所述需要转译的各个字段;对所述需要转译的各个字段按照预定的转译规则分别进行转译。
[0032] 在该示例中,数据库可以为Oracle、DB2、MySQL等各种类型数据库,本发明对数据库的类型不作限制。数据库中存有各种表,可通过SQL语句从表中查询获取需要转译的各个字段,例如可采用SELECT语句从表中获取如表1所示的2个字段(例如“用户规模”字段和“平均月销售量”字段)。可对上述2个字段按照预定的转译规则进行转译。例如,预定的转译规则中可规定“用户规模”字段中数值为1时,可转译为“1至1万用户规模”;为2时,可转译为“1万至10万用户规模”;为空时,可转译为“暂未开展此项业务”。“平均月销售量”字段是与“用户规模”字段相关联的字段,当对应的“用户规模”字段的值为非空时,可转译为“实际平均月销售量XXXX台(XXXX为“平均月销售量”字段中的数值)”,当对应的“用户规模”字段的值为空时,可转译为“预估展开业务后平均月销售量XXXX台(XXXX为“平均月销售量”字段中的数值)”。针对表1中各个字段生成的转译字段数据可参见表2。预定的转译规则可与业务系统的导出报表系统所基于的转译规则一致,使得针对相同的字段得到的转译字段数据和导出报表数据在导出报表操作无误的情况下相同,以便于比对。
[0033]用户规模 平均月销售量
1 3896
2 49800
  9000
[0034] 表1
[0035]用户规模 平均月销售量
1至1万用户规模 实际平均月销售量3896台
1万至10万用户规模 实际平均月销售量49800台
暂未开展此项业务 预估展开业务后平均月销售量9000台
[0036] 表2
[0037] 在一个示例中,转译字段数据可以基于UFT软件来得到。例如,可以编写UFT软件能够运行的脚本,通过运行脚本来自动连接数据库并查询获取需要转译的各个字段。并且可以基于预定的转译规则,编写UFT软件能够运行的、针对需要转译的各个字段的转译规则语句,通过运行这些语句来得到转译字段数据。
[0038] 在一个示例中,所述方法还可包括:对所述转译字段数据中的每行数据赋予唯一的行标识。例如,如表3所示,可对与上述表2中的每行数据赋予如表3所示的唯一的行标识(又称记录标识,例如地区ID或其他业务ID)。该行标识可以与用户通过导出报表操作得到的导出报表数据的行标识一致,以便于后续的比对和错误定位。
[0039]  用户规模 平均月销售量
地区A 1至1万用户规模 实际平均月销售量3896台
地区B 1万至10万用户规模 实际平均月销售量49800台
地区C 暂未开展此项业务 预估展开业务后平均月销售量9000台
[0040] 表3
[0041] 导出报表数据的获得
[0042] 在一个示例中,可利用UFT软件的对象识别技术,模拟用户自动打开浏览器登录导出报表系统,该导出报表系统与上述的数据库相连接,并可将打开的浏览器设置为最大化状态,可模拟用于自动打开导出报表系统中的导出数据页面,并模拟用户点击导出数据页面上的导出按钮,以针对需要转译的各个字段从所述数据库的表中自动导出所述导出报表数据(例如导出报表excel文件)。其中,可以通过UFT软件模拟用户的操作在导出数据页面上选择需要转译的各个字段,也可以直接在UFT软件的用于模拟用户的导出报表操作的相关运行脚本中指定需要转译的各个字段,本发明对此不做限制。还可将导出报表excel文件自动保存至指定目录位置。例如,UFT软件可模拟用户自动导出针对表1中各个字段的导出excel文件格式的导出报表数据,该excel文件的导出报表数据如表4所示。
[0043]  用户规模 平均月销售量
地区A 1至1万用户规模 实际平均月销售量3896台
地区B 1万至10万用户规模 实际平均月销售量37658台
地区C 暂未开展此项业务 预估展开业务后平均月销售量9000台
[0044] 表4
[0045] 通过这种方式自动得到的导出报表数据,与用户通过人工进行导出报表操作得到的导出报表数据相同,因此对该导出报表数据进行测试,即可得到所需的测试结果。
[0046] 在一个示例中,所述方法还可包括:将所述导出报表数据(例如导出的excel格式的导出报表数据)存入所述UFT软件中自带的用于临时保存数据的网格虚拟表Data Table中。
[0047] 在一个示例中,上述步骤103中对比所述转译字段数据与所述导出报表数据中相应字段的数据可包括:对比所述转译字段数据与所述网格虚拟表中所存入的导出报表数据中相应字段的数据。例如,可依次对比表3中字段“平均月销售量”中的数据与网格虚拟表中所存入的导出报表数据表4中相应字段“平均月销售量”中的数据,对导出报表数据进行自动测试。步骤103的对比可通过UFT软件来实现。
[0048] 在一个示例中,对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果,可包括:在所述转译字段数据与所述导出报表数据中相应字段的数据不一致的情况下,显示不一致的数据及与所述不一致的数据相关的信息,其中所述信息包括所述不一致的数据对应的字段标识与行标识。例如,可依次对比表3中字段“平均月销售量”中的数据与网格虚拟表中所存入的导出报表数据表4中相应字段“平均月销售量”中的数据,当对比到行“地区B”对应的字段“平均月销售量”中的数据时,可发现表3中的“实际平均月销售量49800台”与表4中的“实际平均月销售量37658台”不一致,则可在对比后弹出窗口,在弹出窗口中显示上述不一致的数据及不一致数据对应的字段标识“平均月销售量”与行标识“地区B”(即不一致数据所处的表中位置)。
[0049] 在一个示例中,对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果,可包括:在全部的所述转译字段数据与所述导出报表数据中相应字段的数据一致的情况下(例如表3中的转译字段数据与网格虚拟表中所存入的导出报表数据表4中相应字段的数据完全一致的情况下),则可在对比后,弹出窗口提示完全一致,表示导出报表数据完全正确。
[0050] 在一个示例中,生成测试结果可包括:生成可扩展标记语言XML格式的测试报告。由于XML格式的测试报告的可读性强,可以在浏览器中直观查看,测试者可查看到每一步对比是否运行通过或失败以及自动化测试对比的耗时,便于用户了解自动化测试的过程及测试效率。
[0051] 在一个示例中,所述方法还可包括:自动保存所述网格虚拟表中所存入的导出报表数据。例如,UFT软件可自动保存网格虚拟表中所存入的导出报表数据表4,以便用户进行再次查看,回归分析导出报表数据出现错误的原因,统计出错几率。
[0052] 实施例2
[0053] 图2示出根据本发明一实施例的导出报表数据的自动化测试装置的结构图。该实施例的自动化测试装置20可用于实现实施例1中方法各步骤的操作,其中各种具体事例及有益效果可参见实施例1,为简明起见这里不再重复描述。
[0054] 如图2所示,该实施例的自动化测试装置20包括:转译部件21,用于按照预定的转译规则,针对表中的需要转译的各个字段分别进行转译,生成针对各个字段的转译字段数据;导出部件22,用于利用统一功能测试UFT软件模拟用户针对表中所述需要转译的各个字段进行导出报表操作,得到导出报表数据;对比部件23,用于对比所述转译字段数据与所述导出报表数据中相应字段的数据,生成测试结果。
[0055] 图3示出根据本发明一实施例的一个示例的导出报表数据的自动化测试装置的结构图。在该示例中,所述转译部件21包括:连接单元211,用于连接数据库,所述数据库中存储有所述表;查询获取单元212,用于从所述表中查询获取所述需要转译的各个字段;转译单元213,用于对所述需要转译的各个字段按照预定的转译规则分别进行转译。
[0056] 在一个示例中,导出报表操作可包括:登录报表导出系统,其中所述报表导出系统与所述数据库相连接;打开所述报表导出系统中的导出数据页面;点击导出数据页面上的导出按钮,以针对所述需要转译的各个字段从所述数据库的表中自动导出所述导出报表数据。
[0057] 在一个示例中,所述所述装置还包括:第一保存部件,用于将所述导出报表数据存入所述UFT软件中用于临时保存数据的网格虚拟表中。
[0058] 在一个示例中,所述对比部件23具体用于:对比所述转译字段数据与所述网格虚拟表中所存入的导出报表数据中相应字段的数据。
[0059] 图4示出根据本发明一实施例的另一个示例的导出报表数据的自动化测试装置的结构图。在该示例中,所述装置20还包括:标识部件24,用于对所述转译字段数据中的每行数据赋予唯一的行标识。
[0060] 在一个示例中,所述对比部件23具体用于:在所述转译字段数据与所述导出报表数据中相应字段的数据不一致的情况下,显示不一致的数据及与所述不一致的数据相关的信息,其中所述信息包括所述不一致的数据对应的字段标识与行标识。
[0061] 在一个示例中,所述对比部件23具体用于:在全部的所述转译字段数据与所述导出报表数据中相应字段的数据一致的情况下,提示完全一致。
[0062] 在一个示例中,所述对比部件23还用于:生成可扩展标记语言XML格式的测试报告。
[0063] 在一个示例中,所述装置20还包括:第二保存部件,用于自动保存所述网格虚拟表中所存入的导出报表数据。
[0064] 实施例3
[0065] 图5示出了本发明的另一个实施例的一种导出报表数据的自动化测试设备的结构框图。所述自动化测试设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
[0066] 所述自动化测试设备1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
[0067] 通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
[0068] 处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0069] 存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
[0070] 在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于实现实施例1中方法的各步骤操作。
[0071] 本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0072] 如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0073] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。