CN110377502A - 基于脚本的功能测试方法、装置及终端设备 - Google Patents

基于脚本的功能测试方法、装置及终端设备 Download PDF

Info

Publication number
CN110377502A
CN110377502A CN201910525506.7A CN201910525506A CN110377502A CN 110377502 A CN110377502 A CN 110377502A CN 201910525506 A CN201910525506 A CN 201910525506A CN 110377502 A CN110377502 A CN 110377502A
Authority
CN
China
Prior art keywords
record
script
record set
error
test
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
CN201910525506.7A
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
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 OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201910525506.7A priority Critical patent/CN110377502A/zh
Publication of CN110377502A publication Critical patent/CN110377502A/zh
Pending legal-status Critical Current

Links

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是本发明实施例六提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图1示出了本发明实施例提供的基于脚本的功能测试方法的实现流程,详述如下:
在S101中,获取预设的测试脚本,所述测试脚本对应至少两个待测功能。
本发明实施例针对于对终端设备上的至少两个待测功能进行自动化测试的场景,首先获取与待测功能对应的测试脚本,该测试脚本用于在被执行后,自动执行所有待测功能对应的程序,其中,本发明实施例对待测功能的类型不做限定,比如待测功能可为投票功能、登录功能或注销功能等,测试脚本可基于Python语言或其他脚本编程语言编写。
在S102中,将所述测试脚本分配至预设的至少两台测试机器中版本号最高的一台,执行所述测试脚本,获取产生的执行日志,其中,不同所述测试机器的所述版本号不同。
为了防止在单一机器上测试待测功能造成的测试结果缺乏参考性,难以定位问题,在本发明实施例中,预先设置至少两台测试机器,由于最终目的是对版本号最高(最新)的测试机器上的待测功能进行测试,故将测试脚本最先分配至版本号最高的一台测试机器,其中,测试机器可为虚拟机,也可为实体设备,每台测试机器上均配置有待测功能。值得一提的是,不同的测试机器的版本号不同,该版本号可为待测功能的版本号,可为待测功能的载体(如应用程序)的版本号,也可为测试机器本身的版本号(如Linux操作***的版本号)。完成分配后,在版本号最高的测试机器上执行测试脚本,并获取测试脚本执行过程中产生的执行日志,该执行日志可为测试机器的本地日志,也可连接待测功能对应的后台服务器,将后台服务器在测试脚本执行期间产生的后台日志作为执行日志,测试机器与后台服务器之间的连接可基于安全外壳协议(Secure Shell,SSH)或其他协议实现。
在S103中,若所述执行日志中出现高于预设告警等级的日志记录,则将所述日志记录确定为目标记录,基于所述目标记录生成报错记录集。
对获取到的执行日志进行分析,查看执行日志中是否出现高于预设告警等级的日志记录。若执行日志中出现高于预设告警等级的日志记录,则将该日志记录确定为目标记录。预设告警等级可根据实际应用场景中对待测功能的测试要求进行设置,如在告警等级包括DEBUG、INFO、WARN、ERROR以及FATAL的情况下,可将预设告警等级设置为INFO。相较于传统方法中直接输出目标记录,导致信息过少,测试人员无法根据目标记录确定待测功能中出现的问题,在本发明实施例中,基于目标记录生成报错记录集,具体生成方式在后文进行阐述。
可选地,在生成报错记录集后,将报错记录集上传至预设的报错服务器中。为了便于对报错记录集进行管理及进行后续的输出操作,在生成报错记录集后,可将报错记录集上传至预设的报错服务器中,该报错服务器用于对报错记录集进行管理,报错服务器具体可为HTTP档案服务器(Http File Server,HFS),当然也可为其他类型的服务器。通过上述方法提升了对报错记录集的管理效果。
在S104中,将所述目标记录对应的所述待测功能确定为目标功能,提取所述测试脚本中与所述目标功能相关的子脚本。
由于在执行测试脚本的过程中,是对至少两个待测功能进行测试,故在本步骤中将目标记录对应的待测功能确定为目标功能,并提取测试脚本中与目标功能相关的部分作为子脚本,后续仅基于该子脚本进行测试。
在S105中,重复将所述子脚本分配至其余的所述测试机器,获取执行所述子脚本后生成的所述报错记录集,直到得到每个所述测试机器对应的所述报错记录集为止。
在完成对版本号最高的测试机器上的待测功能的测试后,重复将子脚本分配至其余的测试机器,并在被分配子脚本的测试机器上执行子脚本,获取执行子脚本所得到的报错记录集,直到得到每个测试机器对应的报错记录集为止。其中,若在测试机器上执行子脚本后,未出现高于预设告警等级的日志记录,则设定生成的报错记录集为空,便于进行管理。其中,分配子脚本的操作可为随机分配,也可为按照版本号顺序进行分配,版本号顺序为版本号从高到低的顺序或从低到高的顺序。
在S106中,将最高的所述版本号对应的所述报错记录集确定为基础记录集,判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集。
为了便于区分,将最高的版本号对应的报错记录集确定为基础记录集,并在其他报错记录集中判断是否存在不含有基础记录集内的目标记录的报错记录集,根据判断结果执行不同操作。
在S107中,若存在不含有所述基础记录集内的所述目标记录的所述报错记录集,则将所述报错记录集确定为比对记录集,基于所述基础记录集以及所述比对记录集生成并输出测试报告。
若存在不含有基础记录集内的目标记录的报错记录集,证明该报错记录集对应的测试机器不存在目标功能对应的问题,则将该报错记录集确定为比对记录集,基于基础记录集以及比对记录集生成并输出测试报告,便于测试人员根据测试报告来分析比对记录集对应的测试机器中未出现问题的原因。为了避免因测试报告冗长造成的阅读不便,还可设置将基础记录集以及比对记录集在报错服务器中的存储目录链接添加至测试报告,并进行输出,而不是将整个集合添加至测试报告,测试人员通过点击测试报告中的存储目录链接,便可访问基础记录集或比对记录集,提升了阅读体验。
可选地,若所有所述报错记录集均含有所述基础记录集内的所述目标记录,则基于所述基础记录集输出错误提示。若进行判断操作后,判定出所有报错记录集均含有基础记录集内的目标记录,证明目标功能对应的问题存在于所有版本号的测试机器中,则直接基于基础记录集输出错误提示,提示测试人员对目标功能对应的程序进行查看并优化。
通过图1所示实施例可知,在本发明实施例中,将测试脚本分配至预设的至少两台测试机器中版本号最高的一台,获取执行测试脚本所产生的执行日志,若执行日志中出现高于预设告警等级的日志记录,则将该日志记录确定为目标记录,基于目标记录生成报错记录集,将目标记录对应的待测功能确定为目标功能,提取测试脚本中与目标功能相关的子脚本,重复将子脚本分配至其余的测试机器,获取执行子脚本后生成的报错记录集,将最高的版本号对应的报错记录集确定为基础记录集,若存在不含有基础记录集内的目标记录的报错记录集,则将该报错记录集确定为比对记录集,基于基础记录集以及比对记录集生成并输出测试报告,本发明实施例通过在不同版本号的测试机器上进行测试,并输出测试报告,提升了测试结果的参考性,便于测试人员根据测试报告定位出待测功能中存在的问题。
图2所示,是在本发明实施例一的基础上,对基于目标记录生成报错记录集的过程进行细化后得到的一种方法。本发明实施例提供了基于脚本的功能测试方法的实现流程图,如图2所示,该功能测试方法可以包括以下步骤:
在S201中,根据所述目标记录在所述执行日志中截取预设数量的所述日志记录,将所述目标记录和截取的所有所述日志记录集合为初始记录集。
由于目标记录的数量较少,若仅输出目标记录,可能因信息较少导致难以定位问题,故在本发明实施例中,根据确定出的目标记录在执行日志中进行截取,具体截取位于目标记录之前的且数量为预设的截取数量的日志记录,将截取出的日志记录与目标记录本身集合为初始记录集,截取数量可根据实际应用场景进行设置,如设置截取数量为400条。值得一提的是,该初始记录集仅是指示对目标记录以及截取出的日志记录进行单独分类,而不是指某一种具体的存储格式。
在S202中,根据预设关键词对所述初始记录集进行过滤得到所述报错记录集。
由于执行日志中除了与待测功能相关的日志记录外,还可能存在其他的***日志,故在本步骤中对生成的初始记录集进行过滤,具体根据预设关键词如System等对初始记录集进行过滤,滤除掉包含预设关键词的日志记录,将进行了过滤操作之后的初始记录集确定为报错记录集。
通过图2所示实施例可知,在本发明实施例中,根据目标记录在执行日志中截取预设数量的日志记录,将目标记录和截取的所有日志记录集合为初始记录集,根据预设关键词对初始记录集进行过滤得到报错记录集,本发明实施例通过对初始记录集进行过滤得到报错记录集,提升了报错记录集的信息有效率。
图3所示,是在本发明实施例一的基础上,对将目标记录对应的待测功能确定为目标功能的过程进行细化后得到的一种方法。本发明实施例提供了基于脚本的功能测试方法的实现流程图,如图3所示,该功能测试方法可以包括以下步骤:
在S301中,获取预设的记录序列,所述记录序列包括至少两个结束记录,每个所述结束记录与一个所述待测功能对应。
为了便于确定目标记录对应的待测功能,在本发明实施例中,获取预设的记录序列,该记录序列包括至少两个结束记录,每个结束记录均与一个待测功能对应,即结束记录为执行完成对应的待测功能的程序时所生成的记录。优选地,记录序列对应的待测功能的顺序与测试脚本中对应的待测功能的顺序相同。
在S302中,将所述执行日志中位于所述目标记录之前且与所述目标记录的距离最接近的结束记录确定为基准记录,将所述记录序列中所述基准记录的下一个所述结束记录对应的所述待测功能确定为所述目标功能。
在确定出目标记录之后,进一步确定出执行日志中位于目标记录之前且与目标距离的距离最接近的结束记录,为了便于区分,将该结束记录命名为基准记录。由于已存在基准记录,证明基准记录对应的待测功能已执行完成,故将记录序列中基准记录的下一个结束记录对应的待测功能确定为目标功能。
通过图3所示实施例可知,在本发明实施例中,获取预设的记录序列,该记录序列包括至少两个结束记录,每个结束记录与一个待测功能对应,将执行日志中位于目标记录之前且与目标记录的距离最接近的结束记录确定为基准记录,将记录序列中基准记录的下一个结束记录对应的待测功能确定为目标功能,本发明实施例根据预设的记录序列确定目标功能,提升了确定目标功能的准确性。
图4所示,是在本发明实施例一的基础上,对提取测试脚本中与目标功能相关的子脚本的过程进行细化后得到的一种方法。本发明实施例提供了基于脚本的功能测试方法的实现流程图,如图4所示,该功能测试方法可以包括以下步骤:
在S401中,获取所述测试脚本中与每个所述待测功能对应的代码区间。
由于测试脚本用于对至少两个待测功能进行测试,即测试脚本中包含与每个待测功能对应的测试代码,故在本发明实施例中,获取测试脚本中与每个待测功能对应的代码区间,从而剥离出每个待测功能,该代码区间对应每个待测功能对应的部分测试代码。代码区间具体可用代码行数进行表述,如某个代码区间可为测试脚本的第一行至第十行以及第二十行至第三十行的集合,代码区间可预先由测试人员进行设定。
在S402中,将所述目标功能对应的所述代码区间确定为目标区间,将所述目标区间内的代码确定为所述子脚本。
在确定出目标功能后,将目标功能对应的代码区间确定为目标区间,并将测试脚本中位于目标区间内的代码确定为子脚本,具体提取测试脚本中位于目标区间的代码,将提取出的代码组合为子脚本。
通过图4所示实施例可知,在本发明实施例中,获取测试脚本中与每个待测功能对应的代码区间,将目标功能对应的代码区间确定为目标区间,将目标区间内的代码确定为子脚本,本发明实施例通过预先划分测试脚本中的代码区间,使得后续剥离出的子脚本能够成功运行,提升了确定出的子脚本的准确性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的基于脚本的功能测试方法,图5示出了本发明实施例提供的基于脚本的功能测试装置的结构框图,参照图5,该功能测试装置包括:
获取单元51,用于获取预设的测试脚本,所述测试脚本对应至少两个待测功能;
执行单元52,用于将所述测试脚本分配至预设的至少两台测试机器中版本号最高的一台,执行所述测试脚本,获取产生的执行日志,其中,不同所述测试机器的所述版本号不同;
生成单元53,用于若所述执行日志中出现高于预设告警等级的日志记录,则将所述日志记录确定为目标记录,基于所述目标记录生成报错记录集;
提取单元54,用于将所述目标记录对应的所述待测功能确定为目标功能,提取所述测试脚本中与所述目标功能相关的子脚本;
重复分配单元55,用于重复将所述子脚本分配至其余的所述测试机器,获取执行所述子脚本后生成的所述报错记录集,直到得到每个所述测试机器对应的所述报错记录集为止;
判断单元56,用于将最高的所述版本号对应的所述报错记录集确定为基础记录集,判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集;
输出单元57,用于若存在不含有所述基础记录集内的所述目标记录的所述报错记录集,则将所述报错记录集确定为比对记录集,基于所述基础记录集以及所述比对记录集生成并输出测试报告。
可选地,生成单元53包括:
截取单元,用于根据所述目标记录在所述执行日志中截取预设数量的所述日志记录,将所述目标记录和截取的所有所述日志记录集合为初始记录集;
过滤单元,用于根据预设关键词对所述初始记录集进行过滤得到所述报错记录集。
可选地,提取单元54包括:
序列获取单元,用于获取预设的记录序列,所述记录序列包括至少两个结束记录,每个所述结束记录与一个所述待测功能对应;
确定单元,用于将所述执行日志中位于所述目标记录之前且与所述目标记录的距离最接近的结束记录确定为基准记录,将所述记录序列中所述基准记录的下一个所述结束记录对应的所述待测功能确定为所述目标功能。
可选地,提取单元54包括:
区间获取单元,用于获取所述测试脚本中与每个所述待测功能对应的代码区间;
脚本确定单元,用于将所述目标功能对应的所述代码区间确定为目标区间,将所述目标区间内的代码确定为所述子脚本。
可选地,判断单元56还包括:
提示输出单元,用于若所有所述报错记录集均含有所述基础记录集内的所述目标记录,则基于所述基础记录集输出错误提示。
因此,本发明实施例提供的基于脚本的功能测试装置通过在不同版本号的测试机器上执行脚本,提升了生成的测试报告的参考性,使得测试人员能够根据测试报告快速定位出问题。
图6是本发明实施例提供的终端设备的示意图。如图6所示,该实施例的终端设备6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如基于脚本的功能测试程序。所述处理器60执行所述计算机程序62时实现上述各个基于脚本的功能测试方法实施例中的步骤,例如图1所示的步骤S101至S107。或者,所述处理器60执行所述计算机程序62时实现上述各基于脚本的功能测试装置实施例中各单元的功能,例如图5所示单元51至57的功能。
示例性的,所述计算机程序62可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端设备6中的执行过程。例如,所述计算机程序62可以被分割成获取单元、执行单元、生成单元、提取单元、重复分配单元、判断单元以及输出单元,各单元具体功能如下:
获取单元,用于获取预设的测试脚本,所述测试脚本对应至少两个待测功能;
执行单元,用于将所述测试脚本分配至预设的至少两台测试机器中版本号最高的一台,执行所述测试脚本,获取产生的执行日志,其中,不同所述测试机器的所述版本号不同;
生成单元,用于若所述执行日志中出现高于预设告警等级的日志记录,则将所述日志记录确定为目标记录,基于所述目标记录生成报错记录集;
提取单元,用于将所述目标记录对应的所述待测功能确定为目标功能,提取所述测试脚本中与所述目标功能相关的子脚本;
重复分配单元,用于重复将所述子脚本分配至其余的所述测试机器,获取执行所述子脚本后生成的所述报错记录集,直到得到每个所述测试机器对应的所述报错记录集为止;
判断单元,用于将最高的所述版本号对应的所述报错记录集确定为基础记录集,判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集;
输出单元,用于若存在不含有所述基础记录集内的所述目标记录的所述报错记录集,则将所述报错记录集确定为比对记录集,基于所述基础记录集以及所述比对记录集生成并输出测试报告。
所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的示例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述终端设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于脚本的功能测试方法,其特征在于,包括:
获取预设的测试脚本,所述测试脚本对应至少两个待测功能;
将所述测试脚本分配至预设的至少两台测试机器中版本号最高的一台,执行所述测试脚本,获取产生的执行日志,其中,不同所述测试机器的所述版本号不同;
若所述执行日志中出现高于预设告警等级的日志记录,则将所述日志记录确定为目标记录,基于所述目标记录生成报错记录集;
将所述目标记录对应的所述待测功能确定为目标功能,提取所述测试脚本中与所述目标功能相关的子脚本;
重复将所述子脚本分配至其余的所述测试机器,获取执行所述子脚本后生成的所述报错记录集,直到得到每个所述测试机器对应的所述报错记录集为止;
将最高的所述版本号对应的所述报错记录集确定为基础记录集,判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集;
若存在不含有所述基础记录集内的所述目标记录的所述报错记录集,则将所述报错记录集确定为比对记录集,基于所述基础记录集以及所述比对记录集生成并输出测试报告。
2.如权利要求1所述的功能测试方法,其特征在于,所述基于所述目标记录生成报错记录集,包括:
根据所述目标记录在所述执行日志中截取预设数量的所述日志记录,将所述目标记录和截取的所有所述日志记录集合为初始记录集;
根据预设关键词对所述初始记录集进行过滤得到所述报错记录集。
3.如权利要求1所述的功能测试方法,其特征在于,所述将所述目标记录对应的所述待测功能确定为目标功能,包括:
获取预设的记录序列,所述记录序列包括至少两个结束记录,每个所述结束记录与一个所述待测功能对应;
将所述执行日志中位于所述目标记录之前且与所述目标记录的距离最接近的结束记录确定为基准记录,将所述记录序列中所述基准记录的下一个所述结束记录对应的所述待测功能确定为所述目标功能。
4.如权利要求1所述的功能测试方法,其特征在于,所述提取所述测试脚本中与所述目标功能相关的子脚本,包括:
获取所述测试脚本中与每个所述待测功能对应的代码区间;
将所述目标功能对应的所述代码区间确定为目标区间,将所述目标区间内的代码确定为所述子脚本。
5.如权利要求1所述的功能测试方法,其特征在于,所述判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集之后,还包括:
若所有所述报错记录集均含有所述基础记录集内的所述目标记录,则基于所述基础记录集输出错误提示。
6.一种基于脚本的功能测试装置,其特征在于,包括:
获取单元,用于获取预设的测试脚本,所述测试脚本对应至少两个待测功能;
执行单元,用于将所述测试脚本分配至预设的至少两台测试机器中版本号最高的一台,执行所述测试脚本,获取产生的执行日志,其中,不同所述测试机器的所述版本号不同;
生成单元,用于若所述执行日志中出现高于预设告警等级的日志记录,则将所述日志记录确定为目标记录,基于所述目标记录生成报错记录集;
提取单元,用于将所述目标记录对应的所述待测功能确定为目标功能,提取所述测试脚本中与所述目标功能相关的子脚本;
重复分配单元,用于重复将所述子脚本分配至其余的所述测试机器,获取执行所述子脚本后生成的所述报错记录集,直到得到每个所述测试机器对应的所述报错记录集为止;
判断单元,用于将最高的所述版本号对应的所述报错记录集确定为基础记录集,判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集;
输出单元,用于若存在不含有所述基础记录集内的所述目标记录的所述报错记录集,则将所述报错记录集确定为比对记录集,基于所述基础记录集以及所述比对记录集生成并输出测试报告。
7.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取预设的测试脚本,所述测试脚本对应至少两个待测功能;
将所述测试脚本分配至预设的至少两台测试机器中版本号最高的一台,执行所述测试脚本,获取产生的执行日志,其中,不同所述测试机器的所述版本号不同;
若所述执行日志中出现高于预设告警等级的日志记录,则将所述日志记录确定为目标记录,基于所述目标记录生成报错记录集;
将所述目标记录对应的所述待测功能确定为目标功能,提取所述测试脚本中与所述目标功能相关的子脚本;
重复将所述子脚本分配至其余的所述测试机器,获取执行所述子脚本后生成的所述报错记录集,直到得到每个所述测试机器对应的所述报错记录集为止;
将最高的所述版本号对应的所述报错记录集确定为基础记录集,判断是否存在不含有所述基础记录集内的所述目标记录的所述报错记录集;
若存在不含有所述基础记录集内的所述目标记录的所述报错记录集,则将所述报错记录集确定为比对记录集,基于所述基础记录集以及所述比对记录集生成并输出测试报告。
8.如权利要求7所述的终端设备,其特征在于,所述基于所述目标记录生成报错记录集,包括:
根据所述目标记录在所述执行日志中截取预设数量的所述日志记录,将所述目标记录和截取的所有所述日志记录集合为初始记录集;
根据预设关键词对所述初始记录集进行过滤得到所述报错记录集。
9.如权利要求7所述的终端设备,其特征在于,所述将所述目标记录对应的所述待测功能确定为目标功能,包括:
获取预设的记录序列,所述记录序列包括至少两个结束记录,每个所述结束记录与一个所述待测功能对应;
将所述执行日志中位于所述目标记录之前且与所述目标记录的距离最接近的结束记录确定为基准记录,将所述记录序列中所述基准记录的下一个所述结束记录对应的所述待测功能确定为所述目标功能。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述功能测试方法的步骤。
CN201910525506.7A 2019-06-18 2019-06-18 基于脚本的功能测试方法、装置及终端设备 Pending CN110377502A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910525506.7A CN110377502A (zh) 2019-06-18 2019-06-18 基于脚本的功能测试方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910525506.7A CN110377502A (zh) 2019-06-18 2019-06-18 基于脚本的功能测试方法、装置及终端设备

