CN107861864A - 自动化测试方法、系统及计算机可读存储介质 - Google Patents

自动化测试方法、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN107861864A
CN107861864A CN201710749087.6A CN201710749087A CN107861864A CN 107861864 A CN107861864 A CN 107861864A CN 201710749087 A CN201710749087 A CN 201710749087A CN 107861864 A CN107861864 A CN 107861864A
Authority
CN
China
Prior art keywords
test
test case
test cases
configuration item
cases
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
CN201710749087.6A
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201710749087.6A priority Critical patent/CN107861864A/zh
Publication of CN107861864A publication Critical patent/CN107861864A/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/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为本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种自动化测试方法,在自动化测试方法第一实施例中,参照图1,所述自动化测试方法包括:
步骤S10,获取预设的配置信息和所有测试用例;
开发人员将调试好的测试用例上传到自动化测试系统的测试库中,自动化测试系统会自动获取预设的配置信息,和测试库中的所有测试用例。所述测试用例(Test Case)指的是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于测试某个程序路径或核实是否满足某个特定需求。所述配置信息指的是系统中用于初始化信息,以便系统搭建正常的运行环境。
在本实施例中,测试用例可实现自动化导入,而不需要开发人员主动去导入。因此,开发人员只需将编写调试完成的测试用例直接上传到自动化测试系统中指定的测试数据库中。后续的测试用例的运行无需开发人员参与,而完全由自动化测试系统执行。
步骤S20,解析配置信息,以获得配置项;
配置信息可规范化系统的测试参数和测试环境。配置信息是对系统环境的整体设置,配置信息由各种配置项组成,所述配置项指的是纳入配置管理范畴的所有项目。只有获取到配置信息中的各个配置项,才能对自动化测试系统的测试环境进行精确设置。
例如,自动化测试系统对测试用例执行测试的运行流程、测试衔接、对测试用例的解析启动等进行参数赋值操作。
对预设的配置信息进行解析,主要是通过将配置信息中的各个配置项提取出来。一般地,配置信息中的各个配置项可以对应到自动化测试系统中某些参数信息,也就是说,不同的配置项与系统中不同的参数信息可形成映射关系,其前提在于,映射关系的建立需要通过系统的解析。
即,自动化测试系统对配置信息的解析过程,是对配置项与系统参数映射关系的建立。通过解析配置信息,提取出配置信息中的各种配置项,从而将配置项信息与参数信息完成对应关系。
步骤S30,加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果;
获取到的所有测试用例都保存在内存单元中,系统需要将其加载到测试环境,以便自动化系统基于测试环境对其进行快速调用。
同时,所加载的测试用例可能由于所测试的内容不一致,导致不同的测试用例之间存在影响因素。即,前一个测试用例的测试结果可能会影响到后一个测试用例的测试结果。因此,不同的测试用例之间的运行配置需要事先设定,所述运行配置指的是测试用例在运行过程中的初始条件、数据调用或信息预处理。例如测试用例的执行先后顺序,例如测试用例之间的数据调用,例如测试用例的重试运行等等。本实施例通过配置项信息与系统参数信息的映射关系,为测试用例的运行配置进行设定,并在以配置项为基础的设定中运行所有测试用例,以获得各个测试用例的运行结果。所述运行结果指的是针对测试用例的运行测试结论。
例如,假设当前运行环境所分配的物理内存资源为128M,而测试用例实际所需的运行资源为200M,由于资源不足,测试用例将无法正常运行。若配置项信息中设置了100M的虚拟内存空间,系统将会调用100M的虚拟内存资源作为缓冲,例如当物理内存资源不足时,系统会调用预设的100M虚拟内存资源作为物理内存资源的补充,以供测试用例的正常调用运行,避免内存溢出,从而保障测试用例的正常运行。
步骤S40,当所有测试用例运行完毕时,基于所有测试用例以及测试用例对应的运行结果,以生成运行测试报告,并显示。
在本实施例中,通常地,测试用例并不是单一独立存在的,而是以一整个测试项目的形式分解成各个测试小组进行测试。因此,所有测试用例的最终测试结果是以一整个测试项目为基础进行判断,单独的测试用例或独立的测试小组的测试结果均无法保障该测试项目的测试效果。所以,测试效果的判定和评估需要以所有测试用例的运行结果为基准。
当所有测试用例运行完毕时,自动化测试系统可获得每个测试用例的运行结果,并将测试的运行结果进行综合整理。通常地,综合整理流程是基于所有测试用例以及其对应的运行结果执行的。每个测试用例之间的运行结果可能相互影响,将所有的测试用例的运行结果综合起来,可生成运行测试报告。所述运行测试报告指的是本次测试的所有测试用例总体的运行结果,包括哪些测试用例运行成功,哪些测试用例运行失败等信息。假设本次测试的所有测试用例属于同一个测试项目或测试小组,则优选将运行测试报告以瀑布流形式逐一显示,以便开发人员进行定位和观察。
需要说明的是,基于所有测试用例以及其对应的运行结果生成运行测试报告主要是将运行结果进行提取和统计,例如,自动化测试系统获取测试用例对象A的测试结果a、测试用例对象B的测试结果b和测试用例对象C的测试结果c,将测试用例对象A、B和C以及测试结果a、b和c分别提取并统计,获得提取结果、统计参数以及不同对象之间的关联关系,并根据提取结果、统计参数和关联关系生成测试报告。即测试报告中包括了各个测试用例对象,各对象的测试结果以及不同对象的关联。因此,测试报告能够直观地表达所有测试用例的测试效果。
本发明的技术方案中,首先获取预设的配置信息和所有测试用例;然后解析配置信息,以获得配置项;接着加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果;最后当所有测试用例运行完毕时,基于所有测试用例以及测试用例对应的运行结果,以生成运行测试报告,并显示。本发明通过将各测试流程进行集成,通过自动化测试的方式,无需过度依赖开发人员的参与调控,解放了开发人员的劳动力,省略了繁琐复杂的操作流程步骤,节省了开发时间,极大地提高了测试效率。
进一步地,在本发明自动化测试方法第一实施例的基础上,提出自动化测试方法第二实施例,参照图2,所述第二实施例与第一实施例之间的区别在于,所述运行结果分为运行成功和运行失败,
所述加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果的步骤之后还包括:
步骤S50,当检测到任一测试用例的运行结果为运行失败时,基于配置项重新加载该测试用例并运行;
测试用例在测试系统中可能出现运行失败的状况,而造成运行失败的原因有多种多样,主要分为测试用例源数据原因和测试系统原因。一般地,由测试用例源数据引起的运行失败无法在测试过程中得到修正,而由测试系统引起的异常导致的运行失败则可能存在测试系统恢复正常的情况。假设测试用例在系统恢复正常之前便测试完毕,则该测试用例很可能因为系统异常的原因而被误报为运行失败。
为辅助理解本实施例,以下将通过一个具体例子进行解释说明:
假设当前所需要测试的测试用例需要联网进行数据交流,而当测试系统在正常运行测试用例时,出现网络数据丢包,网络延时,服务器抖动等系统异常,则直接导致互联网连接断开,无法实现联网进行数据交流或无法反馈数据,这将造成测试用例运行失败。而这种运行失败的原因并不是测试用例使用不当造成的。网络数据丢包、网络延时、服务器抖动等异常现象一般会通过系统的自纠错机制被重新设置而恢复正常。而此时,若没有对运行失败的测试用例进行重新测试,也就意味着该测试用例被误报,导致测试结果不精确。
为解决这一问题,本实施例引入重试机制。为排除测试用例因网络异常和系统原因等非测试用例原因导致运行失败的异常情况,本实施例在检测到存在测试用例的运行结果为运行失败的情况下,对该测试用例进行再一次运行,以确定运行结果的精确度。其步骤为,当检测到任一测试用例的运行结果为失败时,重新对该测试用例进行加载,排除加载数据丢失的情况发生,并基于配置项对该测试用例进行初始化,以配置项中的测试流程和与运行参数重新运行测试用例。
当然,若测试用例在重新运行的情况下依旧运行失败,则系统可以继续以该测试用例为准继续执行重试机制。需要说明的是,重试机制为排除系统异常或网络异常原因,假设运行失败是测试用例代码编写不当导致的,则可以通过开发人员手动操作或预设条件触发来结束重试机制。
步骤S60,当检测到任一测试用例的运行结果为运行成功时,基于配置项运行后续的测试用例,直至所有测试用例运行完毕。
本实施例对测试用例运行失败的情况进行了重试运行,而当测试用例运行成功时,则证明该测试用例的编辑调试没有错误,可以直接判定该测试用例通过测试。此时,自动化测试系统将跳过该测试用例,继续运行后续的测试用例,当然,新的测试用例同样需要基于配置项运行,知道所有测试用例运行完毕。
进一步地,在本发明自动化测试方法第二实施例的基础上,提出自动化测试方法第三实施例,参照图3,所述第三实施例与第二实施例之间的区别在于,所述配置项包括频次阈值,所述测试用例设置有实际运行频次,
所述当检测到任一测试用例运行失败时,基于配置项重新加载该测试用例并运行的步骤包括:
步骤S51,当检测到任一测试用例运行失败时,为实际运行频次进行自增操作,以获得新的实际运行频次;
在重试机制的循环测试运行中,为实现测试系统的自动化操作,可以对重试的实际运行频次进行限制,以规定测试用例的可循环重试次数。
本实施例为自动化测试系统设置了测试用例的实际运行频次。所述实际运行频次指的是一测试用例在重试机制下的当前已运行频次。当自动化测试系统检测到任一测试用例的测试结果为运行失败时,按照重试机制的配置应直接重新加载并运行所述测试用例。在重新加载该测试用例的步骤之前,本实施例增加了一个判断机制,用于判断该测试用例是否符合重试机制的运行条件。
自动化测试系统为每一个测试用例设置一个实际运行频次,优选地,实际运行频次的初始值可为0。当自动化测试系统检测在测试用例运行失败时,系统将为该测试用例的实际运行频次进行自增操作,即将实际运行频次加一,使得新的实际运行频次比原来的实际运行频次多1。所述自增操作指的是在原来的实际运行频次上进行数值增一的操作。
步骤S52,当检测到新的实际运行频次小于频次阈值时,基于配置项重新加载该测试用例并运行。
新的实际运行频次将作为一个判断条件决定是否对测试用例进行重新加载和运行。当自动化测试系统检测到新的实际运行频次小于频次阈值时,则证明当前测试用例的实际运行频次没有超过预设的频次阈值,属于允许重试范围内。此时,自动化测试系统将基于配置项重新加载该测试用例,并运行。需要说明的是,此处所基于的配置项依旧是该测试用例对应的配置项,而没有发生任何改变。
具体地,本实施例为自动化测试系统提供了一种结束重试机制的方法。通过为测试用例设置一个实际运行频次,并设置一个频次阈值作为参考数值,通过将实际运行频次和频次阈值的大小比较,实现了自动化启动重试机制来重新加载和运行测试用例的技术效果,同时实际运行频次的数值处于动态变化中,当每一次测试用例运行完毕时,其实际运行频次将自动加一实现自增操作。当测试用例的实际运行频次未达到频次阈值时,可直接启动重试机制,加载并运行运行失败的测试用例。通过这一判断机制,自动化测试系统将更为合理地实现自动化重试机制,无需开发人员参与其中,进一步提高测试效率。
进一步地,在本发明自动化测试方法第三实施例的基础上,提出自动化测试方法第四实施例,参照图4,所述第四实施例与第三实施例之间的区别在于,所述当检测到任一测试用例运行失败时,为实际运行频次进行自增操作的步骤之后还包括:
步骤S53,当检测到新的实际运行频次大于等于频次阈值时,基于配置项运行该测试用例后续的其他测试用例。
计算出运行失败的测试用例新的实际运行频次之后,若新的实际运行频次大于或等于频次阈值,由于上述所述的实际运行频次的初始值为0,则证明当前该测试用例的实际运行频次达到甚至超过频次阈值,而频次阈值又代表着运行失败的测试用例可加载运行频次的上限,若新的实际运行频次大于等于频次阈值,则自动化测试系统将跳过该测试用例,不对其继续执行重试机制,而是将其忽略,不再进行处理,直接运行后续的其他测试用例。该方法可以有效避免运行失败的测试用例重复加载运行导致对系统资源的占用和浪费。
进一步地,在本发明自动化测试方法第一实施例的基础上,提出自动化测试方法第五实施例,参照图5,所述第五实施例与第一实施例之间的区别在于,所述运行测试报告包括运行结果和运行日志,所述加载所有测试用例,并基于配置项运行所有测试用例的步骤包括:
步骤S31,加载所有测试用例,并获取配置项中预设的运行所有测试用例所需的内存参数;
步骤S32,基于内存参数配置所有测试用例的内存资源;
配置项中可设置有当前系统为运行所有测试用例所提供的内存参数,例如当前所需要运行的测试项目较小,其所有测试用例所需要占用的内存资源大约为100M,根据配置项中针对此类测试项目的预估,提供给所有测试用例的内存资源为120M,一方面120M的内存资源保障当前所有测试用例的正常运行,而相较于100M的内存需求,多余的20M内存资源可以避免测试用例运行异常时发生的内存溢出或测试用例运行不顺畅的现象发生。
步骤S33,基于配置好的内存资源运行所有测试用例;
步骤S34,当测试用例处于运行状态中时,记录所述测试用例的运行状况,以获得测试用例对应的运行日志,所述运行日志为后续生成运行测试报告的参考数据。
本实施例中的自动化测试系统为更进一步的优化系统,所有测试用例经过加载之后,自动化测试系统会根据配置项运行所有测试用例。而在每个测试用例运行的过程中,会出现运行成功和运行失败的情况。运行成功代表着测试用例的设计编辑均通过验证,而运行失败意味着测试用例在设计编辑中可能出现各种各样的失败成因。
自动化测试系统除了验证测试用例能够正常运行通过验证,还可检索探测测试用例的失败成因,为开发人员后续优化调试测试用例提供参考数据。具体地,当测试用例处于运行状态中时,自动化测试系统将自动记录该测试用例的运行状况,从而根据其运行状况分析获得该测试用例的运行日志。
所述运行日志指的是测试用例在运作过程中产生的事件记录,内容包括运行日期、运行历时、使用者及动作等相关操作。由于测试用例是自动化测试系统所运行,所以运行日志中还包括着测试用例执行相关操作时所调用的参数方法。因此,运行日志中完整地保留着测试用例在自动化测试系统的运行下的所有执行步骤。而完整的运行日志对开发人员而言,是优化改进该测试用例的重要文档参考。运行日志是开发人员维护开发的测试用例的必要文档,故,运行日志可作为运行测试报告的部分内容,为测试报告提供重要的参考数据,以供开发人员获得优化改进策略。
进一步地,在本发明自动化测试方法第一实施例的基础上,提出自动化测试方法第六实施例,所述第六实施例与第一实施例之间的区别在于,所述加载所有测试用例,并基于配置项运行所有测试用例的步骤还包括:
当检测到任一测试用例运行失败时,对运行失败的测试用例的运行界面进行截图操作,获得截图图像,所述截图图像为后续生成运行结果的参考数据。
所有测试用例经过加载之后,自动化测试系统会根据配置项运行所有测试用例。而在每个测试用例运行的过程中,会出现运行失败的情况。运行失败意味着测试用例在设计编辑中可能出现各种各样的失败成因,且运行失败的测试用例的运行界面与预料中的运行界面必然有所不同。所述运行界面指的是测试用例在测试运行过程中所呈现的显示界面。当测试用例运行失败时,其运行界面与其运行成功时的运行界面存在差异。而根据运行界面的差异效果,可反向推导出该测试用例在设计编辑时可能存在的缺陷,从而确定该测试用例需要进行改进优化的元素,从而为开发人员后续优化调试测试用例提供参考数据。
具体地,自动化测试系统在检测到存在任一测试用例运行失败时,会直接定位到运行失败的测试用例,并在运行失败的测试用例的运行界面上进行截图操作,获得截图图像。截图图像可作为运行测试报告的部分内容,为测试报告提供重要的参考数据。
故,运行日志可作为运行测试报告的部分内容,为测试报告提供重要的参考数据,以供开发人员获得优化改进策略。
进一步地,在本发明自动化测试方法第一实施例的基础上,提出自动化测试方法第七实施例,参照图6,所述第七实施例与第一实施例之间的区别在于,将已获取到的测试用例设为第一测试用例,将未获取到的测试用例为第二测试用例,所述自动化测试方法包括:
步骤S70,当第一测试用例加载完毕时,每隔预设时间获取并加载第二测试用例;
在自动化测试系统中,需要测试运行的测试用例可能数量较为庞大,假设一次性将其加载运行,对系统的资源占用和功耗的要求会非常高,对测试效率可能会造成一定影响。为解决这一问题。本实施例以分批测试的方式运行测试用例。
所述第一测试用例指的是第一批测试用例,第一测试用例在加载完成之后,将会进入到测试运行阶段。假设第一测试用例的测试效率较高,很快便获得运行完毕,若此时再去获取加载新的第二测试用例,中间需要消耗一定时间。而这段时间,系统的测试运行功能属于闲置状态,只能等待第二测试用例加载完毕后再运行。
在第一测试用例加载完毕时,系统每隔预设时间定时自动获取到第二测试用例,并将其加载到内存中,等待调用。预设时间可以是自定义或事先规定的时间间隔,可以缩短加载测试用例的时间,避免在需要调用第二测试用例时,第二测试用例未加载完成,造成时间浪费。
步骤S80,当检测到所有第一测试用例运行完毕时,基于配置项运行所有第二测试用例。
在自动化测试系统完成对所有第一测试用例的测试运行时,用于执行测试运行步骤的功能模块可直接调用内存中已加载好的第二测试用例,实现对第二测试用例快速的测试运行,从而无需等待第二测试用例的加载过程。系统在第一测试用例运行完毕时,既有配置项将所有第一测试用例执行测试运行功能,在这个过程中,配置项的初始化功能不发生改变,即对第二测试用例解析初始化功能与第一测试用例一致,保障测试流程的稳定运行,提高测试效率。
进一步地,在本发明自动化测试方法第一实施例的基础上,提出自动化测试方法第八实施例,参照图7,所述第八实施例与第一实施例之间的区别在于,
所述当所有测试用例运行完毕时,综合所有测试用例的运行结果,以生成运行测试报告,并显示的步骤之后还包括:
步骤S90,当检测到基于运行测试报告的延时操作时,将所述运行测试报告保存并发送至预设邮箱。
自动化测试系统将所有测试流程以自动化形式执行完成,无需开发人员参与操作,开发人员可以着手进行其他开发工作。但是,当自动化测试系统对所有测试用例的测试运行完成,生成并显示运行测试报告时,若开发人员来不及仔细查看或者其他开发工作正处于紧要关头而无法离开,会造成自动化测试系统运行下一周期的测试用例,从而导致运行测试报告更新,失去本次测试工作的意义。
针对以上问题,本实施例提供了一种延时操作方案,所述延时操作是一种触发操作,可以是双击、单击、拖动、特定轨迹滑动等多种操作形式,当自动化测试系统检测到该触发操作时,直接将运行测试报告保存到系统的存储单元中,并将该运行测试报告作为附件发送至预设邮箱。所述预设邮箱指的是系统内设置的邮箱账号,可以是开发人员的指定邮箱,也可以是系统管理人员的邮箱。预设邮箱可以是自定义邮箱,也可以是默认邮箱,在此不作限定。由于运行测试报告中的内容包括了各测试用例及其运行结果,开发人员能够将本次运行测试报告延时再进行查看,从而为开发人员腾出空闲时间,从事当前的开发工作。
参照图8,图8是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等终端设备。
如图8所示,该系统可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该系统还可以包括用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图8中示出的系统结构并不构成对系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及自动化测试程序。操作系统是管理和控制系统硬件和软件资源的程序,支持自动化测试程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与系统中其它硬件和软件之间通信。
在图8所示的系统中,处理器1001用于执行存储器1005中存储的自动化测试程序,实现以下步骤:
获取预设的配置信息和所有测试用例;
解析配置信息,以获得配置项;
加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果;
当所有测试用例运行完毕时,基于所有测试用例以及测试用例对应的运行结果,以生成运行测试报告,并显示。
进一步地,所述运行结果分为运行成功和运行失败,
所述加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果的步骤之后还包括:
当检测到任一测试用例的运行结果为运行失败时,基于配置项重新加载该测试用例并运行;
当检测到任一测试用例的运行结果为运行成功时,基于配置项运行后续的测试用例,直至所有测试用例运行完毕。
进一步地,所述配置项包括频次阈值,所述测试用例设置有实际运行频次,
所述当检测到任一测试用例运行失败时,基于配置项重新加载该测试用例并运行的步骤包括:
当检测到任一测试用例运行失败时,为实际运行频次进行自增操作,以获得新的实际运行频次;
当检测到新的实际运行频次小于频次阈值时,基于配置项重新加载该测试用例并运行。
进一步地,所述当检测到任一测试用例运行失败时,为实际运行频次进行自增操作的步骤之后还包括:
当检测到新的实际运行频次大于等于频次阈值时,基于配置项运行该测试用例后续的其他测试用例。
进一步地,所述运行测试报告包括运行结果和运行日志,所述加载所有测试用例,并基于配置项运行所有测试用例的步骤包括:
加载所有测试用例,并获取配置项中预设的运行所有测试用例所需的内存参数;
基于内存参数配置所有测试用例的内存资源;
基于配置好的内存资源运行所有测试用例;
当测试用例处于运行状态中时,记录所述测试用例的运行状况,以获得测试用例对应的运行日志,所述运行日志为后续生成运行测试报告的参考数据。
进一步地,所述加载所有测试用例,并基于配置项运行所有测试用例的步骤还包括:
当检测到任一测试用例运行失败时,对运行失败的测试用例的运行界面进行截图操作,获得截图图像,所述截图图像为后续生成运行结果的参考数据。
进一步地,所述截图操作由配置项中的截图监听器执行。
进一步地,所述当所有测试用例运行完毕时,综合所有测试用例的运行结果,以生成运行测试报告,并显示的步骤之后还包括:
当检测到基于运行测试报告的延时操作时,将所述运行测试报告保存并发送至预设邮箱。
本发明系统的具体实施方式与上述自动化测试方法各实施例基本相同,在此不再赘述。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于:
获取预设的配置信息和所有测试用例;
解析配置信息,以获得配置项;
加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果;
当所有测试用例运行完毕时,基于所有测试用例以及测试用例对应的运行结果,以生成运行测试报告,并显示。
本发明计算机可读存储介质具体实施方式与上述自动化测试方法和系统各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种自动化测试方法,其特征在于,所述自动化测试方法包括:
获取预设的配置信息和所有测试用例;
解析配置信息,以获得配置项;
加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果;
当所有测试用例运行完毕时,基于所有测试用例以及测试用例对应的运行结果,以生成运行测试报告,并显示。
2.如权利要求1所述的自动化测试方法,其特征在于,所述运行结果分为运行成功和运行失败,
所述加载所有测试用例,并基于配置项运行所有测试用例,以获得每个测试用例的运行结果的步骤之后还包括:
当检测到任一测试用例的运行结果为运行失败时,基于配置项重新加载该测试用例并运行;
当检测到任一测试用例的运行结果为运行成功时,基于配置项运行后续的测试用例,直至所有测试用例运行完毕。
3.如权利要求2所述的自动化测试方法,其特征在于,所述配置项包括频次阈值,所述测试用例设置有实际运行频次,
所述当检测到任一测试用例运行失败时,基于配置项重新加载该测试用例并运行的步骤包括:
当检测到任一测试用例运行失败时,为实际运行频次进行自增操作,以获得新的实际运行频次;
当检测到新的实际运行频次小于频次阈值时,基于配置项重新加载该测试用例并运行。
4.如权利要求3所述的自动化测试方法,其特征在于,所述当检测到任一测试用例运行失败时,为实际运行频次进行自增操作的步骤之后还包括:
当检测到新的实际运行频次大于等于频次阈值时,基于配置项运行该测试用例后续的其他测试用例。
5.如权利要求1所述的自动化测试方法,其特征在于,所述运行测试报告包括运行结果和运行日志,所述加载所有测试用例,并基于配置项运行所有测试用例的步骤包括:
加载所有测试用例,并获取配置项中预设的运行所有测试用例所需的内存参数;
基于内存参数配置所有测试用例的内存资源;
基于配置好的内存资源运行所有测试用例;
当测试用例处于运行状态中时,记录所述测试用例的运行状况,以获得测试用例对应的运行日志,所述运行日志为后续生成运行测试报告的参考数据。
6.如权利要求1所述的自动化测试方法,其特征在于,
所述加载所有测试用例,并基于配置项运行所有测试用例的步骤还包括:
当检测到任一测试用例运行失败时,对运行失败的测试用例的运行界面进行截图操作,获得截图图像,所述截图图像为后续生成运行结果的参考数据。
7.如权利要求1所述的自动化测试方法,其特征在于,将已获取到的测试用例设为第一测试用例,将未获取到的测试用例为第二测试用例,所述自动化测试方法包括:
当第一测试用例加载完毕时,每隔预设时间获取并加载第二测试用例;
当检测到所有第一测试用例运行完毕时,基于配置项运行所有第二测试用例。
8.如权利要求1所述的自动化测试方法,其特征在于,
所述当所有测试用例运行完毕时,综合所有测试用例的运行结果,以生成运行测试报告,并显示的步骤之后还包括:
当检测到基于运行测试报告的延时操作时,将所述运行测试报告保存并发送至预设邮箱。
9.一种自动化测试系统,其特征在于,所述系统包括:存储器、处理器,通信总线以及存储在所述存储器上的自动化测试程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述自动化测试程序,以实现如权利要求1至8中任一项所述的自动化测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有自动化测试程序,所述自动化测试程序被处理器执行时实现如权利要求1至8中任一项所述的自动化测试方法的步骤。
CN201710749087.6A 2017-08-25 2017-08-25 自动化测试方法、系统及计算机可读存储介质 Pending CN107861864A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710749087.6A CN107861864A (zh) 2017-08-25 2017-08-25 自动化测试方法、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710749087.6A CN107861864A (zh) 2017-08-25 2017-08-25 自动化测试方法、系统及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN107861864A true CN107861864A (zh) 2018-03-30

