CN112084117B - 一种测试方法和装置 - Google Patents

一种测试方法和装置 Download PDF

Info

Publication number
CN112084117B
CN112084117B CN202011035184.7A CN202011035184A CN112084117B CN 112084117 B CN112084117 B CN 112084117B CN 202011035184 A CN202011035184 A CN 202011035184A CN 112084117 B CN112084117 B CN 112084117B
Authority
CN
China
Prior art keywords
snapshot
record
sequence
playback
sub
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.)
Active
Application number
CN202011035184.7A
Other languages
English (en)
Other versions
CN112084117A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202011035184.7A priority Critical patent/CN112084117B/zh
Publication of CN112084117A publication Critical patent/CN112084117A/zh
Application granted granted Critical
Publication of CN112084117B publication Critical patent/CN112084117B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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是本发明实施例中子操作序列的示意图;
图7A至7C是本发明实施例中生成目标录制记录的过程示意图;
图8是本发明实施例中划分间隔快照序列的示意图;
图9是本发明实施例中生成调整后的录制记录的过程示意图;
图10是本发明的一种测试装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在相关技术中,参照图1,示出了一种纯录制式的回放测试方法的示意图,一般基于录制回放的自动测试方法可以包括记录用户输入(包括输入类型、参数等)与时间点(或者其他检测点,如webdriver检查控件xpath、airtest检查特征图像等等),在执行自动录制回放测试时可以按照记录的时间点(或者满足检查点条件时,如webdriver发现控件存在,airtest发现特征图像存在等)对录制的输入进行重播回放。最后可以在最终位置,如图1所示,检查特征(在记录的时间点)是否存在以判定测试是否通过。
然而,采用上述纯录制式的回放测试方法,可能存在如下一些局限性,单纯对原先录制的测试用例进行回放,仅适用于回归场合,且仅适用于对被测软件的某个功能进行验证,并不适合主动地发现在不同的输入条件下可能引发的问题;且纯录制式的回放测试方法一般比较适用于用户向的场景(例如前端),当在实际开发过程中,如果前端迭代速度较快,往往经常会出现需要重新录制以适应特性频繁迭代的问题,对于纯录制式的测试用例的维护成本较高;以及,单纯录制式的测试用例往往不具备较强的回放稳定性,例如,纯录制式的回放测试在待测软件出现随机变化时并不能进行相应改变。
本发明实施例的核心思想之一为将录制的原始录制记录进行划分,并采用强化学习的方式对划分得到的子操作序列的至少一个基本操作单元的参数进行调整,以得到作为新的测试录制用例的目标录制记录,在对被测软件某个功能进行验证的基础上实现采用目标录制记录扩展至对被测软件的错误进行主动挖掘,达到提高录制的测试用例的价值,提高测试效率以及降低测试成本的目的。
以下,通过具体实施例对本发明的测试方法进行说明。
参照图2,示出了本发明的一种测试方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤201,获取人工操作被测软件时录制的原始录制记录;所述原始录制记录包括按照执行顺序录制的具有基础操作单元的操作序列与按照预设时间间隔录制的快照序列;
在本发明的一种实施例中,可以获取人工操作被测软件时录制的原始录制记录,以便对原始录制记录进行划分。其中,所获取的原始录制记录可以包括按照执行顺序录制的具有基础操作单元的操作序列,以及按照预设时间间隔录制的快照序列。
在具体实现上,可以采用如下的录制方法对人工操作被测软件时的测试用例进行录制,以得到原始测试记录。首先在测试人员手动地在被测软件上进行操作(例如屏幕点击操作和/或按键操作)的同时,可以按照执行顺序将录制操作时界面上被点击的坐标位置和/或按键信息进行录制得到操作序列,其中,可以将进行的操作作为基础操作单元,例如基础操作单元A可以为作用于屏幕的点击操作以及在界面上被点击的坐标位置,基础操作单元B可以包括作用于屏幕的按键操作以及在界面上的按键信息,即所录制的操作序列可以包括至少一个基础单元;在对操作序列进行录制的同时,由于所进行的操作可以引发伴随待测对象的状态变化,此时可以启动定时器,以预设时间间隔频闪待测对象的状态快照并进行录制,得到用于表征待测对象变化的快照序列。
需要说明的是,上述对待测对象的状态快照进行频闪的预设时间间隔可以根据实际情况确定,对此,本发明实施例不加以限制。
步骤202,根据所述快照序列对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录;其中,每个子操作序列包括至少一个基本操作单元;
在本发明的一种实施例中,在得到包含操作序列与快照序列的原始录制记录之后,可以根据快照序列对操作序列进行划分得到多个子操作序列,其中,操作序列可以包括至少一个基本操作单元,对操作序列进行划分主要是对操作序列所包含的基本操作单元进行划分,那么划分得到的子操作序列同样可以包括至少一个基本操作单元。
在实际应用中,在对原始录制记录中的操作序列进行划分得到包含基本操作单元的多个子操作序列之后,可以生成包含多个子操作序列的划分录制记录,由于划分录制记录所包含的子操作序列为可用于划分以及组合的序列,当待测对象迭代过快的时候,仅需配合更换所生成的划分录制记录的序列即可。
步骤203,通过强化学习算法对所述划分录制记录的至少一个基本操作单元的参数进行调整,并得到调整后的目标录制记录,以采用所述目标录制记录对所述被测软件进行回放测试。
在本发明实施例中,划分录制记录可以包括多个子操作序列,每个子操作序列可以包括至少一个基本操作单元,此时可以采用强化学习算法对至少一个基本操作单元的参数进行调整,以得到作为新的测试录制用例的调整后的目标录制记录,通过在采用目标录制记录对被测软件进行回放测试是实现对被测软件的验证测试,同时在基于对基本操作单元的参数进行调整的情况下实现对被测软件的错误进行主动挖掘。
在本发明实施例中,获取人工操作被测软件时录制的原始录制记录,其中,原始录制记录可以包括按照执行顺序录制的具有基础操作单元的操作序列以及按照预设时间间隔录制的快照序列,此时可以根据快照序列对操作序列进行划分得到包含多个子操作序列的划分录制记录,并通过强化学习算法对划分录制记录的至少一个基本操作单元的参数进行调整,以采用调整后的目标录制记录对被测软件进行回放测试。通过将录制的原始录制记录进行划分,并采用强化学习的方式对划分得到的子操作序列的至少一个基本操作单元的参数进行调整,以得到作为新的测试录制用例的目标录制记录以及采用调整后得到的目标录制记录对被测软件进行回放测试,在对被测软件某个功能进行验证的基础上实现采用目标录制记录扩展至对被测软件的错误进行主动挖掘,达到提高录制的测试用例的价值,提高测试效率以及降低测试成本的目的。
参照图3,示出了本发明的一种测试方法实施例二的步骤流程图,具体可以包括如下步骤:
步骤301,获取包括操作序列与快照序列的原始录制记录;
在本发明的一种实施例中,可以获取人工操作被测软件时录制的原始录制记录,以便对原始录制记录进行划分。其中,所获取的原始录制记录可以包括按照执行顺序录制的具有基础操作单元的操作序列,以及按照预设时间间隔录制的快照序列。
具体的,参照图4,示出了本发明实施例中所录制的操作序列以及快照序列的示意图,操作序列中所包含的基本操作单元可以用于表示测试人员的输入,例如图4中的“输入1”“输入2”以及“输入3”,一个输入可以包含输入参数,如鼠标点击,则包括鼠标点击的位置、键、按下松开状态等,还包括该输入距离上一次输入的时间间隔;操作序列为按照输入的执行顺序产生,各个输入之间的时间间隔为录制过程中的实际操作之间的时间间隔,即“输入1”和“输入2”之间的时间间隔,可以与“输入2”和“输入3”之间的时间间隔不同;快照序列中所包含的状态快照可以通过定时器触发进行频闪得到,例如图4中的“快照1”“快照2”“快照3”“快照4”以及“快照5”,每个状态快照之间的时间间隔可以为固定时间间隔,且每个状态快照按顺序产生。
步骤302,对操作序列划分得到多个子操作序列,其中,每个子操作序列包括至少一个基本操作单元;
在本发明的一种实施例中,在得到包含操作序列与快照序列的原始录制记录之后,可以根据快照序列对操作序列进行划分得到多个子操作序列。
其中,针对某次测试的原始录制记录中的操作序列可以划分为多个子操作序列,例如打开一个文件、编辑、保存等,而每个子操作序列又可以划分为多个更为基础的基础操作,即多个基础操作单元,例如鼠标在哪里、何时、点击、松开等。那么一次录制必须将包含大于或等于一个子操作序列,而一个子操作序列也必将包含大于或等于一个基础操作。
在本发明的一种实施例中,步骤302可以包括子步骤S11至子步骤S13:
子步骤S11,按照所述执行顺序从所述快照序列获取当前快照以及与所述当前快照相比的后一个快照;
子步骤S12,根据所述当前快照以及所述后一个快照确定用于表示划分分界的划分间隔快照;所述划分间隔快照包括多个划分间隔快照;
在本发明的一种实施例中,在获得按照执行顺序录制的具有基础操作单元的操作序列之后,采用快照序列对操作序列进行划分,首先可以按照执行顺序从快照序列中获取当前快照以及与当前快照相比的后一个快照,并根据所获取的快照对划分间隔快照进行确定,其中,可以采用确定的划分间隔快照用于表示划分分界,即采用划分分界对操作序列进行划分以得到子操作序列。
在实际应用中,子操作序列之间的划分分界可以表现为快照间隔之间出现关键变动,例如,操作序列可以包括打开一个文件,点击对话框,点击打开;当执行点击对话框的基本操作时,文本框中均没有内容,而打开文件完成时,文本框中出现内容,此时文本框中的内容从无到有,则表示此时快照出现关键变动,即此时可以确定出现关键变动的快照为划分间隔快照。
作为一种示例,以图4为例,假设快照2中文本框出现内容,而快照1中文本框无内容,则可以判定快照2的时刻前后为操作序列的分割点,且可以得知输入1以及输入2可以被划分为一个子操作序列。
在一种优选的实施例中,划分间隔快照可以通过如下步骤确定:
对所述当前快照与所述后一个快照进行作差,得到快照差值,并判断所述快照差值是否达到预设阈值;若所述快照差值达到所述预设阈值,则将所述后一个快照作为用于表示划分分界的划分间隔快照。
具体的,参照图5,示出了本发明实施例中确定划分间隔快照的过程示意图,假设获取的当前快照为快照N,与当前快照相比的后一个快照可以为快照N+1,此时可以对快照N与快照N+1进行作差,得到快照差值,并可以通过模板进行过滤,若快照差值达到预设阈值后,可以将快照N+1作为用于表示划分分界的划分间隔快照。
在另一种情况下,若本次所获取的快照N与快照N+1作差得到的快照差值并未达到预设阈值,则可以不断地按照执行顺序从快照序列中迭代下一对快照N与快照N+1,并进行作差以及对快照差值进行判断,以确定划分间隔快照。需要说明的是,预设阈值可以是经验值,且存在试验过程,一般阈值可以根据快照差值的最高值与最低值确定。
其中,模板可以只对真正关心的快照差值进行过滤,且模板可以为有经验的测试人员根据待测对象进行定制指定。针对可视化的关键变动(例如文本),以上述文本打开为例,模板可以只过滤文本框内的区域,例如假设文本框只出现在第1个快照以及第50个快照,则可以将第1个快照与第50个快照作为过滤文本框的模块,针对非可视化的关键变动(例如超声波),则可以根据频段变化对模板进行确定,不同频段的变化可以指定为不同的模板。
在本发明的一种实施例中,可以不断地按照执行顺序从快照序列中获取以及迭代下一对快照N与快照N+1,直至对快照序列中所包含的所有的相邻快照进行作差以及对快照差值进行判断,得到多个划分间隔快照,以根据多个划分间隔快照对操作序列进行划分,得到多个子操作序列。
子步骤S13,采用所述多个划分间隔快照对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录。
其中,根据多个划分间隔快照对操作序列进行划分,首先可以确定某个划分间隔快照与上一个划分间隔快照之间的录制时间,并按照录制时间对操作序列进行划分得到与录制时间对应的操作序列段,此时可以基于多个划分间隔快照不断按照上述过程进行划分得到多个操作序列段,并将得到的多个操作序列段作为多个子操作序列。
具体的,如图5所示,假设快照N与快照N+1的快照差值达到预设阈值,则确定快照N+1为划分间隔快照,即可以将发生在快照N+1之前的基本操作单元划分成一个子操作序列。
在进行划分之后,参照图6,示出了本发明实施例中子操作序列的示意图,假设原始录制记录的操作序列中所包含的基本操作单元可以包括“输入1”“输入2”“输入3”“输入4”以及“输入5”,所确定的划分间隔快照为“快照A”,在采用快照序列对操作序列进行划分时,可以以“快照A”为划分分界进行划分,得到以“输入1”“输入2”以及“输入3”为一组的子操作序列A,以及以“输入4”与“输入5”为一组的子操作序列B。
步骤303,通过强化学习算法得到调整后的目标录制记录,以采用目标录制记录对被测试软件进行验证测试以及挖掘测试。
在本发明的一种实施例中,在采用快照序列对操作序列进行划分得到多个子操作序列,并生成包含多个子操作序列的划分录制记录之后,可以采用强化学习算法对至少一个基本操作单元的参数进行调整,以得到作为新的测试录制用例的调整后的目标录制记录,以对被测软件进行回放测试。
其中,所得到作为新的测试录制用例的调整后的目标录制记录,可以用于实现针对被测软件的以回归为目的的智能验证测试,以及针对被测软件的以主动发现错误为目的的智能挖掘测试。在对操作序列划分为多个子操作序列的基础上,多个操作序列所包含的至少一个基础操作单元可以是按照顺序操作列表形式存在,上述两种测试均可以通过在顺序操作列表上调整各个基本操作单元的参数以及调整基础操作单元之间的顺序以达到智能测试的目的,其调整主要表现为通过强化学习算法完成对各个基本操作单元的参数的调整。需要说明的是,上述以主动发现错误为目的的智能挖掘测试需要以智能验证测试为基础实现。
在本发明的一种实施例中,为了实现针对被测软件的以回归为目的的智能验证测试,步骤303可以包括子步骤S21与子步骤S22:
子步骤S21,通过所述划分录制记录对所述被测软件进行回放测试得到第一回放录制记录;所述第一回放录制记录包括至少一个基本操作单元与至少一个回放间隔快照;
具体的,首先可以采用划分录制记录对被测软件进行直接回放,获取直接回放得到的第一回放录制记录,由于采用包含多个子序列以及多个划分间隔快照的划分录制记录进行回放测试,则进行回放测试时所生成的第一回放录制记录同样也可以包含多个子操作序列以及用于表示划分分界的多个回放间隔快照,其中,每个子操作序列同样可以包括至少一个基本操作单元。
子步骤S22,当对所述被测软件进行回放测试失败时,通过强化学习算法对所述第一回放录制记录的至少一个基本操作单元的参数进行调整,得到调整后的目标录制记录。
其中,当直接回放出现验证不通过时,一般是因为环境出现变化与录制时的快照(这里可以指的是对原始录制记录进行划分得到的划分录制记录中的快照)有一定差距导致回放验证不通过,此时可以通过强化学习算法对第一回放录制记录的至少一个基本操作单元的参数进行调整。
具体的,由于第一回放录制记录与划分录制记录同样具有子操作序列以及间隔快照,此时可以细化到具体哪个子操作序列无法达到对应的快照,然后可以根据q learning算法(一种强化学习算法),逐个对该子操作序列中基本操作单元的输入参数进行调整,并以该输入之后的快照与训练过程中(即划分录制记录)的实际快照的相似度作为奖励,在多次迭代后,如果间隔快照可以到达,则必然能够被强化学习算法训练出结果,如果无论如何都无法到达该阶段间隔快照,则说明验证测试失败。
参照图7A至图7C,示出了本发明实施例中生成目标录制记录的过程示意图,图7A为验证失败时第一回放录制记录所包含的子操作序列以及间隔快照,图7B为将第一回放录制记录中回放间隔快照与划分录制记录的划分间隔快照进行对比,所确定的具体哪个子操作序列无法达到对应的快照。
在一种优选的实施例中,如图7A所示,当实际回放出现失败后,可以确定第一回放录制记录中与划分录制记录的划分间隔快照首个不同的回放间隔快照,以及与首个不同的回放间隔快照对应的子操作序列;并通过强化学习算法对所述对应的子操作序列中所包含的各个基本操作单元的参数进行调整。
作为一种示例,如图7A与图7B所示,第一回放录制记录中的间隔快照BC(即回放间隔快照BC)与录制快照BC(即划分间隔快照BC)不同,且间隔快照C(即回放间隔快照C)与录制快照C(即划分间隔快照C)不同,则可以确定第一回放录制记录中与划分录制记录的划分间隔快照首个不同的回放间隔快照为录制快照BC;且录制快照BC对应子操作序列B,当定位到子操作序列B后,可以进行如图7C所示的强化学习训练阶段,即采用q learning作为调节输入参数的工具,主要是可以通过接收采用某个输入参数后实际产生的快照与录制快照的相似度作为奖励,不断对子操作序列B中的输入7、输入8以及输入9进行调整。若在经过多次的参数调整之后,实际产生的快照BC可以达到,那么经过强化训练的输入必然可以到达快照BC以完成验证测试。
在本发明的一种实施中,为了实现针对被测软件的以主动发现错误为目的的智能挖掘测试,步骤303可以包括子步骤S23至S26:
子步骤S23,将所述多个划分间隔快照组合生成划分间隔快照序列;
其中,对于被测软件某个完整且复杂的功能的实现需要通过多个子操作序列实现,此时可以将多个子操作序列之间的多个划分间隔快照组合生成一个划分间隔快照序列,以便通过划分间隔快照序列对划分录制记录的至少一个子操作序列的顺序进行调整。
参照图8,示出了本发明实施例中划分间隔快照序列的示意图,可以采用方格框对划分间隔快照进行表示,所述箭头表示的是指引以划分间隔快照为分界的操作序列以及快照序列。
子步骤S24,采用所述划分间隔快照序列对所述划分录制记录的至少一个子操作序列的顺序进行调整,得到调整后的录制记录;
其中,对至少一个子操作序列的顺序进行调整,若划分间隔快照序列中出现至少两个相同的划分间隔快照,则可以确定与至少两个相同的划分间隔快照对应的子操作序列;并采用至少两个相同的划分间隔快照对对应的子操作序列的顺序进行调整,并根据调整后的子操作序列的顺序生成调整后的录制记录。
在一种优选的实施例中,当多个划分间隔快照序列中存在交叉的至少一对划分间隔快照时,同样可以确定与上述至少一对划分间隔快照对应的子操作序列,并采用至少一对的划分间隔快照对对应的子操作序列的顺序进行调整。
具体的,如果一个间隔快照序列内部某一对出现相同的情况,或者多个录制多个间隔快照序列中存在交叉的一对间隔快照,则说明本次录制的测试可以出现乱序操作而不影响最终测试结果的可能。
参照图9,示出了本发明实施例中生成调整后的录制记录的过程示意图,假设原始录制记录可以包括录制1(A-B-C-D)、录制2(E-F)以及录制3(G-H),由图9所示,录制1与录制2之间存在交叉的间隔快照①,录制3与录制1之间存在交叉的间隔快照②,且录制3与录制2之间存在交叉的间隔快照⑤,则可以根据交叉的间隔快照⑤的前后顺序生成两条新的挖掘时回放用例,例如,挖掘式回放用例1可以为A-F-H-C-D,以及挖掘式回放用例2可以为G-H-C-D。
子步骤S25,采用所述调整后的录制记录对所述被测软件进行回放测试得到第二回放录制记录;所述第二回放录制记录包括至少一个基本操作单元与至少一个回放间隔快照;
子步骤S26,当对所述被测软件进行回放测试失败时,通过强化学习算法对所述第二回放录制记录的至少一个基本操作单元的参数进行调整,得到调整后的目标录制记录。
在实际应用中,在获得挖掘式回放用例(即调整后的录制记录)后,可以采用调整后的录制记录对被测软件进行直接回放,获取直接回放得到的第二回放录制记录,由于采用包含多个子序列以及多个划分间隔快照的挖掘式回放用例进行回放测试,则进行回放测试时所生成的第二回放录制记录同样也可以包含多个子操作序列以及用于表示划分分界的多个回放间隔快照,其中,每个子操作序列同样可以包括至少一个基本操作单元。
其中,当按照新生成的输入序列回放出现验证不通过时,一般是因为环境出现变化与录制时的快照有一定差距导致回放验证不通过,此时可以通过强化学习算法对第二回放录制记录的至少一个基本操作单元的参数进行调整,直至测过或超过迭代上限测不过为止。
在一种优选的实施例中,本发明实施例可以赋予录制回放这种套路举一反三的能力,从单纯的用于验证回归拓展至可以主动挖掘新的错误;且在对待测对象的异常情况下的适应性大大提高,有效降低反复定位环境的成本;可以降低维护成本,由于录制的是序列,当待测对象迭代过快的时候,仅需配合更换录制序列中的切片即可;以及,这种建立输入参数序列与快照序列的模型对各种测试场景都具有良好的适应性,能够广泛的用于各种测试场合(如游戏、web前端、通信领域等)。
在本发明实施例中,获取人工操作被测软件时录制的原始录制记录,其中,原始录制记录可以包括按照执行顺序录制的具有基础操作单元的操作序列以及按照预设时间间隔录制的快照序列,此时可以根据快照序列对操作序列进行划分得到包含多个子操作序列的划分录制记录,并通过强化学习算法对划分录制记录的至少一个基本操作单元的参数进行调整,以采用调整后的目标录制记录对被测软件进行回放测试。通过将录制的原始录制记录进行划分,并采用强化学习的方式对划分得到的子操作序列的至少一个基本操作单元的参数进行调整,以得到作为新的测试录制用例的目标录制记录以及采用调整后得到的目标录制记录对被测软件进行回放测试,在对被测软件某个功能进行验证的基础上实现采用目标录制记录扩展至对被测软件的错误进行主动挖掘,达到提高录制的测试用例的价值,提高测试效率以及降低测试成本的目的。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图10,示出了本发明的一种测试装置实施例的结构框图,具体可以包括如下模块:
原始录制记录获取模块1001,用于获取人工操作被测软件时录制的原始录制记录;所述原始录制记录包括按照执行顺序录制的具有基础操作单元的操作序列与按照预设时间间隔录制的快照序列;
子操作序列划分模块1002,用于根据所述快照序列对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录;其中,每个子操作序列包括至少一个基本操作单元;
目标录制记录生成模块1003,用于通过强化学习算法对所述划分录制记录的至少一个基本操作单元的参数进行调整,并得到调整后的目标录制记录,以采用所述目标录制记录对所述被测软件进行回放测试。
在本发明的一种实施例中,子操作序列划分模块1002可以包括如下子模块:
快照获取子模块,用于按照所述执行顺序从所述快照序列获取当前快照以及与所述当前快照相比的后一个快照;
划分间隔快照确定子模块,用于根据所述当前快照以及所述后一个快照确定用于表示划分分界的划分间隔快照;所述划分间隔快照包括多个划分间隔快照;
子操作序列划分子模块,用于采用所述多个划分间隔快照对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录。
在本发明的一种实施例中,划分间隔快照确定子模块可以包括如下单元:
快照差值确定单元,用于对所述当前快照与所述后一个快照进行作差,得到快照差值;
快照差值判断单元,用于判断所述快照差值是否达到预设阈值;
划分间隔快照确定单元,用于若所述快照差值达到所述预设阈值,则将所述后一个快照作为用于表示划分分界的划分间隔快照。
在本发明的一种实施例中,子操作序列划分子模块可以包括如下单元:
录制时间确定单元,用于确定划分间隔快照与上一个划分间隔快照之间的录制时间;
操作序列段确定单元,用于按照所述录制时间对所述操作序列进行划分,得到与所述录制时间对应的操作序列段;所述操作序列段包含多个操作序列段;
子操作序列确定单元,用于将所述多个操作序列段作为多个子操作序列。
在本发明的一种实施例中,目标录制记录生成模块1003可以包括如下子模块:
第一回放录制记录获取子模块,用于通过所述划分录制记录对所述被测软件进行回放测试得到第一回放录制记录;所述第一回放录制记录包括至少一个基本操作单元与至少一个回放间隔快照;
第一目标录制记录生成子模块,用于当对所述被测软件进行回放测试失败时,通过强化学习算法对所述第一回放录制记录的至少一个基本操作单元的参数进行调整,得到调整后的目标录制记录。
在本发明的一种实施例中,第一目标录制记录生成子模块可以包括如下单元:
回放间隔快照确定单元,用于确定所述第一回放录制记录中与所述划分录制记录的划分间隔快照首个不同的回放间隔快照,以及与所述首个不同的回放间隔快照对应的子操作序列;
第一参数调整单元,用于通过强化学习算法对所述对应的子操作序列中所包含的各个基本操作单元的参数进行调整。
在本发明的一种实施例中,目标录制记录生成模块1003可以包括如下子模块:
划分间隔快照序列生成子模块,用于将所述多个划分间隔快照组合生成划分间隔快照序列;
录制记录确定子模块,用于采用所述划分间隔快照序列对所述划分录制记录的至少一个子操作序列的顺序进行调整,得到调整后的录制记录;
第二回放录制记录获取子模块,用于采用所述调整后的录制记录对所述被测软件进行回放测试得到第二回放录制记录;所述第二回放录制记录包括至少一个基本操作单元与至少一个回放间隔快照;
第二目标录制记录生成子模块,用于当对所述被测软件进行回放测试失败时,通过强化学习算法对所述第二回放录制记录的至少一个基本操作单元的参数进行调整,得到调整后的目标录制记录。
在本发明的一种实施例中,录制记录确定子模块可以包括如下单元:
子操作序列确定单元,用于若所述划分间隔快照序列中出现至少两个相同的划分间隔快照,则确定与所述至少两个相同的划分间隔快照对应的子操作序列;
录制记录确定单元,用于采用所述至少两个相同的划分间隔快照对所述对应的子操作序列的顺序进行调整,并根据所述调整后的子操作序列的顺序生成调整后的录制记录。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述针对测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种测试方法和一种测试装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种测试方法,其特征在于,所述方法包括:
获取人工操作被测软件时录制的原始录制记录;所述原始录制记录包括按照执行顺序录制的具有基础操作单元的操作序列与按照预设时间间隔录制的快照序列;
根据所述快照序列对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录;其中,每个子操作序列包括至少一个基本操作单元;
通过强化学习算法对所述划分录制记录的至少一个基本操作单元的参数进行调整,并得到调整后的目标录制记录,以采用所述目标录制记录对所述被测软件进行回放测试;其中,所述划分录制记录用于对所述被测软件进行回放测试得到第一回放录制记录,所述第一回放录制记录用于当对所述被测软件进行回放测试失败时,对首个不同的回放间隔快照对应的子操作序列中所包含的各个基本操作单元的参数进行调整;所述首个不同的回放间隔快照为所述第一回放录制记录中与所述划分录制记录的划分间隔快照首个不同的回放间隔快照。
2.根据权利要求1所述的方法,其特征在于,所述根据所述快照序列对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录,包括:
按照所述执行顺序从所述快照序列获取当前快照以及与所述当前快照相比的后一个快照;
根据所述当前快照以及所述后一个快照确定用于表示划分分界的划分间隔快照;所述划分间隔快照包括多个划分间隔快照;
采用所述多个划分间隔快照对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前快照以及所述后一个快照确定用于表示划分分界的划分间隔快照,包括:
对所述当前快照与所述后一个快照进行作差,得到快照差值,并判断所述快照差值是否达到预设阈值;
若所述快照差值达到所述预设阈值,则将所述后一个快照作为用于表示划分分界的划分间隔快照。
4.根据权利要求3所述的方法,其特征在于,所述采用所述多个划分间隔快照对所述操作序列进行划分得到多个子操作序列,包括:
确定划分间隔快照与上一个划分间隔快照之间的录制时间;
按照所述录制时间对所述操作序列进行划分,得到与所述录制时间对应的操作序列段;所述操作序列段包含多个操作序列段;
将所述多个操作序列段作为多个子操作序列。
5.根据权利要求1所述的方法,其特征在于,所述通过强化学习算法对所述划分录制记录的至少一个基本操作单元的参数进行调整,并得到调整后的目标录制记录,包括:
通过所述划分录制记录对所述被测软件进行回放测试得到第一回放录制记录;所述第一回放录制记录包括至少一个基本操作单元与至少一个回放间隔快照;
当对所述被测软件进行回放测试失败时,通过强化学习算法对所述第一回放录制记录的至少一个基本操作单元的参数进行调整,得到调整后的目标录制记录。
6.根据权利要求5所述的方法,其特征在于,所述强化学习算法对所述第一回放录制记录的至少一个基本操作单元的参数进行调整,包括:
确定所述第一回放录制记录中与所述划分录制记录的划分间隔快照首个不同的回放间隔快照,以及与所述首个不同的回放间隔快照对应的子操作序列;
通过强化学习算法对所述对应的子操作序列中所包含的各个基本操作单元的参数进行调整。
7.根据权利要求2所述的方法,其特征在于,所述通过强化学习算法对所述划分录制记录的至少一个基本操作单元的参数进行调整,并得到调整后的目标录制记录,包括:
将所述多个划分间隔快照组合生成划分间隔快照序列;
采用所述划分间隔快照序列对所述划分录制记录的至少一个子操作序列的顺序进行调整,得到调整后的录制记录;
采用所述调整后的录制记录对所述被测软件进行回放测试得到第二回放录制记录;所述第二回放录制记录包括至少一个基本操作单元与至少一个回放间隔快照;
当对所述被测软件进行回放测试失败时,通过强化学习算法对所述第二回放录制记录的至少一个基本操作单元的参数进行调整,得到调整后的目标录制记录。
8.根据权利要求7所述的方法,其特征在于,所述采用所述划分间隔快照序列对所述划分录制记录的至少一个子操作序列进行调整,得到调整后的录制记录,包括:
若所述划分间隔快照序列中出现至少两个相同的划分间隔快照,则确定与所述至少两个相同的划分间隔快照对应的子操作序列;
采用所述至少两个相同的划分间隔快照对所述对应的子操作序列的顺序进行调整,并根据所述调整后的子操作序列的顺序生成调整后的录制记录。
9.一种测试装置,其特征在于,所述装置包括:
原始录制记录获取模块,用于获取人工操作被测软件时录制的原始录制记录;所述原始录制记录包括按照执行顺序录制的具有基础操作单元的操作序列与按照预设时间间隔录制的快照序列;
子操作序列划分模块,用于根据所述快照序列对所述操作序列进行划分得到多个子操作序列,并生成包含所述多个子操作序列的划分录制记录;其中,每个子操作序列包括至少一个基本操作单元;
目标录制记录生成模块,用于通过强化学习算法对所述划分录制记录的至少一个基本操作单元的参数进行调整,并得到调整后的目标录制记录,以采用所述目标录制记录对所述被测软件进行回放测试;其中,所述划分录制记录用于对所述被测软件进行回放测试得到第一回放录制记录,所述第一回放录制记录用于当对所述被测软件进行回放测试失败时,对首个不同的回放间隔快照对应的子操作序列中所包含的各个基本操作单元的参数进行调整;所述首个不同的回放间隔快照为所述第一回放录制记录中与所述划分录制记录的划分间隔快照首个不同的回放间隔快照。
10.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至8中任一项所述测试方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述测试方法的步骤。
CN202011035184.7A 2020-09-27 2020-09-27 一种测试方法和装置 Active CN112084117B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011035184.7A CN112084117B (zh) 2020-09-27 2020-09-27 一种测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011035184.7A CN112084117B (zh) 2020-09-27 2020-09-27 一种测试方法和装置

Publications (2)

Publication Number Publication Date
CN112084117A CN112084117A (zh) 2020-12-15
CN112084117B true CN112084117B (zh) 2023-08-08

Family

ID=73739171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011035184.7A Active CN112084117B (zh) 2020-09-27 2020-09-27 一种测试方法和装置

Country Status (1)

Country Link
CN (1) CN112084117B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115357519B (zh) * 2022-10-20 2022-12-16 中科方德软件有限公司 一种测试方法、装置、设备及介质

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1503168A (zh) * 2002-11-22 2004-06-09 深圳市中兴通讯股份有限公司 一种系统产品的自动化测试方法
CN102799428A (zh) * 2012-06-28 2012-11-28 北京大学 交互式软件中的操作记录与回放方法
CA2951723A1 (en) * 2014-06-10 2015-12-17 Sightline Innovation Inc. System and method for network based application development and implementation
CN105955889A (zh) * 2016-05-11 2016-09-21 南京大学 一种图形界面自动化测试方法
WO2017008657A1 (zh) * 2015-07-14 2017-01-19 阿里巴巴集团控股有限公司 一种数据快照获取的方法及系统
CN106528420A (zh) * 2016-11-07 2017-03-22 中国工商银行股份有限公司 一种软件界面的自动化测试方法及装置
CN106681911A (zh) * 2016-12-08 2017-05-17 浙江大学 一种支持故障注入的确定性重放功能的实现方法
US9734042B1 (en) * 2013-05-27 2017-08-15 Amdocs Software Systems Limited System, method, and computer program for automated parameterized software testing
CN107463500A (zh) * 2017-08-09 2017-12-12 网易(杭州)网络有限公司 测试脚本的调试方法、介质、系统和计算设备
CN107491385A (zh) * 2016-06-13 2017-12-19 腾讯科技(深圳)有限公司 一种软件测试过程中录屏的方法及装置
CN108984395A (zh) * 2018-06-21 2018-12-11 腾讯科技(北京)有限公司 一种应用程序启动耗时测试方法、装置和存储介质
CN109656806A (zh) * 2018-10-29 2019-04-19 口碑(上海)信息技术有限公司 一种接口数据的回放测试方法及装置
CN110175120A (zh) * 2019-05-20 2019-08-27 北京理工大学 一种基于强化学习的模糊测试用例自适应变异方法和装置
CN110227264A (zh) * 2019-06-06 2019-09-13 腾讯科技(成都)有限公司 虚拟对象控制方法、装置、可读存储介质和计算机设备
CN110275834A (zh) * 2019-06-25 2019-09-24 中国工商银行股份有限公司 用户界面自动化测试系统及方法
CN111124888A (zh) * 2019-11-28 2020-05-08 腾讯科技(深圳)有限公司 录制脚本的生成方法和装置及电子装置
CN111352826A (zh) * 2018-12-24 2020-06-30 上海云扩信息科技有限公司 一种界面测试用例自动生成方法及工具

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607152B2 (en) * 2009-06-11 2013-12-10 International Business Machines Corporation Management of test artifacts using cascading snapshot mechanism
US10162741B2 (en) * 2017-01-24 2018-12-25 International Business Machines Corporation Automatically correcting GUI automation using machine learning
US11048619B2 (en) * 2018-05-01 2021-06-29 Appdiff, Inc. AI software testing system and method

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1503168A (zh) * 2002-11-22 2004-06-09 深圳市中兴通讯股份有限公司 一种系统产品的自动化测试方法
CN102799428A (zh) * 2012-06-28 2012-11-28 北京大学 交互式软件中的操作记录与回放方法
US9734042B1 (en) * 2013-05-27 2017-08-15 Amdocs Software Systems Limited System, method, and computer program for automated parameterized software testing
CA2951723A1 (en) * 2014-06-10 2015-12-17 Sightline Innovation Inc. System and method for network based application development and implementation
WO2017008657A1 (zh) * 2015-07-14 2017-01-19 阿里巴巴集团控股有限公司 一种数据快照获取的方法及系统
CN105955889A (zh) * 2016-05-11 2016-09-21 南京大学 一种图形界面自动化测试方法
CN107491385A (zh) * 2016-06-13 2017-12-19 腾讯科技(深圳)有限公司 一种软件测试过程中录屏的方法及装置
CN106528420A (zh) * 2016-11-07 2017-03-22 中国工商银行股份有限公司 一种软件界面的自动化测试方法及装置
CN106681911A (zh) * 2016-12-08 2017-05-17 浙江大学 一种支持故障注入的确定性重放功能的实现方法
CN107463500A (zh) * 2017-08-09 2017-12-12 网易(杭州)网络有限公司 测试脚本的调试方法、介质、系统和计算设备
CN108984395A (zh) * 2018-06-21 2018-12-11 腾讯科技(北京)有限公司 一种应用程序启动耗时测试方法、装置和存储介质
CN109656806A (zh) * 2018-10-29 2019-04-19 口碑(上海)信息技术有限公司 一种接口数据的回放测试方法及装置
CN111352826A (zh) * 2018-12-24 2020-06-30 上海云扩信息科技有限公司 一种界面测试用例自动生成方法及工具
CN110175120A (zh) * 2019-05-20 2019-08-27 北京理工大学 一种基于强化学习的模糊测试用例自适应变异方法和装置
CN110227264A (zh) * 2019-06-06 2019-09-13 腾讯科技(成都)有限公司 虚拟对象控制方法、装置、可读存储介质和计算机设备
CN110275834A (zh) * 2019-06-25 2019-09-24 中国工商银行股份有限公司 用户界面自动化测试系统及方法
CN111124888A (zh) * 2019-11-28 2020-05-08 腾讯科技(深圳)有限公司 录制脚本的生成方法和装置及电子装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于强化学习的游戏自动化测试技术;朱以汀;《现代计算机》;全文 *

