CN114860610A - 测试数据准备方法、装置、设备、介质和程序产品 - Google Patents

测试数据准备方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN114860610A
CN114860610A CN202210605174.5A CN202210605174A CN114860610A CN 114860610 A CN114860610 A CN 114860610A CN 202210605174 A CN202210605174 A CN 202210605174A CN 114860610 A CN114860610 A CN 114860610A
Authority
CN
China
Prior art keywords
file
test
data
information
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210605174.5A
Other languages
English (en)
Inventor
杨浩
江富浩
陈卉铷
罗靖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210605174.5A priority Critical patent/CN114860610A/zh
Publication of CN114860610A publication Critical patent/CN114860610A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种测试数据准备方法,可应用于软件测试技术领域或金融领域。该方法包括:生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元;基于所述测试脚本执行数据恢复程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件;以及基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件。本公开还提供了一种测试数据准备装置、设备、存储介质和程序产品。

Description

测试数据准备方法、装置、设备、介质和程序产品
技术领域
本公开涉及软件测试领域,具体地,涉及一种测试数据准备方法、装置、设备、介质和程序产品。
背景技术
为了应对市场变化和日益增长的业务需求,包括商业银行在内的大量企业将系统架构逐步从传统的大机转型至分布式服务架构,合理布局主机和开放平台应用。从主机迁移至分布式平台,能够提升系统高性能、高并发的处理能力。分布式平台批量处理时有很多通过文件进行跨应用交互的场景。目前的测试技术对上游应用提供联测文件数据的依赖性比较强,文件数据准备时效性不高,而且缺少对输出文件的自动化检查和监控,使得数据准备的效率和质量得不到有效保证。
发明内容
鉴于上述问题,本公开的实施例提供了一种测试数据准备方法、装置、设备、介质和程序产品。
根据本公开的第一个方面,提供了一种测试数据准备方法,包括:生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元;基于所述测试脚本执行数据恢复程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成;以及基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。
根据本公开的实施例,所述源文件数据提取自源文件,所述源文件和所述目标文件分别包括文档格式的文件。
根据本公开的实施例,所述文档格式包括二进制格式、文本文档格式、丢失簇的恢复文件格式以及无格式中的至少一种。
根据本公开的实施例,所述生成测试脚本包括:将环境信息登记至所述测试脚本的第一单元,所述环境信息至少包含环境变量信息;以及基于文件结构模板和所述环境变量信息登记源文件数据和目标文件预期数据,其中,将所述源文件数据登记至所述测试脚本的第二单元;将所述目标文件预期数据登记至所述测试脚本的第三单元,其中,所述文件结构模板与所述源文件的文档格式和文件结构存在映射关系。
根据本公开的实施例,所述环境变量信息包含公共变量信息和自定义变量信息;所述公共变量信息用于更新测试环境基础信息;所述自定义变量信息用于更新所述源文件数据和所述目标文件数据的个性化信息。
根据本公开的实施例,所述公共变量信息包含系统日期和批量日期,和/或,所述自定义变量信息包含数据库前缀,文件服务器信息,文件名,文件日期,文件日志表日期以及文件日志表明细序号中的至少两种,其中,所述文件服务器信息包括文件服务器地址、用户账号和密码以及文件目录。
根据本公开的实施例,所述环境信息还包括运行环境和执行程序清单。
根据本公开的实施例,所述文件结构包含字段类型,字段名、字段长度和换行符中的至少两种。
根据本公开的实施例,在登记所述源文件数据和目标文件预期数据时,基于预设的规则对字段和换行符进行区分登记。
根据本公开的实施例,按照预设的触发条件触发执行所述测试脚本。
根据本公开的实施例,所述按照预设的触发条件触发执行所述测试脚本包括:当所述待测试应用关联两个以上的测试脚本时,预配置所述测试脚本的触发条件,所述触发条件包括测试脚本的执行顺序和执行周期,其中,所述执行周期包括执行时间和/或执行频率;当满足所述触发条件时,自动触发所述测试脚本执行数据恢复程序。
根据本公开的实施例,在基于所述执行结果生成反馈信息后,所述方法还包括:基于所述反馈信息生成提示信息和可查询记录信息。
本公开的第二方面提供了一种测试数据准备装置,包括:测试脚本生成模块,配置为生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元;执行模块,配置为基于所述测试脚本执行测试程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成;反馈模块,配置为基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。
根据本公开的实施例,测试脚本生成模块还可以包含第一登记单元,第二登记单元以及第三登记单元。其中,第一登记单元被配置为将环境信息登记至所述测试脚本的第一单元,所述环境信息至少包含环境变量信息。第二登记单元被配置为基于文件结构模板和所述环境变量信息将所述源文件数据登记至所述测试脚本的第二单元。其中,所述文件结构模板与源文件的文档格式和文件结构存在映射关系。第三登记单元被配置为基于文件结构模板和所述环境变量信息将所述目标文件预期数据登记至所述测试脚本的第三单元。
根据本公开的实施例,测试数据准备装置还可以包括触发模块,所述触发模块被配置为按照预设的触发条件触发执行所述测试脚本。
根据本公开的实施例,触发模块可以包括设定单元和自动触发单元。设定单元被配置为当所述待测试应用关联两个以上的测试脚本时,预配置所述测试脚本的触发条件,所述触发条件包括测试脚本的执行顺序和执行周期,其中,所述执行周期包括执行时间和/或执行频率。自动触发单元被配置为当满足所述触发条件时,自动触发所述测试脚本执行数据恢复程序。
根据本公开的实施例,测试数据准备装置还可以包括通知模块。所述通知模块被配置为基于所述反馈信息生成提示信息和可查询记录信息。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述测试数据准备方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述测试数据准备方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述测试数据准备方法。
本公开的实施例提供的方法,利用测试脚本维护源文件数据和目标文件预期数据,并在预设的存储空间生成目标文件并自动完成目标文件的核对。在提高测试文件数据准备效率的同时,能够实现数据恢复程序执行结果的自动化检查和监控。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的测试数据准备方法、装置、设备、介质和程序产品的应用场景图。
图2示意性示出了根据本公开实施例的测试数据准备方法的流程图。
图3示意性示出了根据本公开实施例的生成测试脚本的方法的流程图。
图4示意性示出了根据本公开又一实施例的测试数据准备方法的流程图。
图5示意性示出了根据本公开实施例的按照预设的触发条件触发执行所述测试脚本的流程图。
图6示意性示出了根据本公开再一实施例的测试数据准备方法的流程图。
图7示意性示出了根据本公开实施例的测试数据准备装置的结构框图。
图8示意性示出了根据本公开实施例的测试脚本生成模块的结构框图。
图9示意性示出了根据本公开又一实施例的测试数据准备装置的结构框图。
图10示意性示出了根据本公开又一实施例的触发模块的结构框图。
图11示意性示出了根据本公开再一实施例的测试数据准备装置的结构框图。
图12示意性示出了根据本公开实施例的适于实现测试数据准备方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
为了应对市场变化和日益增长的业务需求,包括商业银行在内的大量企业将系统架构逐步从传统的大机转型至分布式服务架构,合理布局主机和开放平台应用。从主机迁移至分布式平台,能够提升系统高性能、高并发的处理能力。分布式平台批量处理时在进行大业务量处理时的重要手段。其中,批量处理是指不需要用户交互或者在资源允许条件下,能够按照计划运行、集中访问大量的数据,完成预期处理。可适用于常用的几乎不需要用户交互的程序,可在事先计划好的时间运行或在有需要的时候集中运行。平台批量是指采用并行技术支持大业务量的处理,是一种特殊的联机业务。以商业银行为例,典型的平台批量处理包括批量开户、批量收费、批量转账、代理收费业务等;也包括对各类联机交易明细的汇总、分析、账务核算处理等。分布式平台批量处理时有很多通过文件进行跨应用交互的场景,例如跨平台对账、参数同步、回盘文件更新客户信息等。在进行测试时,上述涉及文件交互的测试场景依赖上游诸多业务应用配合提供联测数据文件才可开展,使得测试工作面临诸多困难。例如,单元测试当前日期的联测文件数据在日切后因为日期等要素变更不能重复使用,需要上游重新提供,数据恢复的效率比较低。其中,日切意为切换批量系统的批量日期,以进行下一个批量日作业调度。全流程测试依赖交易流程产生的联测文件数据,需要针对更新要素进行手工准备数据文件重复触发测试流程,重复触发对数据准备的要求比较高。联测文件涉及多个应用、多场次文件的场景数据准备容易出现遗漏;人工对输出文件进行核对检查,效率和质量都得不到有效保证。
以通过回盘文件更新客户信息业务场景为例。“对公账户”应用侧平台批量每天都会将NRA账户的全量信息(地区、网点、账户、币种、账户类型、客户名称、开户日期、客户注册地等)生成统计文件下传给前台业务报表供对应分行查询打印使用。但是客户名称、客户注册地信息是账户开户信息,其登记在“客户信息”应用侧,需要“对公账户”应用通过文件下传给“客户信息”应用(其中文件通常为bin文件、chk文件等),“客户信息”应用补充客户名称、客户注册地信息后再返传文件给回“对公账户”应用,“对公账户”再将文件数据更新回平台数据库,后续生成报表文件前台业务报表加载。上述处理流程中涉及到“客户信息”应用和“对公账户”应用需要经过批量文件交互进行数据传递,而且“客户信息”侧要求上送文件(bin、chk)和“对公账户”侧接收文件的日期必须为批量日期,其中批量日期=当前日期(系统日期)-1,否则批量加载文件时会校验报错。在对存量功能(例如“对公账户”)进行测试时,无法每次联系“客户信息”应用配合准备联测文件数据,尤其是测试环境日期变动的情况下,通常需要手工准备对应文件(手工调整批量日期为正确的日期并生成登记于文件服务器指定目录的文件),工作量较大且容易出错。
有鉴于此,本公开的实施例提供了一种测试数据准备方法,包括:生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元;基于所述测试脚本执行数据恢复程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成;以及基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。
本公开的实施例提供的方法,利用测试脚本自动实现源文件数据和目标文件预期数据的登记和维护。在执行数据恢复程序后,可以在预设的存储空间生成目标文件,并自动完成目标文件的核对。在提高测试文件数据准备效率的同时,实现了文件恢复的自动化检查和监控。
需要说明的是,本公开实施例提供的测试数据准备方法、装置、设备、介质和程序产品可用于软件测试技术在测试数据准备相关方面,也可用于除软件测试技术之外的多种领域,如金融领域等。本公开实施例提供的测试数据准备方法、装置、设备、介质和程序产品的应用领域不做限定。
以下将结合附图及其说明文字围绕实现本公开的至少一个目的的上述操作进行阐述。
图1示意性示出了根据本公开实施例的测试数据准备方法、装置、设备、介质和程序产品的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等,例如发送测试请求。终端设备101、102、103上还可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览或客户端浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的测试数据准备方法一般可以由服务器105执行。相应地,本公开实施例所提供的测试数据准备装置一般可以设置于服务器105中。本公开实施例所提供的测试数据准备方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的测试数据准备装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图6对公开实施例的测试数据准备方法进行详细描述。
图2示意性示出了根据本公开实施例的测试数据准备方法的流程图。
如图2所示,该实施例的测试数据准备方法包括操作S210~操作S230,该交易处理方法可以由处理器执行,也可以由包括处理器的任何电子设备执行。
在操作S210,生成测试脚本。所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元。
根据本公开的实施例,可以基于待测试应用的名称对测试脚本进行命名。由于测试脚本与待测试应用存在映射关系,通常可以一个测试脚本对应一个待测试应用。应理解,在对待测试应用进行测试时,可能关联一个或多个测试程序,所述一个或多个测试程序可以设计一个或多个文件。因此,可以将一个或多个测试程序涉及的一个或多个文件的数据登记至测试脚本中。测试脚本可以包含多个单元。在本公开的实施例中,测试脚本至少包含三个单元,分别登记环境信息,源文件数据和目标文件数据。其中,环境信息包含执行测试程序所需的环境配置信息,源文件预期数据包括程序测试依赖的文件数据,例如跨应用交互场景中的联测文件数据。目标文件预期数据包含的执行测试脚本后预期恢复的文件的数据。
在操作S220,基于所述测试脚本执行数据恢复程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成。在本公开的实施例中,可以基于测试脚本的执行将登记于第二单元的源文件数据结合环境信息恢复为目标文件,并将目标文件生成于指定的预设存储空间,例如指定的地址和目录下。以实现测试所需目标文件的快速自动化恢复。
在操作S230,基于所述执行结果生成反馈信息,其中,所述反馈信息至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。可以理解,为保障测试的运行,可以将测试脚本的执行结果生成反馈信息以反馈给相关测试分析人员。在测试任务进行过程中,尤其是新环境的前几次运行,一般都会有测试脚本核对不通过的情况,主要的包括:文件没有生成到指定目录下、文件记录数不对、文件大小不对、个别字段不对等。这可能涉及脚本配置信息的问题、环境的问题、程序本身的问题。本公开的实施例可以根据测试脚本的核对结果生成单独的脚本文件,即核对结果脚本文件,用以记录核对是否通过的结果以及核对不通过的原因和内容,以形成明确提示,如文件未于指定目录下生成、字段实际返回值和预期不一致、缺少记录数等。
本公开的实施例,通过测试脚本登记和维护源文件数据和目标文件预期数据。在执行数据恢复程序后,可以自动完成目标文件的核对以自动化完成对于文件恢复结果的核查工作。在提高测试文件数据准备效率的同时,实现了数据恢复的自动化检查和监控。
根据本公开的实施例,源文件数据提取自源文件,所述源文件和所述目标文件分别包括文档格式的文件。可以理解,不同来源的源文件可以为不同的格式。本公开的实施例利用测试脚本,将不同文档格式的源文件以统一格式进行数据提取和存储,节省了计算机存储和数据传输的开销,减少了数据维护的难度。其中,测试脚本可以为表格型文档,例如EXCEL文档,以便于源文件数据和目标文件数据的填充。
在一些具体的实施例中,文档格式包括二进制格式(bin)、文本文档格式(txt)、丢失簇的恢复文件格式(chk)以及无格式中的至少一种。其中,无格式数据为无文件格式后缀的数据。本公开的实施例可以利用测试脚本实现对于非数据库表文件的恢复和复用,可以为全流程批量测试工作,特别是涉及到跨应用跨平台多文档交互的测试工作提供良好抓手。
图3示意性示出了根据本公开实施例的生成测试脚本的方法的流程图。
如图3所示,该实施例的生成测试脚本的方法包括操作S310~操作S320。
在操作S310,将环境信息登记至所述测试脚本的第一单元,所述环境信息至少包含环境变量信息。
在操作S320,基于文件结构模板和所述环境变量信息登记源文件数据和目标文件预期数据,其中,将所述源文件数据登记至所述测试脚本的第二单元;将所述目标文件预期数据登记至所述测试脚本的第三单元。
在本公开的实施例中,可以预配置文件结构模板。文件结构模板与源文件的文档格式和文件结构存在映射关系。可以根据联测文件具体的文档格式类型以及源文件具体的文件结构生成相应的文件结构模板,以支持源文件数据和目标文件数据的填充和维护。例如,文件A,文件B和文件C分别为bin格式,txt格式,chk格式。相应的,可以针对上述三种格式的文件配置不同的文件结构模板。并且,当同一种文档格式的文件包含不同的文件结构时,也可根据文件结构的不同区分配置文件结构模板。例如,文件D,文件E和文件F均为bin格式,但所含字段不同(文件D有2个字段,文件E有5个字段,文件F有10个字段)时,也可进行文件结构模板的区分配置。应理解,可能应用的文件结构和文档格式是已知的。进一步,通过将环境变量信息登记至第一单元,可以在维护源文件数据和目标文件预期数据时,通过连接所述第一单元的环境变量信息,实现源文件数据和目标文件预期数据,以及生成的目标文件中相关内容的更新和替换,以支持测试脚本的可重复执行。
在一些具体的实施例中,环境变量信息包含公共变量信息和自定义变量信息。所述公共变量信息用于更新测试环境基础信息。所述自定义变量信息用于更新所述源文件数据和所述目标文件数据的个性化信息。可以理解,测试环境基础信息可以为更新源文件数据和目标文件预期数据时必须包含的环境信息。自定义变量信息可以基于源文件数据和目标文件预期数据的需求个性化定制。例如,公共变量信息可以包含系统日期和批量日期。又如,自定义变量信息可以包含数据库前缀,文件服务器信息,文件名,文件日期,文件日志表日期以及文件日志表明细序号中的至少两种,其中,所述文件服务器信息包括文件服务器地址、用户账号和密码以及文件目录。通过将文件服务器信息配置成自定义变量,可以支持自动将恢复的目标文件进行上传和/或下载,以及核对检查,无需再由人工介入,提升了数据准备的效率和准确性。
在一些具体的实施例中,所述环境信息还包括运行环境和执行程序清单。其中,执行程序清单还可以包含程序排程顺序,以保证测试脚本的正确执行。
在一些具体的实施例中,所述文件结构包含字段类型,字段名、字段长度和换行符中的至少两种。其中,字段类型可以包括但不限于有、无符号整数(例如正负号整数),文件码制(例如大机码、ASCII码),中英文字段,数值型字段,舍弃或隐藏字段等。根据源文件来源和格式的不同,以及批量文件的译码方式不同,字段类型,字段长度以及换行符均有可能不同。在优选的实施例中,在登记所述源文件数据和目标文件预期数据时,可以基于预设的规则对字段和换行符进行区分登记,以保证数据恢复的正确性。典型的示例中,源文件有两种译码方式,分别为经过统一数据交换平台译码处理和不同业务应用点对点传输文件。可以基于不同译码方式对字段类型区别登记,以支持不同的特殊处理。比如,数字型字段123、长度5位,统一数据交换平台译码处理是右补空格‘123’,点对点处理是左补0‘00123’;源文件的金额字段涉及负数,其为有符号整数,可以通过字段类型区别登记,支持字段长度加1的处理;为了保证测试的执行,源文件的中文字段在做数据恢复后不能出现乱码情况,可以通过字段类型区别登记,支持中文码制正常;不同源文件换行符有可能会不同,可以通过脚本指定位置备注登记换行符方式,在生成目标文件时做相应处理,如有些是/n、有些是/r/n。类似的,目标文件预期数据可以基于类似的方式进行登记,以与目标文件核对。
图4示意性示出了根据本公开又一实施例的测试数据准备方法的流程图。
如图4所示,该又一实施例的测试数据准备方法还包括操作S410。
在操作S410,按照预设的触发条件触发执行所述测试脚本。由此,可以自动触发测试脚本的执行,有利于测试效率的提升。
图5示意性示出了根据本公开实施例的按照预设的触发条件触发执行所述测试脚本的流程图。
如图5所示,该实施例的生成测试脚本的方法包括操作S510~操作S520。
在操作S510,当所述待测试应用关联两个以上的测试脚本时,预配置所述测试脚本的触发条件,所述触发条件包括测试脚本的执行顺序和执行周期,所述执行周期包括执行时间和/或执行频率。
在操作S520,当满足所述触发条件时,自动触发所述测试脚本执行数据恢复程序。
本公开的实施例中,可以按照生产实际运行程序的顺序执行测试脚本,并模拟生产实际情况设定测试脚本的执行周期,也可以根据测试环境和实际情况设置该测试脚本执行计划的运行周期,从而实现自定义测试程序运行周期。例如,每周触发一次/每月触发一次;又如,一周触发预设次数,每月于预设的时间触发。通过触发条件的设置自动触发执行测试脚本可以实现全流程自动化测试。通过定义测试脚本间的执行顺序,可以使得本公开的实施例尤其适用于涉及场景和文件交互的应用的测试任务。
图6示意性示出了根据本公开再一实施例的测试数据准备方法的流程图。
如图6所示,该再一实施例的测试数据准备方法还包括操作S610。
在操作S610,基于所述反馈信息生成提示信息和可查询记录信息。应理解,其中,提示信息可以通过邮件通知,也可以通过应用程序等渠道进行通知。提示信息可以包含反馈信息,还可以包含测试程序的执行信息。例如可以包含核对异常的脚本以及涉及的程序清单,程序执行中断的情况,中断程序名称,日志信息等信息。提示信息可以发送至脚本维护人员和测试分析人员,以供分析。进一步,相关测试脚本和测试程序的执行情况还可以维护至后台服务器,以支持前段查询。例如可以支持在网页端按测试计划名、脚本名、程序名查询全量执行情况,查看运行日志、核对结果脚本、历史执行记录等信息。上述可查询记录信息可以为永久存储。
基于上述测试数据准备方法,本公开还提供了一种测试数据准备装置。以下将结合图7对该装置进行详细描述。
图7示意性示出了根据本公开实施例的测试数据准备装置的结构框图。
如图7所示,该实施例的测试数据准备装置700包括测试脚本生成模块710、执行模块720和反馈模块730。
测试脚本生成模块710被配置为生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元。
执行模块720被配置为基于所述测试脚本执行测试程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成;
反馈模块730被配置为基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。
其中,测试脚本生成模块还可以包含第一登记单元,第二登记单元,以及第三登记单元。
图8示意性示出了根据本公开实施例的测试脚本生成模块的结构框图。
如图8所示,该实施例的测试脚本生成模块710还可以包含第一登记单元7101,第二登记单元7102,以及第三登记单元7103。
其中,第一登记单元7101被配置为将环境信息登记至所述测试脚本的第一单元,所述环境信息至少包含环境变量信息。
第二登记单元7102被配置为基于文件结构模板和所述环境变量信息将所述源文件数据登记至所述测试脚本的第二单元。其中,所述文件结构模板与源文件的文档格式和文件结构存在映射关系。
第三登记单元7103被配置为基于文件结构模板和所述环境变量信息将所述目标文件预期数据登记至所述测试脚本的第三单元。
在一些实施例中,测试数据准备装置还可以包括触发模块。
图9示意性示出了根据本公开又一实施例的测试数据准备装置的结构框图。
如图9所示,该又一实施例的测试数据准备装置700括触发模块740。所述触发模块740被配置为按照预设的触发条件触发执行所述测试脚本。
根据本公开又一实施例,触发模块可以包括设定单元和自动触发单元。
图10示意性示出了根据本公开又一实施例的触发模块的结构框图。
如图10所示,所述触发模块740包括设定单元7401和自动触发单元7402。
设定单元7401被配置为当所述待测试应用关联两个以上的测试脚本时,预配置所述测试脚本的触发条件,所述触发条件包括测试脚本的执行顺序和执行周期,其中,所述执行周期包括执行时间和/或执行频率。
自动触发单元7402被配置为当满足所述触发条件时,自动触发所述测试脚本执行数据恢复程序。
在一些实施例中,测试数据准备装置还可以包括通知模块。
图11示意性示出了根据本公开再一实施例的测试数据准备装置的结构框图。
如图11所示,该又一实施例的测试数据准备装置700还包括通知模块750。所述通知模块750被配置为基于所述反馈信息生成提示信息和可查询记录信息。
根据本公开的实施例,测试脚本生成模块710、执行模块720、反馈模块730、第一登记单元7101,第二登记单元7102、第三登记单元7103、触发模块740、设定单元7401、自动触发单元7402以及通知模块750中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,测试脚本生成模块710、执行模块720、反馈模块730、第一登记单元7101,第二登记单元7102、第三登记单元7103、触发模块740、设定单元7401、自动触发单元7402以及通知模块750中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,测试脚本生成模块710、执行模块720、反馈模块730、第一登记单元7101,第二登记单元7102、第三登记单元7103、触发模块740、设定单元7401、自动触发单元7402以及通知模块750中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本公开实施例的适于实现测试数据准备方法的电子设备的方框图。
如图12所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器901执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分909被下载和安装,和/或从可拆卸介质911被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (16)