Family

ID=61699372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710749087.6A Pending CN107861864A (zh) 2017-08-25 2017-08-25 自动化测试方法、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107861864A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572919A (zh) * 2018-05-30 2018-09-25 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质
CN108932196A (zh) * 2018-06-27 2018-12-04 郑州云海信息技术有限公司 一种并行自动化测试方法,系统,设备及可读存储介质
CN109658940A (zh) * 2018-12-27 2019-04-19 苏州思必驰信息科技有限公司 更新语音识别资源的方法及系统
CN109739769A (zh) * 2019-01-02 2019-05-10 深圳忆联信息系统有限公司 Bootrom加载功能自动化测试方法及装置
CN109828551A (zh) * 2019-02-18 2019-05-31 深圳高新兴物联科技有限公司 自动化测试方法、装置以及计算机可读存储介质
CN110321278A (zh) * 2019-05-20 2019-10-11 平安科技(深圳)有限公司 系统测试方法及装置、计算机设备、存储介质
CN112699033A (zh) * 2020-12-29 2021-04-23 中国航空工业集团公司西安飞机设计研究所 一种多分区机载软件测试用例多级同步加载方法
CN113574511A (zh) * 2019-03-25 2021-10-29 三菱电机株式会社 测试用例生成装置、测试用例生成方法和测试用例生成程序
CN115545677A (zh) * 2022-11-24 2022-12-30 云账户技术(天津)有限公司 基于自动化用例执行情况的上线流程规范检测方法和系统
CN116541312A (zh) * 2023-07-06 2023-08-04 广汽埃安新能源汽车股份有限公司 一种汽车软件持续集成测试方法及系统
CN116680194A (zh) * 2023-06-29 2023-09-01 广州形银科技有限公司 一种高效半自动人工智能软件的实现方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544049A (zh) * 2012-07-10 2014-01-29 百度在线网络技术(北京)有限公司 测试环境的自动处理方法、测试的自动化实现方法及装置
CN105718371A (zh) * 2016-01-21 2016-06-29 深圳市同创国芯电子有限公司 一种回归测试方法、装置及系统
US20160212073A1 (en) * 2009-12-22 2016-07-21 Cyara Solutions Pty Ltd System and method for automated end-to-end web interaction testing
CN106339312A (zh) * 2015-07-17 2017-01-18 腾讯科技(深圳)有限公司 Api测试方法和系统
CN106776273A (zh) * 2016-11-16 2017-05-31 乐视控股(北京)有限公司 自动化测试的方法和装置
CN106874207A (zh) * 2017-02-27 2017-06-20 税友软件集团股份有限公司 一种web页面的自动化测试方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160212073A1 (en) * 2009-12-22 2016-07-21 Cyara Solutions Pty Ltd System and method for automated end-to-end web interaction testing
CN103544049A (zh) * 2012-07-10 2014-01-29 百度在线网络技术(北京)有限公司 测试环境的自动处理方法、测试的自动化实现方法及装置
CN106339312A (zh) * 2015-07-17 2017-01-18 腾讯科技(深圳)有限公司 Api测试方法和系统
CN105718371A (zh) * 2016-01-21 2016-06-29 深圳市同创国芯电子有限公司 一种回归测试方法、装置及系统
CN106776273A (zh) * 2016-11-16 2017-05-31 乐视控股(北京)有限公司 自动化测试的方法和装置
CN106874207A (zh) * 2017-02-27 2017-06-20 税友软件集团股份有限公司 一种web页面的自动化测试方法及装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572919A (zh) * 2018-05-30 2018-09-25 平安普惠企业管理有限公司 自动化测试方法、装置、计算机设备及存储介质
CN108932196A (zh) * 2018-06-27 2018-12-04 郑州云海信息技术有限公司 一种并行自动化测试方法,系统,设备及可读存储介质
CN109658940A (zh) * 2018-12-27 2019-04-19 苏州思必驰信息科技有限公司 更新语音识别资源的方法及系统
CN109739769A (zh) * 2019-01-02 2019-05-10 深圳忆联信息系统有限公司 Bootrom加载功能自动化测试方法及装置
CN109828551A (zh) * 2019-02-18 2019-05-31 深圳高新兴物联科技有限公司 自动化测试方法、装置以及计算机可读存储介质
CN113574511A (zh) * 2019-03-25 2021-10-29 三菱电机株式会社 测试用例生成装置、测试用例生成方法和测试用例生成程序
WO2020232900A1 (zh) * 2019-05-20 2020-11-26 平安科技(深圳)有限公司 系统测试方法及装置、计算机设备、存储介质
CN110321278A (zh) * 2019-05-20 2019-10-11 平安科技(深圳)有限公司 系统测试方法及装置、计算机设备、存储介质
CN112699033A (zh) * 2020-12-29 2021-04-23 中国航空工业集团公司西安飞机设计研究所 一种多分区机载软件测试用例多级同步加载方法
CN112699033B (zh) * 2020-12-29 2023-05-23 中国航空工业集团公司西安飞机设计研究所 一种多分区机载软件测试用例多级同步加载方法
CN115545677A (zh) * 2022-11-24 2022-12-30 云账户技术(天津)有限公司 基于自动化用例执行情况的上线流程规范检测方法和系统
CN116680194A (zh) * 2023-06-29 2023-09-01 广州形银科技有限公司 一种高效半自动人工智能软件的实现方法
CN116680194B (zh) * 2023-06-29 2024-05-28 广州形银科技有限公司 一种高效半自动人工智能软件的实现方法
CN116541312A (zh) * 2023-07-06 2023-08-04 广汽埃安新能源汽车股份有限公司 一种汽车软件持续集成测试方法及系统
CN116541312B (zh) * 2023-07-06 2023-09-22 广汽埃安新能源汽车股份有限公司 一种汽车软件持续集成测试方法及系统