Publications (1)

Publication Number Publication Date
CN110377502A true CN110377502A (zh) 2019-10-25

Family

ID=68250413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910525506.7A Pending CN110377502A (zh) 2019-06-18 2019-06-18 基于脚本的功能测试方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN110377502A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650670A (zh) * 2020-12-17 2021-04-13 京东数科海益信息科技有限公司 应用测试方法、装置、***、电子设备和存储介质
CN113138916A (zh) * 2021-04-06 2021-07-20 青岛以萨数据技术有限公司 基于标注样本的图片结构化算法的自动测试方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010002572A (ko) * 1999-06-16 2001-01-15 헨리 엔 가라나 컴퓨터 시스템에 소프트웨어의 설치 및/또는 테스트방법
US20150135169A1 (en) * 2013-11-12 2015-05-14 Institute For Information Industry Testing device and testing method thereof
CN109726107A (zh) * 2018-06-01 2019-05-07 平安普惠企业管理有限公司 测试方法、装置、设备及存储介质
CN109783378A (zh) * 2019-01-02 2019-05-21 郑州云海信息技术有限公司 GPU在Ubnutu***的兼容性测试方法、装置、终端及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010002572A (ko) * 1999-06-16 2001-01-15 헨리 엔 가라나 컴퓨터 시스템에 소프트웨어의 설치 및/또는 테스트방법
US20150135169A1 (en) * 2013-11-12 2015-05-14 Institute For Information Industry Testing device and testing method thereof
CN109726107A (zh) * 2018-06-01 2019-05-07 平安普惠企业管理有限公司 测试方法、装置、设备及存储介质
CN109783378A (zh) * 2019-01-02 2019-05-21 郑州云海信息技术有限公司 GPU在Ubnutu***的兼容性测试方法、装置、终端及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姚从潮;王新民;张斯哲;黄誉;: "基于脚本和可视化的分布式半物理仿真***设计", 测控技术, no. 03 *
徐彩霞;葛华勇;侯仰宇;: "面向CLI的自动化测试方法的研究与实现", 计算机与数字工程, no. 02 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650670A (zh) * 2020-12-17 2021-04-13 京东数科海益信息科技有限公司 应用测试方法、装置、***、电子设备和存储介质
CN113138916A (zh) * 2021-04-06 2021-07-20 青岛以萨数据技术有限公司 基于标注样本的图片结构化算法的自动测试方法及***
CN113138916B (zh) * 2021-04-06 2024-04-30 青岛以萨数据技术有限公司 基于标注样本的图片结构化算法的自动测试方法及***

Similar Documents

Publication Publication Date Title
CN109062780B (zh) 自动化测试用例的开发方法及终端设备
CN110414242A (zh) 用于检测业务逻辑漏洞的方法、装置、设备及介质
CN105095059B (zh) 一种自动化测试的方法和装置
CN113254323B (zh) 线上全链路压测方法、装置及计算机设备
CN107766040A (zh) 一种生成接口文档的方法、装置及计算机可读存储介质
CN108399114A (zh) 一种***性能测试方法、装置及存储介质
CN109165170B (zh) 一种自动化请求测试的方法及***
CN107766236A (zh) 测试任务自动化管理方法、装置、设备及存储介质
CN110543420B (zh) 一种软件测试方法、***、终端及存储介质
CN110557299A (zh) 一种网络传输功能批量测试方法、***、终端及存储介质
CN112433944A (zh) 业务测试方法、装置、计算机设备和存储介质
CN109491857A (zh) 一种基于规则引擎的数据监控方法、***及终端设备
CN110377502A (zh) 基于脚本的功能测试方法、装置及终端设备
CN110188888A (zh) 基于ahp和远程支持的电力设备缺陷管理方法、***和终端
CN106851513A (zh) 一种电子产品的测试方法和***
CN110322584A (zh) 一种芯片烧录数据的采集分析方法和***
CN112905437A (zh) 一种测试用例的方法、装置及存储介质
CN107203464B (zh) 业务问题的定位方法以及装置
CN107741909A (zh) 一种用于分布式块存储的自动化测试方法及***
CN111708712A (zh) 用户行为测试用例的生成方法、流量回放方法及电子设备
CN108628712A (zh) 一种应用程序测试方法及终端设备
CN113535538B (zh) 应用全链路自动化测试方法、装置、电子设备和存储介质
CN104678292B (zh) 一种复杂可编程逻辑器件cpld测试方法和装置
CN109818778A (zh) 一种自动回归测试方法、***、设备及介质
CN114244427B (zh) 光纤网络端口资源核查方法、装置及计算机可读介质

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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20240621