1.一种测试数据准备方法,其特征在于,包括:
生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元;
基于所述测试脚本执行数据恢复程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成;以及
基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。
2.根据权利要求1所述的测试数据准备方法,其中,所述源文件数据提取自源文件,所述源文件和所述目标文件分别包括文档格式的文件。
3.根据权利要求2所述的测试数据准备方法,其中,所述文档格式包括二进制格式、文本文档格式、丢失簇的恢复文件格式以及无格式中的至少一种。
4.根据权利要求1~3任一项所述的测试数据准备方法,其中,所述生成测试脚本包括:
将环境信息登记至所述测试脚本的第一单元,所述环境信息至少包含环境变量信息;以及
基于文件结构模板和所述环境变量信息登记源文件数据和目标文件预期数据,其中,将所述源文件数据登记至所述测试脚本的第二单元;将所述目标文件预期数据登记至所述测试脚本的第三单元,
其中,所述文件结构模板与源文件的文档格式和文件结构存在映射关系。
5.根据权利要求4所述的测试数据准备方法,其中,所述环境变量信息包含公共变量信息和自定义变量信息;所述公共变量信息用于更新测试环境基础信息;所述自定义变量信息用于更新所述源文件数据和所述目标文件数据的个性化信息。
6.根据权利要求5所述的测试数据准备方法,其中,所述公共变量信息包含系统日期和批量日期,和/或,所述自定义变量信息包含数据库前缀,文件服务器信息,文件名,文件日期,文件日志表日期以及文件日志表明细序号中的至少两种,其中,所述文件服务器信息包括文件服务器地址、用户账号和密码以及文件目录。
7.根据权利要求4所述的测试数据准备方法,其中,所述环境信息还包括运行环境和执行程序清单。
8.根据权利要求4所述的测试数据准备方法,其中,所述文件结构包含字段类型,字段名、字段长度和换行符中的至少两种。
9.根据权利要求8所述的测试数据准备方法,其中,在登记所述源文件数据和目标文件预期数据时,基于预设的规则对字段和换行符进行区分登记。
10.根据权利要求1所述的测试数据准备方法,所述方法还包括:
按照预设的触发条件触发执行所述测试脚本。
11.根据权利要求1所述的测试数据准备方法,其中,所述按照预设的触发条件触发执行所述测试脚本包括:
当所述待测试应用关联两个以上的测试脚本时,预配置所述测试脚本的触发条件,所述触发条件包括测试脚本的执行顺序和执行周期,其中,所述执行周期包括执行时间和/或执行频率;
当满足所述触发条件时,自动触发所述测试脚本执行数据恢复程序。
12.根据权利要求1所述的测试数据准备方法,其中,在基于所述执行结果生成反馈信息后,所述方法还包括:
基于所述反馈信息生成提示信息和可查询记录信息。
13.一种测试数据准备装置,包括:
测试脚本生成模块,配置为生成测试脚本,所述测试脚本与待测试应用存在映射关系,所述待测试应用关联至少一个测试程序,所述测试脚本包括登记有环境信息的第一单元,登记有源文件数据的第二单元以及登记有目标文件预期数据的第三单元;
执行模块,配置为基于所述测试脚本执行测试程序,获取执行结果,其中,所述获取执行结果包括在预设的存储空间生成目标文件,所述目标文件基于所述环境信息和所述源文件数据生成;
反馈模块,配置为基于所述执行结果生成反馈信息,其中,所述反馈信息包含至少包含核对结果脚本文件,所述核对结果脚本文件基于目标文件核对生成,所述目标文件核对包括基于所述目标文件预期数据对所述目标文件进行核对。
14.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~12中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~12中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~12中任一项所述的方法。
CN202210605174.5A 2022-05-30 2022-05-30 测试数据准备方法、装置、设备、介质和程序产品 Pending CN114860610A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210605174.5A CN114860610A (zh) 2022-05-30 2022-05-30 测试数据准备方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210605174.5A CN114860610A (zh) 2022-05-30 2022-05-30 测试数据准备方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN114860610A true CN114860610A (zh) 2022-08-05