Also Published As

Publication number Publication date
CN112084117A (zh) 2020-12-15

Similar Documents

Publication Publication Date Title
CN108717393A (zh) 一种应用程序测试方法及移动终端
US8266592B2 (en) Ranking and optimizing automated test scripts
US10176079B2 (en) Identification of elements of currently-executing component script
CN107832216A (zh) 一种埋点测试方法及装置
US10162742B2 (en) System and method for end to end performance response time measurement based on graphic recognition
CN111400164B (zh) 一种软件测试方法及装置
CN111008154B (zh) 一种基于强化学习的Android应用自动测试方法及系统
CN110610089B (zh) 用户行为模拟方法、装置及计算机设备
CN109145981B (zh) 深度学习自动化模型训练方法及设备
CN105302706A (zh) 应用程序测试方法和装置
CN111639470B (zh) 一种处理器协同芯片的仿真测试方法、系统及相关组件
CN112084117B (zh) 一种测试方法和装置
CN107704389B (zh) 一种页面测试方法及装置
CN114826768A (zh) 应用大数据和ai技术的云端漏洞处理方法及ai分析系统
US9501390B1 (en) Enhancing automated mobile application testing
CN109634842B (zh) 基于qt应用程序的测试方法和系统
CN109460366A (zh) 一种软件稳定性测试方法、装置、设备及介质
CN115495297A (zh) 一种服务器硬盘测试的方法及装置、电子设备、存储介质
CN103914377A (zh) 接口测试方法及装置
CN113722235A (zh) 一种自动化测试方法及装置
CN111190777B (zh) 一种磁盘i/o性能测试方法及装置
CN112527631A (zh) bug定位方法、系统、电子设备及存储介质
CN107102938B (zh) 测试脚本的更新方法及装置
CN113377632B (zh) 用户行为的回溯方法及装置
CN111124782A (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
GR01 Patent grant
GR01 Patent grant