Similar Documents

Publication Publication Date Title
CN107861864A (zh) 自动化测试方法、系统及计算机可读存储介质
CN105094783B (zh) 安卓应用稳定性测试的方法及装置
US9569325B2 (en) Method and system for automated test and result comparison
CN109582301A (zh) 基于任务调度系统的业务处理方法、装置、设备及介质
CN106156355B (zh) 日志处理方法及装置
CN109840206A (zh) 数据测试方法、装置、终端及存储介质
CN113448787B (zh) 晶圆异常分析的方法、装置、电子设备及可读存储介质
CN111881014B (zh) 一种系统测试方法、装置、存储介质及电子设备
CN102306119A (zh) 捕获全局异常的系统及方法
CN109359020A (zh) 启动时间测试方法及装置、计算机装置及存储介质
US11169910B2 (en) Probabilistic software testing via dynamic graphs
CN115481030A (zh) 一种自动化测试方法、装置、终端及存储介质
CN110134598B (zh) 一种批量处理方法、装置及系统
CN110032505A (zh) 软件质量确定装置、软件质量确定方法和软件质量确定程序
CN110147314A (zh) 测试方法、装置及计算机可读存储介质
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN115827499B (zh) 一种ui自动化测试方法
CN113821443B (zh) 应用程序的功能检测方法、装置、设备及存储介质
CN115391110A (zh) 存储设备的测试方法、终端设备及计算机可读存储介质
CN109800170B (zh) 一种基于api测试平台的测试方法,设备及可读存储介质
CN112612702A (zh) 一种基于web的自动测试方法及装置
CN107102938B (zh) 测试脚本的更新方法及装置
CN114328249A (zh) 一种自动化测试执行结果处理方法及装置
US9779011B2 (en) Testing system
CN115562923A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180330

RJ01 Rejection of invention patent application after publication