Family

ID=82641022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210605174.5A Pending CN114860610A (zh) 2022-05-30 2022-05-30 测试数据准备方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN114860610A (zh)

Similar Documents

Publication Publication Date Title
US9633094B2 (en) Data load process
CN113076104A (zh) 页面生成方法、装置、设备及存储介质
CN112445866A (zh) 数据处理方法、装置、计算机可读介质及电子设备
US9569516B2 (en) Method and device for executing an enterprise process
US20190197171A1 (en) Data migration system
CN114385722A (zh) 接口属性的一致性校验方法、装置、电子设备和存储介质
CN111428463A (zh) 一种短信处理方法、装置、电子设备和存储介质
CN115760013A (zh) 运维模型的构建方法、装置、电子设备及存储介质
CN114860610A (zh) 测试数据准备方法、装置、设备、介质和程序产品
CN112148762A (zh) 一种实时数据流的统计方法和装置
US11392486B1 (en) Multi-role, multi-user, multi-technology, configuration-driven requirements, coverage and testing automation
CN114840429A (zh) 识别版本冲突的方法、装置、设备、介质和程序产品
CN114707961A (zh) 基于审批流配置的待审批任务执行方法、装置、设备、介质和程序产品
CN113515510A (zh) 数据处理方法、数据处理系统、电子设备及可读存储介质
US9146801B2 (en) Application information specifiable by users and third parties
CN115878596A (zh) 数据处理方法、装置、设备及存储介质
CN114201214A (zh) 文件生成方法、装置、电子设备、介质和程序产品
CN116401319B (zh) 数据同步方法及装置、电子设备和计算机可读存储介质
US20240160517A1 (en) Alert aggregation and health issues processing in a cloud environment
CN114691527A (zh) 单元测试案例生成方法、装置、设备、介质和程序产品
US20240126679A1 (en) Metadata comparison of application programming interface (api) payloads
Mendoza Sánchez Design and implementation of a data aggregation system for the 5G network management plane
US20230247111A1 (en) Runtime module conversion
CN114817314A (zh) 数据处理方法、装置、电子设备及存储介质
Olmsted Secure business intelligence markup language (secBIML) for the cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination