CN108304324A - 测试用例生成方法、装置、设备及存储介质 - Google Patents

测试用例生成方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN108304324A
CN108304324A CN201810058009.6A CN201810058009A CN108304324A CN 108304324 A CN108304324 A CN 108304324A CN 201810058009 A CN201810058009 A CN 201810058009A CN 108304324 A CN108304324 A CN 108304324A
Authority
CN
China
Prior art keywords
page
jump
user
data
current
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.)
Granted
Application number
CN201810058009.6A
Other languages
English (en)
Other versions
CN108304324B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810058009.6A priority Critical patent/CN108304324B/zh
Publication of CN108304324A publication Critical patent/CN108304324A/zh
Application granted granted Critical
Publication of CN108304324B publication Critical patent/CN108304324B/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/3684Test management for test design, e.g. generating new test cases

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种测试用例生成方法、装置、设备及存储介质,该方法包括:获取终端上的用户行为数据并进行去噪处理;根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系;基于页面预测模型及页面跳转与用户操作的对应关系生成测试用例。本发明实施例对用户行为数据进行去噪处理,能提高生成测试用例的准确性;基于用户历史行为数据,得到页面预测模型及页面跳转与用户操作的对应关系,据此预测用户可能的操作,执行自动化用例,缩减用例数量,保证用例可实施性。另外通过引入扩展页面和环路出现次数阈值,实现预测与真实用户操作之间的一个平衡点,减少预测不准造成的生成用例失败,同时补充用例集。

Description

测试用例生成方法、装置、设备及存储介质
技术领域
本发明实施例涉及测试技术,尤其涉及一种测试用例生成方法、装置、设备及存储介质。
背景技术
随着应用程序(APP)功能的愈加复杂以及定制版本的增多,对终端上APP的测试效率要求也越来越高,目前主要是通过生成自动化测试用例来提高测试效率。
目前,Monkey测试模拟用户的按键输入、触摸屏输入和手势输入等,测试终端多长时间会出现异常,但是Monkey测试随机点击无法真实模拟用户使用场景。利用Appium测试框架人工编写自动化用例,虽能固化一些用户场景,但由于需要人工编写用例,增加了自动化用例的维护成本。另外,也有基于用户行为自动生成测试用例的方法,但是该方法关于如何从海量真实用户轨迹中生成用例,并没有给出明确算法;并且,全量生成用例会导致用例数量爆炸式增长,例如N个状态节点,假设每个节点都能通过操作跳转至其他节点,实际上形成了N阶完全图,那么对于任意两点的用户操作序列有1+(n-2)+(n-2)×(n-3)+(n-2)×(n-3)×(n-4)+……+1×2×3×……(n-4)×(n-3)×(n-2)种(记为M);进一步地,考虑用户实际操作轨迹是允许存在环的,例如节点A到节点C的路径可以是A->C,也可以是A->B->C,还可以是A->B->A->C,那么实际可行序列将会远大于M。因此,该方法实际运用时会因为生成的用例过多而无法执行,并且生成的用例中有些用例本身就是错误或无效的,若按错误用例进行测试,造成资源浪费。
发明内容
本发明实施例提供一种测试用例生成方法、装置、设备及存储介质,以解决现有技术中生成错误测试用例以及生成过多测试用例导致无法执行的问题。
第一方面,本发明实施例提供了一种测试用例生成方法,包括:
获取终端上的用户行为数据,并对所述用户行为数据进行去噪处理;
根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系;
基于所述页面预测模型及所述页面跳转与用户操作的对应关系生成测试用例。
第二方面,本发明实施例还提供了一种测试用例生成装置,包括:
数据处理模块,用于获取终端上的用户行为数据,并对所述用户行为数据进行去噪处理;
模型生成模块,用于根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系;
测试用例生成模块,用于基于所述页面预测模型及所述页面跳转与用户操作的对应关系生成测试用例。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的测试用例生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的测试用例生成方法。
本发明实施例对获取的用户行为数据进行去噪处理,去除无效数据和错误数据,进而可以提高生成的测试用例的准确性,避免资源浪费;对用户历史行为数据进行挖掘,得到页面预测模型及页面跳转与用户操作的对应关系,据此预测用户可能的操作,执行对应的自动化用例,能够大大缩减用例数量,保证用例的可实施性。另外,通过引入扩展页面和环路出现次数阈值,实现预测与真实用户操作之间的一个平衡点,能够减少因预测不准造成的生成用例失败,同时能够补充用例集。
附图说明
图1是本发明实施例一提供的测试用例生成方法的流程图;
图2是本发明实施例二提供的连续误点数据过滤的流程图;
图3是本发明实施例二提供的无效数据过滤的流程图;
图4是本发明实施例二提供的无效数据过滤的示意图;
图5是本发明实施例三提供的测试用例生成方法的流程图;
图6是本发明实施例三提供的用户行为中操作与页面的关系示意图;
图7是本发明实施例三提供的页面跳转与用户操作的对应关系示意图;
图8是本发明实施例四提供的测试用例生成方法的流程图;
图9是本发明实施例五提供的测试用例生成装置的结构框图;
图10是本发明实施例六提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的测试用例生成方法的流程图,本实施例可适用于自动生成测试用例的情况,该方法可以由测试用例生成装置来执行,该装置可以安装在终端上。如图1所示,该方法包括:
S101,获取终端上的用户行为数据,并对用户行为数据进行去噪处理。
其中,应用程序服务器可以搜集安装有该应用程序的终端中的用户行为数据,用户行为数据包括:操作时间、操作页面和操作控件等,即用户在什么时间在哪个页面点击了哪个控件。用户从启动应用程序到退出该应用程序的过程中的行为,为该用户的一组行为,可表示为一个会话(Session),每个会话均设置有唯一标识,获取的用户行为数据就是各用户的多组行为。用户行为数据来自用户的真实操作,不排除存在用户误点、误操作的情况,这样的异常行为对测试用例的生成会造成干扰,需要进行去噪处理,以便于数据处理,提高生成的测试用例的准确性。
S102,根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系。
其中,页面预测模型用于预测当前页面要跳转的下一个页面,输入为当前页面,输出为要跳转的下一页面;页面跳转与用户操作的对应关系用于获取实现页面跳转所需执行的操作。页面预测模型以及页面跳转与用户操作的对应关系,均是基于用户行为的特征得到的,用户行为在页面跳转时具有时序性,在某个页面的具体操作则无明显时序性和关联性。根据应用程序的相关参数(例如页面总数)以及去噪后的用户行为数据,利用预置模型进行深度学习,能够训练得到页面预测模型,本实施例对模型训练过程不进行详细描述,具体可参见现有的模型训练过程。考虑到页面跳转具有时序性,因此可使用LSTM(LongShort-Term Memory,长短期记忆网络)模型。考虑到用户在某个页面的具体操作无明显时序性和关联性,因此可以利用操作的重要程度从中选取一组或多组操作,用于建立页面跳转与用户操作的对应关系。
S103,基于页面预测模型及页面跳转与用户操作的对应关系生成测试用例。
其中,从初始页面开始,实时利用页面预测模型预测当前页面的第一待跳转页面;根据页面跳转与用户操作的对应关系获取跳转到第一待跳转页面需执行的第一操作;在当前页面执行第一操作,实现页面跳转。将跳转后的页面作为当前页面,重复执行上述页面预测、获取对应操作以及页面跳转的过程,直到无页面可跳转,完成当前测试用例的生成。
本实施例的测试用例生成方法,对获取的用户行为数据进行去噪处理,去除无效数据和错误数据,进而可以提高生成的测试用例的准确性,避免资源浪费;对用户历史行为数据进行挖掘,得到页面预测模型及页面跳转与用户操作的对应关系,据此预测用户可能的操作,执行对应的自动化用例,能够大大缩减用例数量,保证用例的可实施性。
实施例二
本实施例在上述实施例的基础上,提供了去噪处理的实施方式。去噪处理包括以下至少之一:连续误点数据过滤、无效数据过滤和回环误点数据过滤。下面分别进行说明。
(1)连续误点数据过滤
连续误点数据过滤主要是过滤重复点击噪声,例如,用户连续点击两次“返回”,第二次点击属于误点,需要过滤第二次点击操作。
连续误点数据过滤包括:依次读取用户行为数据中的每个操作,作为当前操作;比较当前操作与上一个操作;若当前操作与上一个操作相比,除操作时间之外其余操作信息均相同,则确定当前操作是连续误点数据;删除该连续误点数据。其中,上一个操作指的是在当前操作之前读取的且未被删除的操作。操作信息包括操作时间、操作页面和操作控件等。
图2是本发明实施例二提供的连续误点数据过滤的流程图,如图2所示,连续误点数据过滤包括:
S201,按用户操作时序依次读入一条新记录Cur,前一次读入的记录为Pre,Pre初始值为Null。
S202,判断Cur与Pre除时间信息外其余信息是否相同,如果是,执行S203,如果否,执行S204。
S203,过滤Cur。
S204,令Pre=Cur。
(2)无效数据过滤
无效数据过滤是指过滤掉用户行为数据中对生成测试用例无明显帮助的操作,例如,图片控件的放大/缩小、对页面数据的上滑/下滑等仅改变数据呈现方式的操作;又如,与当前需求无关的操作,示例性的,当前需求为对应用程序中的个人中心进行升级,则只需关注与个人中心相关的控件,对返回、列表等的点击操作,对符合当前需求的测试用例没有贡献,可以过滤。
无效数据过滤包括:依次读取用户行为数据中的每个操作,作为当前操作;比较当前操作与预设操作白名单;若当前操作属于预设操作白名单,则确定当前操作是无效数据;删除该无效数据。其中,预设操作白名单中存储有对生成测试用例无明显帮助的操作。
图3是本发明实施例二提供的无效数据过滤的流程图,如图3所示,无效数据过滤包括:
S301,按用户操作时序依次读入一条新记录Cur。
S302,判断Cur是否在预设白名单中,若是,执行S303,若否,执行S304。
S303,过滤Cur。
S304,保留Cur。
(3)回环误点数据过滤
回环误点数据过滤主要是过滤由于用户误点导致的环路行为。回环误点数据过滤包括:获取用户行为数据中的环路行为,其中环路行为是从第一页面跳转回历史页面;确定环路行为中在第一页面的停留时间;若停留时间小于预设阈值,则确定该环路行为是回环误点数据;删除该回环误点数据。
图4是本发明实施例二提供的无效数据过滤的示意图,如图4所示的用户行为数据中页面跳转顺序为:A、B、C、D、B、C、E,在页面A上执行操作a,触发跳转到页面B。其中B、C、D、B构成一个环路行为,用户经过一系列操作回到历史页面B,如果在页面D的停留时间(即从进入页面D到跳转至页面B所经过的时间间隔)小于预设阈值T(如30秒),则可能是用户误点导致的环路行为,过滤该环路行为。
对于采集的用户行为数据,经过上述至少一种的去噪处理,得到可靠的用户行为数据,便于快速且准确地基于去噪后的用户行为数据实现测试用例的自动化生成。
实施例三
本实施例在上述各实施例的基础上,提供了S102中生成页面跳转与用户操作的对应关系的实施方式。图5是本发明实施例三提供的测试用例生成方法的流程图,如图5所示,该方法包括:
S501,获取终端上的用户行为数据,并对用户行为数据进行去噪处理。
S502,根据去噪后的用户行为数据,训练得到页面预测模型。
如图6所示,为用户1的一组行为和用户2的一组行为,其中,用户1在页面A依序执行操作a、b、c,操作c触发跳转到页面B,在页面B执行操作d,触发跳转到页面C,在页面C执行操作e,触发跳转到页面D,用户2与此类似,不再赘述。由图6可知,用户行为数据中的页面转移具有时序性,训练模型时,主要基于应用程序的页面总数及用户行为数据中的页面跳转关系进行训练。
S503,从去噪后的用户行为数据中获取所有页面跳转关系。
其中,页面跳转关系指的是从一个页面能够跳转到另一个页面,例如页面A跳转到页面B为一个页面跳转关系。
S504,针对每个页面跳转关系,获取该页面跳转关系所属的所有行为路径,从所有行为路径中获取页面跳转前所执行的各组操作。
S505,计算每组操作的出现次数,并选取出现次数最大的那组操作,作为该页面跳转关系对应的用户操作。
其中,每一跳页面内的操作是离散的,例如用户在某个页面可以进行多次滑动、点击、输入的操作,操作之间无明显时序和关联性,通过多组操作均可以实现页面A跳转到页面B,例如图6中操作abc和操作f均可实现页面A跳转到页面B,因此本实施例中基于词频(Term Frequency,TF)思想对每个页面挑选最重要的一组操作作为代表。示例性的,去噪后的用户行为数据中,有M条用户行为路径都包含页面A跳转到页面B这个页面跳转关系,计算页面A跳转到页面B的过程中用户在页面A上所执行的各组操作的TF值,计算公式为TFi=Ni/M,其中,i表示第i组操作,TFi表示第i组操作的重要程度,Ni表示M条路径中第i组操作的出现次数。选取TFi值最大的一组操作作为页面A跳转到页面B对应的用户操作。
S506,根据各页面跳转关系及其对应的用户操作,生成页面跳转与用户操作的对应关系。
其中,页面跳转与用户操作的对应关系,表示的是应用程序中所有页面之间的跳转关系,以及实现各跳转关系对应的用户操作。如图7所示,左侧为页面转移矩阵,即页面跳转关系;右侧为用户操作矩阵,即实现页面跳转关系对应的用户操作,例如,操作a、b表示页面A跳转到页面B的所有组操作中TF值最大的那组操作。图7中,第一列中的ABCD表示当前页面,第一行中的ABCD表示目标页面,1表示可跳转,0表示不可跳转。需要说明的是,S503至S506生成对应关系的过程与S502训练模型的过程,执行顺序不分先后,可同时执行。
S507,基于页面预测模型及页面跳转与用户操作的对应关系生成测试用例。
本实施例的测试用例生成方法,对用户历史行为数据进行挖掘,用户在某个页面的具体操作无明显时序性和关联性,因此利用操作的重要程度从中选取一组操作,用于建立页面跳转与用户操作的对应关系,据此预测用户可能的操作,执行对应的自动化用例,能够大大缩减用例数量,保证用例的可实施性。
实施例四
本实施例在上述各实施例的基础上,提供了扩充测试用例的实施方式。上述实施例中通过对采集的用户行为数据进行深度学习,能够预测用户操作路径,进而生成测试用例,为了避免测试用例覆盖不足,本实施例提供了扩展跳转页面的方式以扩充测试用例。
图8是本发明实施例四提供的测试用例生成方法的流程图,如图8所示,该方法包括:
S801,获取终端上的用户行为数据,并对用户行为数据进行去噪处理。
S802,根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系。
S803,利用页面预测模型预测当前页面的第一待跳转页面。
S804,根据页面跳转与用户操作的对应关系获取跳转到第一待跳转页面需执行的第一操作;
S805,在当前页面执行第一操作,实现页面跳转。将跳转后的页面作为当前页面,重复执行S803至S805,直到无页面可跳转,则结束S803至S805的测试用例生成过程。
S806,根据页面跳转关系,在除所述第一待跳转页面之外的页面中随机选取至少一个扩展页面,作为当前页面的第二待跳转页面,其中,扩展页面的个数不超过预设个数。
其中,扩展页面并不是随机选取的页面,是除了页面预测模型预测出的第一待跳转页面之外且当前页面能够跳转到的页面,以图7为例,假设当前页面为B,S803预测得到的第一待跳转页面是C,那么根据页面跳转关系,扩展页面可以是页面A和/或页面D。限制扩展页面的个数能够避免测试用例无限扩充,导致用例过多。
S807,根据页面跳转与用户操作的对应关系获取跳转到第二待跳转页面需执行的第二操作。
S808,在当前页面执行第二操作,实现页面跳转。将跳转后的页面作为当前页面,重复执行S806至S808,直到无页面可跳转,则结束S806至S808的测试用例生成过程。
本实施例通过引入扩展页面,即每一步操作后,允许向外随机扩展N步操作,以此达到扩充测试用例的目的,实现预测与真实用户操作之间的一个平衡点,能够减少因预测不准造成的生成用例失败,同时能够补充用例集。
本实施例在上述各实施例的基础上,还提供了修正测试用例的实施方式。为了保证测试用例形成环路后能够正常退出,限制一条测试用例(即一次完整的用户行为路径)上的任意转移状态的重复次数不超过预设次数,例如,页面A跳转到页面B在同一条测试用例中出现的次数不能超过预设次数,否则结束当前测试用例的生成,以免测试用例陷入死循环,无法退出。
具体的,在基于页面预测模型及页面跳转与用户操作的对应关系生成测试用例的过程中,记录同一测试用例中各环路的出现次数;若有环路的出现次数达到预设次数,则停止该测试用例的生成过程。本实施例通过对环路的出现次数进行限制,能够保证测试用例正常退出。
实施例五
图9是本发明实施例五提供的测试用例生成装置的结构框图,该装置可以用于实现上述任意实施例的测试用例生成方法,该装置可以通过软件和/或硬件的方式实现。如图9所示,该装置包括:数据处理模块901、模型生成模块902和测试用例生成模块903。
数据处理模块901,用于获取终端上的用户行为数据,并对用户行为数据进行去噪处理;
模型生成模块902,用于根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系;
测试用例生成模块903,用于基于页面预测模型及页面跳转与用户操作的对应关系生成测试用例。
上述数据处理模块901具体用于执行以下至少之一的操作:连续误点数据过滤、无效数据过滤和回环误点数据过滤。
进一步的,上述数据处理模块901包括:第一操作读取单元,用于依次读取用户行为数据中的每个操作,作为当前操作;第一操作比较单元,用于比较当前操作与上一个操作;第一数据确定单元,用于在除操作时间之外其余操作信息均相同的情况下,确定当前操作是连续误点数据;第一数据删除单元,用于删除连续误点数据。
进一步的,上述数据处理模块901包括:第二操作读取单元,用于依次读取用户行为数据中的每个操作,作为当前操作;第二操作比较单元,用于比较当前操作与预设操作白名单;第二数据确定单元,用于在当前操作属于预设操作白名单的情况下,确定当前操作是无效数据;第二数据删除单元,用于删除无效数据。
进一步的,上述数据处理模块901包括:环路获取单元,用于获取用户行为数据中的环路行为,其中环路行为是从第一页面跳转回历史页面;时间确定单元,用于确定环路行为中在第一页面的停留时间;第三数据确定单元,用于在停留时间小于预设阈值的情况下,确定环路行为是回环误点数据;第三数据删除单元,用于删除回环误点数据。
在一个实施例中,上述模型生成模块902包括:
关系获取单元,用于从去噪后的用户行为数据中获取所有页面跳转关系;
路径获取单元,用于针对每个页面跳转关系,获取该页面跳转关系所属的所有行为路径,从所有行为路径中获取页面跳转前所执行的各组操作;
操作选取单元,用于计算每组操作的出现次数,并选取出现次数最大的那组操作,作为页面跳转关系对应的用户操作;
对应关系生成单元,用于根据各页面跳转关系及其对应的用户操作,生成页面跳转与用户操作的对应关系。
在一个实施例中,上述测试用例生成模块903包括:
页面预测单元,用于利用页面预测模型预测当前页面的第一待跳转页面;
操作获取单元,用于根据页面跳转与用户操作的对应关系获取跳转到第一待跳转页面需执行的第一操作;
页面跳转单元,用于在当前页面执行第一操作,实现页面跳转。
在一个实施例中,上述测试用例生成模块903还包括:
页面选取单元,用于在利用所述页面预测模型预测当前页面的第一待跳转页面之后,根据页面跳转关系,在除所述第一待跳转页面之外的页面中随机选取至少一个扩展页面,作为当前页面的第二待跳转页面,其中,扩展页面的个数不超过预设个数;
操作获取单元,还用于根据页面跳转与用户操作的对应关系获取跳转到第二待跳转页面需执行的第二操作;
页面跳转单元,还用于在当前页面执行第二操作,实现页面跳转。
在一个实施例中,上述测试用例生成模块903包括:次数记录单元,用于记录同一测试用例中各环路的出现次数;停止单元,用于在有环路的出现次数达到预设次数的情况下,停止测试用例的生成过程。
本发明实施例所提供的测试用例生成装置可执行本发明任意实施例所提供的测试用例生成方法,具备执行方法相应的功能模块和有益效果。
实施例六
图10是本发明实施例六提供的一种设备的结构示意图。图10示出了适于用来实现本发明实施方式的示例性设备12的框图。图10显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的测试用例生成方法。
实施例七
本发明实施例七还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的测试用例生成方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (20)

1.一种测试用例生成方法,其特征在于,包括:
获取终端上的用户行为数据,并对所述用户行为数据进行去噪处理;
根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系;
基于所述页面预测模型及所述页面跳转与用户操作的对应关系生成测试用例。
2.根据权利要求1所述的方法,其特征在于,所述去噪处理包括以下至少之一:连续误点数据过滤、无效数据过滤和回环误点数据过滤。
3.根据权利要求2所述的方法,其特征在于,所述连续误点数据过滤包括:
依次读取所述用户行为数据中的每个操作,作为当前操作;
比较所述当前操作与上一个操作;
若除操作时间之外其余操作信息均相同,则确定所述当前操作是连续误点数据;
删除所述连续误点数据。
4.根据权利要求2所述的方法,其特征在于,所述无效数据过滤包括:
依次读取所述用户行为数据中的每个操作,作为当前操作;
比较所述当前操作与预设操作白名单;
若所述当前操作属于所述预设操作白名单,则确定所述当前操作是无效数据;
删除所述无效数据。
5.根据权利要求2所述的方法,其特征在于,所述回环误点数据过滤包括:
获取所述用户行为数据中的环路行为,其中所述环路行为是从第一页面跳转回历史页面;
确定所述环路行为中在所述第一页面的停留时间;
若所述停留时间小于预设阈值,则确定所述环路行为是回环误点数据;
删除所述回环误点数据。
6.根据权利要求1所述的方法,其特征在于,生成页面跳转与用户操作的对应关系,包括:
从所述去噪后的用户行为数据中获取所有页面跳转关系;
针对每个页面跳转关系,获取该页面跳转关系所属的所有行为路径,从所述所有行为路径中获取页面跳转前所执行的各组操作;
计算每组操作的出现次数,并选取出现次数最大的那组操作,作为所述页面跳转关系对应的用户操作;
根据各页面跳转关系及其对应的用户操作,生成所述页面跳转与用户操作的对应关系。
7.根据权利要求1所述的方法,其特征在于,基于所述页面预测模型及所述页面跳转与用户操作的对应关系生成测试用例,包括:
利用所述页面预测模型预测当前页面的第一待跳转页面;
根据所述页面跳转与用户操作的对应关系获取跳转到所述第一待跳转页面需执行的第一操作;
在所述当前页面执行所述第一操作,实现页面跳转。
8.根据权利要求7所述的方法,其特征在于,在利用所述页面预测模型预测当前页面的第一待跳转页面之后,还包括:
根据页面跳转关系,在除所述第一待跳转页面之外的页面中随机选取至少一个扩展页面,作为所述当前页面的第二待跳转页面,其中,所述扩展页面的个数不超过预设个数;
根据所述页面跳转与用户操作的对应关系获取跳转到所述第二待跳转页面需执行的第二操作;
在所述当前页面执行所述第二操作,实现页面跳转。
9.根据权利要求1所述的方法,其特征在于,基于所述页面预测模型及所述页面跳转与用户操作的对应关系生成测试用例,包括:
记录同一测试用例中各环路的出现次数;
若有环路的出现次数达到预设次数,则停止所述测试用例的生成过程。
10.一种测试用例生成装置,其特征在于,包括:
数据处理模块,用于获取终端上的用户行为数据,并对所述用户行为数据进行去噪处理;
模型生成模块,用于根据去噪后的用户行为数据,训练得到页面预测模型,并生成页面跳转与用户操作的对应关系;
测试用例生成模块,用于基于所述页面预测模型及所述页面跳转与用户操作的对应关系生成测试用例。
11.根据权利要求10所述的装置,其特征在于,所述数据处理模块具体用于执行以下至少之一的操作:连续误点数据过滤、无效数据过滤和回环误点数据过滤。
12.根据权利要求11所述的装置,其特征在于,所述数据处理模块包括:
第一操作读取单元,用于依次读取所述用户行为数据中的每个操作,作为当前操作;
第一操作比较单元,用于比较所述当前操作与上一个操作;
第一数据确定单元,用于在除操作时间之外其余操作信息均相同的情况下,确定所述当前操作是连续误点数据;
第一数据删除单元,用于删除所述连续误点数据。
13.根据权利要求11所述的装置,其特征在于,所述数据处理模块包括:
第二操作读取单元,用于依次读取所述用户行为数据中的每个操作,作为当前操作;
第二操作比较单元,用于比较所述当前操作与预设操作白名单;
第二数据确定单元,用于在所述当前操作属于所述预设操作白名单的情况下,确定所述当前操作是无效数据;
第二数据删除单元,用于删除所述无效数据。
14.根据权利要求11所述的装置,其特征在于,所述数据处理模块包括:
环路获取单元,用于获取所述用户行为数据中的环路行为,其中所述环路行为是从第一页面跳转回历史页面;
时间确定单元,用于确定所述环路行为中在所述第一页面的停留时间;
第三数据确定单元,用于在所述停留时间小于预设阈值的情况下,确定所述环路行为是回环误点数据;
第三数据删除单元,用于删除所述回环误点数据。
15.根据权利要求10所述的装置,其特征在于,所述模型生成模块包括:
关系获取单元,用于从所述去噪后的用户行为数据中获取所有页面跳转关系;
路径获取单元,用于针对每个页面跳转关系,获取该页面跳转关系所属的所有行为路径,从所述所有行为路径中获取页面跳转前所执行的各组操作;
操作选取单元,用于计算每组操作的出现次数,并选取出现次数最大的那组操作,作为所述页面跳转关系对应的用户操作;
对应关系生成单元,用于根据各页面跳转关系及其对应的用户操作,生成所述页面跳转与用户操作的对应关系。
16.根据权利要求10所述的装置,其特征在于,所述测试用例生成模块包括:
页面预测单元,用于利用所述页面预测模型预测当前页面的第一待跳转页面;
操作获取单元,用于根据所述页面跳转与用户操作的对应关系获取跳转到所述第一待跳转页面需执行的第一操作;
页面跳转单元,用于在所述当前页面执行所述第一操作,实现页面跳转。
17.根据权利要求16所述的装置,其特征在于,所述测试用例生成模块还包括:
页面选取单元,用于在利用所述页面预测模型预测当前页面的第一待跳转页面之后,根据页面跳转关系,在除所述第一待跳转页面之外的页面中随机选取至少一个扩展页面,作为所述当前页面的第二待跳转页面,其中,所述扩展页面的个数不超过预设个数;
所述操作获取单元,还用于根据所述页面跳转与用户操作的对应关系获取跳转到所述第二待跳转页面需执行的第二操作;
所述页面跳转单元,还用于在所述当前页面执行所述第二操作,实现页面跳转。
18.根据权利要求10所述的装置,其特征在于,所述测试用例生成模块包括:
次数记录单元,用于记录同一测试用例中各环路的出现次数;
停止单元,用于在有环路的出现次数达到预设次数的情况下,停止所述测试用例的生成过程。
19.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至9中任一所述的测试用例生成方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至9中任一所述的测试用例生成方法。
CN201810058009.6A 2018-01-22 2018-01-22 测试用例生成方法、装置、设备及存储介质 Active CN108304324B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810058009.6A CN108304324B (zh) 2018-01-22 2018-01-22 测试用例生成方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810058009.6A CN108304324B (zh) 2018-01-22 2018-01-22 测试用例生成方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108304324A true CN108304324A (zh) 2018-07-20
CN108304324B CN108304324B (zh) 2022-07-19

Family

ID=62865679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810058009.6A Active CN108304324B (zh) 2018-01-22 2018-01-22 测试用例生成方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108304324B (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062809A (zh) * 2018-09-20 2018-12-21 北京奇艺世纪科技有限公司 一种线上测试用例生成方法、装置及电子设备
CN109359027A (zh) * 2018-08-15 2019-02-19 中国平安人寿保险股份有限公司 Monkey测试方法、装置、电子设备及计算机可读存储介质
CN109542795A (zh) * 2018-12-13 2019-03-29 平安科技(深圳)有限公司 为用户推荐测试动作的方法、装置、介质、电子设备
CN109614318A (zh) * 2018-11-14 2019-04-12 金色熊猫有限公司 自动化测试方法、装置、电子设备及计算机可读介质
CN109684207A (zh) * 2018-12-14 2019-04-26 平安科技(深圳)有限公司 操作序列封装的方法、装置、电子设备及存储介质
CN109977029A (zh) * 2019-04-09 2019-07-05 科大讯飞股份有限公司 一种页面跳转模型的训练方法及装置
CN110083529A (zh) * 2019-03-20 2019-08-02 北京字节跳动网络技术有限公司 自动化测试方法、装置、介质和电子设备
CN110221959A (zh) * 2019-04-16 2019-09-10 阿里巴巴集团控股有限公司 应用程序的测试方法、设备以及计算机可读介质
CN110825616A (zh) * 2019-09-25 2020-02-21 北京中科晶上科技股份有限公司 一种局域网内移动终端设备自动化测试系统
CN110825577A (zh) * 2018-08-13 2020-02-21 成都鼎桥通信技术有限公司 终端设备的冻屏测试方法和装置
CN111444076A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于机器学习模型的测试用例步骤的推荐方法和装置
CN111444091A (zh) * 2020-03-23 2020-07-24 北京字节跳动网络技术有限公司 测试用例生成方法及装置
CN111552634A (zh) * 2020-03-30 2020-08-18 深圳壹账通智能科技有限公司 前端系统的测试方法、装置及存储介质
CN111586020A (zh) * 2020-04-29 2020-08-25 北京天融信网络安全技术有限公司 一种概率模型构建方法、装置、电子设备及存储介质
CN111694753A (zh) * 2020-07-30 2020-09-22 北京字节跳动网络技术有限公司 一种应用程序测试方法、装置及计算机存储介质
CN112241360A (zh) * 2019-07-19 2021-01-19 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、设备及存储介质
CN112487301A (zh) * 2020-12-21 2021-03-12 北京云思畅想科技有限公司 一种基于用户角色和行为自动生成应用模型的方法
US10956310B2 (en) 2018-08-30 2021-03-23 International Business Machines Corporation Automated test case generation for deep neural networks and other model-based artificial intelligence systems
CN112749081A (zh) * 2020-03-23 2021-05-04 腾讯科技(深圳)有限公司 用户界面测试方法及相关装置
CN112988000A (zh) * 2021-04-15 2021-06-18 携程旅游网络技术(上海)有限公司 页面跳转方法、系统、设备及存储介质
CN113760713A (zh) * 2020-10-27 2021-12-07 北京沃东天骏信息技术有限公司 测试方法、系统、计算机系统和介质
CN113849419A (zh) * 2021-12-02 2021-12-28 上海燧原科技有限公司 芯片的测试向量生成方法、系统、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713989B (zh) * 2012-09-29 2018-02-02 百度在线网络技术(北京)有限公司 一种针对用户终端的测试用例生成方法和装置
CN103793465B (zh) * 2013-12-20 2018-06-22 武汉理工大学 基于云计算的海量用户行为实时分析方法及系统
CN106502890A (zh) * 2016-10-18 2017-03-15 乐视控股(北京)有限公司 测试用例生成方法及系统
CN106649122B (zh) * 2016-12-28 2020-06-26 Tcl科技集团股份有限公司 一种终端应用的模型构建方法及装置
CN106682208B (zh) * 2016-12-30 2020-04-03 桂林电子科技大学 基于融合特征筛选与随机森林的微博转发行为预测方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825577B (zh) * 2018-08-13 2023-07-04 成都鼎桥通信技术有限公司 终端设备的冻屏测试方法和装置
CN110825577A (zh) * 2018-08-13 2020-02-21 成都鼎桥通信技术有限公司 终端设备的冻屏测试方法和装置
CN109359027A (zh) * 2018-08-15 2019-02-19 中国平安人寿保险股份有限公司 Monkey测试方法、装置、电子设备及计算机可读存储介质
US11379347B2 (en) 2018-08-30 2022-07-05 International Business Machines Corporation Automated test case generation for deep neural networks and other model-based artificial intelligence systems
US10956310B2 (en) 2018-08-30 2021-03-23 International Business Machines Corporation Automated test case generation for deep neural networks and other model-based artificial intelligence systems
CN109062809B (zh) * 2018-09-20 2022-01-21 北京奇艺世纪科技有限公司 一种线上测试用例生成方法、装置及电子设备
CN109062809A (zh) * 2018-09-20 2018-12-21 北京奇艺世纪科技有限公司 一种线上测试用例生成方法、装置及电子设备
CN109614318A (zh) * 2018-11-14 2019-04-12 金色熊猫有限公司 自动化测试方法、装置、电子设备及计算机可读介质
CN109542795A (zh) * 2018-12-13 2019-03-29 平安科技(深圳)有限公司 为用户推荐测试动作的方法、装置、介质、电子设备
CN109684207A (zh) * 2018-12-14 2019-04-26 平安科技(深圳)有限公司 操作序列封装的方法、装置、电子设备及存储介质
CN111444076B (zh) * 2018-12-29 2024-04-05 三六零科技集团有限公司 基于机器学习模型的测试用例步骤的推荐方法和装置
CN111444076A (zh) * 2018-12-29 2020-07-24 北京奇虎科技有限公司 基于机器学习模型的测试用例步骤的推荐方法和装置
CN110083529A (zh) * 2019-03-20 2019-08-02 北京字节跳动网络技术有限公司 自动化测试方法、装置、介质和电子设备
CN109977029A (zh) * 2019-04-09 2019-07-05 科大讯飞股份有限公司 一种页面跳转模型的训练方法及装置
CN110221959B (zh) * 2019-04-16 2022-12-27 创新先进技术有限公司 应用程序的测试方法、设备以及计算机可读介质
CN110221959A (zh) * 2019-04-16 2019-09-10 阿里巴巴集团控股有限公司 应用程序的测试方法、设备以及计算机可读介质
CN112241360B (zh) * 2019-07-19 2024-05-10 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、设备及存储介质
CN112241360A (zh) * 2019-07-19 2021-01-19 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置、设备及存储介质
CN110825616A (zh) * 2019-09-25 2020-02-21 北京中科晶上科技股份有限公司 一种局域网内移动终端设备自动化测试系统
CN112749081A (zh) * 2020-03-23 2021-05-04 腾讯科技(深圳)有限公司 用户界面测试方法及相关装置
CN111444091A (zh) * 2020-03-23 2020-07-24 北京字节跳动网络技术有限公司 测试用例生成方法及装置
CN112749081B (zh) * 2020-03-23 2023-09-22 腾讯科技(深圳)有限公司 用户界面测试方法及相关装置
CN111552634A (zh) * 2020-03-30 2020-08-18 深圳壹账通智能科技有限公司 前端系统的测试方法、装置及存储介质
CN111586020B (zh) * 2020-04-29 2021-09-10 北京天融信网络安全技术有限公司 一种概率模型构建方法、装置、电子设备及存储介质
CN111586020A (zh) * 2020-04-29 2020-08-25 北京天融信网络安全技术有限公司 一种概率模型构建方法、装置、电子设备及存储介质
CN111694753A (zh) * 2020-07-30 2020-09-22 北京字节跳动网络技术有限公司 一种应用程序测试方法、装置及计算机存储介质
CN111694753B (zh) * 2020-07-30 2023-04-11 北京字节跳动网络技术有限公司 一种应用程序测试方法、装置及计算机存储介质
CN113760713A (zh) * 2020-10-27 2021-12-07 北京沃东天骏信息技术有限公司 测试方法、系统、计算机系统和介质
CN112487301A (zh) * 2020-12-21 2021-03-12 北京云思畅想科技有限公司 一种基于用户角色和行为自动生成应用模型的方法
CN112988000B (zh) * 2021-04-15 2022-08-09 携程旅游网络技术(上海)有限公司 页面跳转方法、系统、设备及存储介质
CN112988000A (zh) * 2021-04-15 2021-06-18 携程旅游网络技术(上海)有限公司 页面跳转方法、系统、设备及存储介质
CN113849419B (zh) * 2021-12-02 2022-04-05 上海燧原科技有限公司 芯片的测试向量生成方法、系统、设备及存储介质
CN113849419A (zh) * 2021-12-02 2021-12-28 上海燧原科技有限公司 芯片的测试向量生成方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN108304324B (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
CN108304324A (zh) 测试用例生成方法、装置、设备及存储介质
CN108334439B (zh) 一种压力测试方法、装置、设备和存储介质
EP3845285A1 (en) Interactive plot implementation method, device, computer apparatus, and storage medium
CN109675313B (zh) 随机游戏地图的生成方法及装置、电子设备、存储介质
CN109063829B (zh) 神经网络构建方法、装置、计算机设备和存储介质
CN107506300A (zh) 一种用户界面测试方法、装置、服务器和存储介质
CN109542410A (zh) 规则引擎系统、方法、设备及存储介质
CN103077184B (zh) 用于基于规则的情景获取的方法
Li et al. Energy consumption evaluation for wireless sensor network nodes based on queuing Petri net
CN109359020A (zh) 启动时间测试方法及装置、计算机装置及存储介质
CN109165691A (zh) 用于识别作弊用户的模型的训练方法、装置及电子设备
CN110221959A (zh) 应用程序的测试方法、设备以及计算机可读介质
JP2022530868A (ja) 機械学習に基づくターゲットオブジェクト属性予測方法、関連機器及びコンピュータプログラム
CN112632380A (zh) 兴趣点推荐模型的训练方法和推荐兴趣点的方法
Arbula et al. Pymote: High level python library for event-based simulation and evaluation of distributed algorithms
KR20210016749A (ko) 딥러닝 기반의 바둑 게임 서비스 방법 및 그 장치
CN104809325A (zh) 用于检测事件日志和过程模型之间的区别的方法和装置
CN106790171A (zh) 会话控制的方法、装置和计算机可读存储介质
EP3220325A1 (en) Evacuation prediction system, evacuation prediction method, and computer-readable recording medium
CN109948050A (zh) 信息处理方法和装置,存储介质和电子设备
EP3968202A1 (en) Customizable reinforcement of learning column placement in structural design
CN110032629A (zh) 一种对话式交互处理方法及装置
KR101081916B1 (ko) 사용자 적응적 서비스 장치 및 그 방법
CN107273283A (zh) 一种自动化软件检测方法及装置
CN110415052A (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