CN112115039B - 测试用例生成方法、装置及设备 - Google Patents

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

Info

Publication number
CN112115039B
CN112115039B CN201910544706.7A CN201910544706A CN112115039B CN 112115039 B CN112115039 B CN 112115039B CN 201910544706 A CN201910544706 A CN 201910544706A CN 112115039 B CN112115039 B CN 112115039B
Authority
CN
China
Prior art keywords
test case
user
behavior
user behavior
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.)
Active
Application number
CN201910544706.7A
Other languages
English (en)
Other versions
CN112115039A (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 CN201910544706.7A priority Critical patent/CN112115039B/zh
Publication of CN112115039A publication Critical patent/CN112115039A/zh
Application granted granted Critical
Publication of CN112115039B publication Critical patent/CN112115039B/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
    • 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

Abstract

本发明提供一种测试用例生成方法、装置及设备。该方法包括:获取线上日志。对线上日志进行数据清洗,确定至少一个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为。根据至少一个用户行为事件,生成至少一个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。从而,生成的测试用例可以实时感知线上真实情况,提高了测试准确率。

Description

测试用例生成方法、装置及设备
技术领域
本发明涉及测试技术领域,尤其涉及一种测试用例生成方法、装置及设备。
背景技术
网页(Web)或者应用程序(Application,APP)等用户界面(user interface,UI)在产品(如电脑、手机、平板电脑等包含有用户界面的设备)的迭代更新过程中,其功能数量会持续增加,UI也会随之发生变化,其操作途径也会越来越复杂。UI的测试过程中,不仅需要测试用例对新增功能进行测试,还需要测试用例对线上已有功能进行回归测试,以确保新增功能不会对已有功能引入漏洞(bug)。
目前,测试人员通常根据自身经验,人工编写测试用例中的各个操作步骤以及确定每个测试用例的优先级,并在后续迭代过程中,人工更新测试用例。
然而,测试人员由于时间和经验有限,便无法及时更新测试用例,容易导致测试结果不准确。且测试用例的操作步骤和优先级依赖于测试人员对产品和线上情况的了解,以及自身经验、直觉和思维定势,缺乏理论依据和实时数据的支撑,使得测试成本较高,容易导致测试效率低下。
发明内容
本发明提供一种测试用例生成方法、装置及设备,以解决传统测试用例依赖于测试人员而导致成本较高和测试效率低下的问题。
第一方面,本发明提供一种测试用例生成方法,包括:获取线上日志;对所述线上日志进行数据清洗,确定至少一个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为;根据所述至少一个用户行为事件,生成至少一个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。
可选地,所述根据所述至少一个用户行为事件,生成至少一个测试用例,包括:对所述至少一个用户行为事件进行切分处理,得到至少一个用户行为子序列;将每个用户行为子序列作为一个测试用例;确定每个测试用例的优先级;按照优先级从高到低的顺序,选取前N个测试用例,N为正整数。
可选地,所述确定每个测试用例的优先级,包括:根据每个测试用例的支持度和/或置信度,确定每个测试用例的优先级。可选地,任意一个用户行为事件包括:用户ID、所述用户ID对应的控件ID以及用户操作控件的时间戳。
可选地,还包括:在预设时长后,更新所述至少一个测试用例。
可选地,还包括:根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;基于所述至少一个测试用例对应的控件名称,对待测试对象中的控件进行测试。
可选地,还包括:根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;向终端设备发送所述至少一个测试用例对应的控件名称,以便所述终端设备呈现给用户并基于所述至少一个测试用例对应的控件名称对待测试对象中的控件进行测试。
第二方面,本发明提供一种测试用例生成装置,包括:获取模块,用于获取线上日志;确定模块,用于对所述线上日志进行数据清洗,确定至少一个用户行为事件,所述至少一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为;生成模块,用于根据所述至少一个用户行为事件,生成至少一个测试用例,所述测试用例用于对网页或者应用程序进行测试。
可选地,所述生成模块,具体用于对所述至少一个用户行为事件进行切分处理,得到至少一个用户行为子序列;将每个用户行为子序列作为一个测试用例;确定每个测试用例的优先级;按照优先级从高到低的顺序,选取前N个测试用例,N为正整数。
可选地,所述生成模块,还用于根据每个测试用例的支持度和/或置信度,确定每个测试用例的优先级。
可选地,任意一个用户行为事件包括:用户ID、所述用户ID对应的控件ID以及用户操作控件的时间戳。
可选地,所述测试用例生成装置还包括:更新模块,用于在预设时长后,更新所述至少一个测试用例。
可选地,所述测试用例生成装置还包括:所述确定模块,还用于根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;测试模块,用于基于所述至少一个测试用例对应的控件名称,对待测试对象中的控件进行测试。
可选地,所述测试用例生成装置还包括:所述确定模块,还用于根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;发送模块,用于向终端设备发送所述至少一个测试用例对应的控件名称,以便所述终端设备呈现给用户并基于所述至少一个测试用例对应的控件名称对待测试对象中的控件进行测试。
上述第二方面以及上述第二方面的各可能的设计中所提供的测试用例生成装置,其有益效果可以参见上述第一方面和第一方面的各可能的实施方式所带来的有益效果,在此不再赘述。
第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面和第一方面的各可能的实施方式所述的测试用例生成方法。
第四方面,本发明提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面和第一方面的各可能的实施方式所述的测试用例生成方法。
第五方面,提供了一种计算机程序产品,所述程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行上述第一方面所述的测试用例生成方法。
本发明提供的测试用例生成方法、装置及设备,通过获取线上日志,再对线上日志进行数据清洗,可以确定一个或者多个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为。接着,根据上述所述一个或者多个用户行为事件,可以生成一个或者多个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。本发明中,测试用例是基于线上日志生成的,由于线上日志表明真实用户真实使用产品的行为情况,因此,测试用例可以实时感知线上真实情况,从而解决了传统测试用例依赖于测试人员而导致成本较高和测试效率低下的问题,提升了测试用例的可靠性,改善了测试性能的质量,提高了测试准确率,减低了测试成本。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的测试用例生成方法的流程图;
图2为本发明提供的测试用例中的用户行为的节点遍历示意图;
图3为本发明提供的测试用例生成装置的结构示意图;
图4为本发明提供的测试用例生成装置的结构示意图;
图5为本发明提供的测试用例生成装置的结构示意图;
图6为本发明提供的测试用例生成装置的结构示意图;
图7为本发明提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供一种测试用例生成方法、装置、设备及存储介质,可以适用于各种测试系统中,如Web网站自动化测试系统或手机端APP测试系统,本实施例提供的测试用例生成方法可以由服务器执行,也可以由终端设备执行,本实施例对此不做限定。
其中,终端设备(terminal device)包括但不限于移动台(MS,Mobile Station)、移动终端(Mobile Terminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portable equipment)等,该终端设备可以经无线接入网(RAN,Radio Access Network)与一个或多个核心网进行通信,例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是带无线收发功能的电脑、虚拟现实(VirtualReality,VR)终端设备、AR终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等,且终端设备上安装的操作系统包括但不限于:IOS、Android、windows、linux、Mac OS等操作系统。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台、电视等。为描述方便,本实施例中简称为终端设备。
下面,以服务器作为执行主体,通过具体实施例,对测试用例生成方法的具体实现过程进行详细说明。
图1为本发明提供的测试用例生成方法的流程图,如图1所示,本实施例的测试用例生成方法可以包括:
S101、获取线上日志。
本实施例中,服务器可以从服务器的存储模块、终端设备以及第三方存储设备中至少一个存储空间,获取业务线上环境中的日志,并将该日志传输到分布式文件系统(hadoop distributed file system,hdfs)或实时消息队列,通过流计算框架(sparkstreaming)或storm等数据处理框架下的数据处理任务或者流水线,清洗该日志,解析关键字段并运算,产出线上日志,并保存到服务器中的数据仓库空间中。
需要说明的是:上述实现方式仅是服务器获取线上日志的部分示意,本实施例中服务器还可以采用ELK(elasticsearch logstash kibana)等传统方式获取线上日志。
其中,线上日志可以包括但不限于用户账号(ID)、用户每次操作行为(如用户点击搜索按钮时提交的查询(query)等)的时间戳(time)、控件名称、控件ID与时间戳之间的对应关系等。
S102、对所述线上日志进行数据清洗,确定至少一个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为。
本实施例中,服务器可以对线上日志进行数据清洗,以保留线上真实用户使用产品中网页或者应用程序的真实行为。其中,服务器实现线上日志的数据清洗过程的方式可以包括以下几点:
A)当线上日志中包括:内部机器由于测试、监控等目的访问线上产生的数据时,服务器可以通过内部机器的设备ID和账号ID等标识过滤线上日志,实现线上日志的数据清洗过程。
B)当线上日志中包括:用户由于频繁抓取或者刷单等行为而产生的不属于真实用户使用产品的行为对应的操作数据时,服务器可以通过设置操作频率阈值、模型分类等各种方式过滤线上日志,实现线上日志的数据清洗过程。
需要说明的是:上述实现方式仅是服务器数据清洗过程的部分示意,本实施例中,服务器可以针对产品的特点以及线上具体情况制定数据清洗的实现方式,这里不做详细描述。
由于数据清洗后的线上日志中包括线上真实用户使用产品中网页或者应用程序的真实行为,因此,服务器可以在指定时间范围内确定至少一个用户行为事件。
本实施例中,任意一个用户行为事件可以为在该指定时间范围内,全部用户uid(即账号ID)的全部点击cid(即控件ID)行为对应的操作数据。该指定时间范围可以根据实际情况进行确定,本实施例对此不做限定。
例如,cid可以为search、swtich Tab、b-clickDesc、game、G121、ques、G101、b-swtich等。
其中,本实施例对用户行为事件的具体内容不做限定。可选地,任意一个用户行为事件包括:用户ID、所述用户ID对应的控件ID以及用户操作控件的时间戳。
例如,服务器可以将经过数据清洗后的线上日志,保存在基于S101中提及的服务器的数据仓库中。服务器从数据仓库中,先检索出该指定时间范围内的全部uid列表,再针对每个uid,检索出该指定时间范围内全部点击cid的行为数据,从而得到全部用户行为事件。另外,全部用户行为事件可以根据每个用户行为事件首次点击cid的时间戳进行升序。
其中,表1实施例性示出了三个用户行为事件,这三个用户行为事件分别为用户账号ID为uid1的全部点击cid行为对应的操作数据、用户账号ID为uid2的全部点击cid行为对应的操作数据以及用户账号ID为uid3的全部点击cid行为对应的操作数据。
表1
S103、根据所述至少一个用户行为事件,生成至少一个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。
本实施例中,由于每个用户行为事件中记载有真实用户使用产品中网页或者应用程序的真实行为对应的操作数据,因此,服务器可以基于S102获得的用户行为事件,生成一个或者多个测试用例。其中,任意一个测试用例可以对产品中网页或者应用程序进行测试,以测试网页或者应用程序中新增功能是否兼容原有功能,以及原有功能是否仍可以正常工作等过程。
本实施例提供的测试用例生成方法,通过获取线上日志,再对线上日志进行数据清洗,可以确定一个或者多个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为。接着,根据上述所述一个或者多个用户行为事件,可以生成一个或者多个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。本实施例中,测试用例是基于线上日志生成的,由于线上日志表明真实用户真实使用产品的行为情况,因此,测试用例可以实时感知线上真实情况,从而解决了传统测试用例依赖于测试人员而导致成本较高和测试效率低下的问题,提升了测试用例的可靠性,改善了测试性能的质量,提高了测试准确率,减低了测试成本。
在上述图1实施例的基础上,实际应用过程中,一个用户在一个指定时间范围内可以多次使用UI,通常该用户的全部点击cid行为对应的操作数据包含在一个用户行为事件中。基于上述内容,为了拆分每次使用UI的行为数据,服务器可以根据任意两次操作行为的时间间隔、特定控件的指定操作等参数,对一个或者多个用户行为事件进行切分处理,得到每个用户行为事件对应的一个或者多个用户行为子序列。
例如,服务器可以获取用户A在10点到10点半内使用UI的全部点击cid行为对应的操作数据,并将该操作数据作为一个用户行为事件。其中,在这段时长内,用户A对聊天软件中的cid进行操作、对购物软件中的cid进行操作以及对支付软件中的cid进行操作。
故,服务器可以基于时间间隔(如每隔十分钟)对上述用户行为事件进行划分处理,如上述用户行为事件中10点到10点10分内的行为数据作为一个用户行为子序列,上述用户行为事件中10点10分到10点20分内的行为数据作为一个用户行为子序列上述用户行为事件中10点20分到10点半分内的行为数据作为一个用户行为子序列。
或者,服务器可以基于各个控件对上述用户行为事件进行划分处理,如上述用户行为事件中关于聊天软件的行为数据作为一个用户行为子序列,上述用户行为事件中关于购物软件的行为数据作为一个用户行为子序列,上述用户行为事件中关于支付软件的行为数据作为一个用户行为子序列。
进一步地,服务器可以将每个用户行为子序列作为一个测试用例。由于用户行为子序列的数量庞大,因此,测试用例的数量也会随之很大。且页面访问量(page view,PV)和独立访客(unique visitor,UV)数较高的操作路径,在出现bug时,对测试结果影响较大。因此,为了便于测试人员使用测试用例,服务器可以确定每个测试用例的优先级,并依据每个测试用例的优先级,按照优先级从高到低的顺序,选取前N个测试用例,N为正整数,使得操作人员可以使用优先级高的测试用例进行测试,确保测试用例的质量和效率。其中,N可以根据实际经验值进行设置,本实施例对此不做限定。
其中,本实施例可以采用多种方式确定每个测试用例的优先级。可选地,服务器可以根据各个测试用例的支持度,或者,根据各个测试用例的置信度,或者,根据各个测试用例的支持度和置信度,来确定各个测试用例的优先级。
例如,服务器可以采用序列规则挖掘算法,通过挖掘出频繁出现的用户行为子序列,以确定各个测试用例的优先级。其中,序列规则挖掘算法是数据挖掘算法的一个分支,其目标是从有序数据链条的集合当中,针对给定的最小支持度(全局占比)与最小置信度(子序列前置条件满足的情况下,后置条件满足的条件概率),挖掘频繁出现的子序列,并给出每一个子序列的支持度与置信度。序列规则挖掘算法有CMRules、RuleGrowth、ERMiner等各种算法,上述算法在硬件资源消耗与耗时长度方面均有不同,可根据实际条件进行选择,本实施例对此不做限定。
其中,服务器可以将任意一个用户行为子序列作为一组序列数据,记为全集E。每一组序列数据为一个用户在使用UI中的一串点击行为,记为<{a1},{a2},…,{an}>。服务器并指定最小支持度minsup与最小置信度minconf,对该组序列数据进行序列规则挖掘,可得到频繁出现的(达到minsup与minconf的)前后两个行为所构成的子序列的集合E′,以及每一个子序列的支持度(sup)与置信度(conf),如下表2所示。
表2
一串点击行为 支持度(sup) 置信度(conf)
{a1}—>{a2}—>{a3} 0.5 0.6
{a1}—>{a3} 0.2 0.3
{a1,a2}—>{a3} 0.35 0.5
…… …… ……
为了便于说明,以服务器基于各个测试用例的置信度为例,对各个测试用例的优先级进行确定,其确定的具体过程如下:
在集合E′中,从用户的第一个行为(进入APP,或点击网页的某入口控件等)开始,遍历其下一步行为,针对每一个行为再次遍历下一步行为,即可产生一个树状结构,其中每一条从根节点到叶子节点的通路,即构成一条UI内的点击行为路径,该路径的置信度可由每一步行为的置信度相乘得到。
进一步地,为了避免产生的测试用例中操作步骤过长以及操作步骤陷入无限循环,服务器可以在迭代过程中,将树的最大深度限定为一个常量D,达到最大步数时退出迭代。如图2所示,root为根节点,a_tabX、a_tabY、a_tabZ、b_itemA、b_itemB、b_itemC、b_itemD、b_itemE、G101、G102和G103为叶子节点。图2中的每一个数值,如0.75,即为上一次行为发生后,下一次行为发生的置信度。从根节点到叶子节点的一条通路上各个置信度的乘积,为这条通路的整体置信度。
完成上述遍历之后,即可得到一组最大长度为D的用户行为子序列的集合(记为集合C),以及集合C中每个用户行为子序列的置信度。由于上述数据是由全集E的频繁项集E′中挖掘得到的,因此,集合C为全集E中频繁出现的行为模式,即作为测试用例。集合C可按每条用户行为子序列的整体置信度降序进行排列,排序在前的置信度较高,说明在全集E中发生的频率较高,即为相对高优先级的测试用例。
在实际使用中,为了便于执行和维护,服务器可以根据实际需求,将测试用例的优先级划定为多个固定的优先级级别,例如,0级、1级与2级。且将每个优先级级别映射到一个置信度范围,如表3所示。
表3
测试用例的优先级级别 置信度(conf)
P0 (0.1,0.2]
P1 (0.05,0.1]
P2 (0.02,0.05]
此外,服务器也可以根据测试用例按置信度的排名,按照设定测试用例的数量来划定优先级级别。
经过以上步骤,服务器可以产生一个或者多个测试用例。其中表4示出了三个测试用例。
表4中,测试用例的优先级级别可以按照置信度区间映射或测试用例的数量映射方法进行划分。测试用例中的操作步骤即该测试用例所执行的每一步操作,以及该操作步骤的相关信息。例如发起搜索使用的query、点击行为发生的卡片或者网页ID、点击行为发生的控件ID等。
表4
由于服务器获取到的线上日志为一段时间内的用户点击日志,因此,服务器可以在预设时长后(如周期性地),通过上述S101、S102和S103的过程,对之前产生的测试用例进行更新,以保持测试用例的持续更新。
例如,服务器每日凌晨挖掘昨日的线上日志并产出测试用例,那么每天测试人员或者服务器自动化所使用的测试用例将是针对昨日的线上日志的使用情况最为准确、直接的体现。
本实施例中,服务器不仅通过提取线上日志、数据处理和数据挖掘以构成测试用例,还充分考虑测试用例的优先级,能够实时感知线上真实的行为状况,随着真实用户的点击情况、实际流量来自动更新测试用例,使得测试用例中的操作步骤、优先级级别与线上日志的状态保持一致,不再完全依赖于测试流程保证,便于灵活选择测试用例对待测试对象进行测试,从而在有限资源下优先覆盖高优路径,提高bug发现的概率,提高了测试的精准度。
在上述实施例的基础上,由于控件ID可以定义用户的操作行为,因此,服务器可以实现保存控件ID与控件名称之间的对应关系,例如采用矩阵或者表格进行存储,方便服务器根据每个测试用例中的控件ID,定位对应的控件名称,再逐个遍历每个测试用例,从而服务器可以逐个对每个控制名称对应的控件进行测试,完成待测试对象中的控件的测试。
另外,服务器还可以向终端设备发送上述测试用例对应的控件名称,以便终端设备可以向用户程序上述测试用例对应的控件名称,从而,终端设备可以依据上述测试用例对应的控件名称,逐个对每个控制名称对应的控件进行测试,完成待测试对象中的控件的测试。
本实施例中,服务器不仅可以根据得到的测试用例自动对待测试对象进行自动测试,还可以通过终端设备来指导测试人员对待测试对象进行手动测试,从而灵活实现测试过程。
图3为本发明提供的测试用例生成装置的结构示意图。如图3所示,本实施例的测试用例生成装置10包括:
获取模块11,用于获取线上日志;
确定模块12,用于对所述线上日志进行数据清洗,确定至少一个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为;
生成模块13,用于根据所述至少一个用户行为事件,生成至少一个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。
可选地,所述生成模块13,具体用于对所述至少一个用户行为事件进行切分处理,得到至少一个用户行为子序列;将每个用户行为子序列作为一个测试用例;确定每个测试用例的优先级;按照优先级从高到低的顺序,选取前N个测试用例,N为正整数。
可选地,所述生成模块13,还用于根据每个测试用例的支持度和/或置信度,确定每个测试用例的优先级。
可选地,任意一个用户行为事件包括:用户ID、所述用户ID对应的控件ID以及用户操作控件的时间戳。
本发明实施例提供的测试用例生成装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
图4为本发明提供的测试用例生成装置的结构示意图。如图4所示,本实施例的测试用例生成装置10在图3所示装置结构的基础上,还包括:
更新模块14,用于在预设时长后,更新所述至少一个测试用例。
图5为本发明提供的测试用例生成装置的结构示意图。如图5所示,本实施例的测试用例生成装置10在图3所示装置结构的基础上,还包括:
确定模块12,还用于根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;
测试模块15,用于基于所述至少一个测试用例对应的控件名称,对待测试对象中的控件进行测试。
图6为本发明提供的测试用例生成装置的结构示意图。如图6所示,本实施例的测试用例生成装置10在图3所示装置结构的基础上,还包括:
确定模块12,还用于根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;
发送模块16,还用于向终端设备发送所述至少一个测试用例对应的控件名称,以便所述终端设备呈现给用户并基于所述至少一个测试用例对应的控件名称对待测试对象中的控件进行测试。
本实施例提供的测试用例生成装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
本实施例中可以根据上述方法示例对测试用例生成装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案,其实现原理以及有益效果与测试用例生成方法的实现原理及有益效果类似,可参见测试用例生成方法的实现原理及有益效果,此处不再进行赘述。
图7为本发明提供的电子设备的硬件结构示意图。如图7所示,该电子设备20,用于实现上述任一方法实施例中对应于服务器或终端设备的操作,本实施例的电子设备20可以包括:存储器21和处理器22;
存储器21,用于存储计算机程序;
处理器22,用于执行存储器存储的计算机程序,以实现上述实施例中的测试用例生成方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器21既可以是独立的,也可以跟处理器22集成在一起。
当存储器21是独立于处理器22之外的器件时,电子设备20还可以包括:
总线23,用于连接存储器21和处理器22。
可选地,本实施例还包括:通信接口24,该通信接口24可以通过总线23与处理器22连接。处理器22可以控制通信接口23来实现电子设备20的上述的接收和发送的功能。
本实施例提供的电子设备可用于执行上述的测试用例生成方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机程序,计算机程序用于实现如上实施例中的测试用例生成方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种测试用例生成方法,其特征在于,包括:
获取线上日志;
对所述线上日志进行数据清洗,确定至少一个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为;
对所述至少一个用户行为事件进行切分处理,得到至少一个用户行为子序列;
指定最小支持度与最小置信度,对所述至少一个用户行为子序列进行挖掘,得到频繁出现的前后两个行为所构成的子序列的第一集合;
在所述第一集合中,针对每一个行为遍历下一步行为,得到至少一个点击行为路径,所述点击行为路径的置信度由每一步行为的置信度相乘得到;
根据所述至少一个点击行为路径,确定用户行为子序列的第二集合,所述第二集合由路径长度小于或等于预设值的子序列构成,将所述第二集合中的子序列作为测试用例;
根据每个测试用例的支持度和/或置信度,确定每个测试用例的优先级;
按照优先级从高到低的顺序,选取前N个测试用例,N为正整数,其中任意一个测试用例用于对网页或者应用程序进行测试。
2.根据权利要求1所述的方法,其特征在于,任意一个用户行为事件包括:用户ID、所述用户ID对应的控件ID以及用户操作控件的时间戳。
3.根据权利要求1所述的方法,其特征在于,还包括:
在预设时长后,更新所述至少一个测试用例。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;
基于所述至少一个测试用例对应的控件名称,对待测试对象中的控件进行测试。
5.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
根据控件ID与控件名称之间的对应关系,得到所述至少一个测试用例对应的控件名称;
向终端设备发送所述至少一个测试用例对应的控件名称,以便所述终端设备呈现给用户并基于所述至少一个测试用例对应的控件名称对待测试对象中的控件进行测试。
6.一种测试用例生成装置,其特征在于,包括:
获取模块,用于获取线上日志;
确定模块,用于对所述线上日志进行数据清洗,确定至少一个用户行为事件,其中任意一个用户行为事件用于表示真实用户使用网页或者应用程序的真实行为;
生成模块,用于对所述至少一个用户行为事件进行切分处理,得到至少一个用户行为子序列;
指定最小支持度与最小置信度,对所述至少一个用户行为子序列进行挖掘,得到频繁出现的前后两个行为所构成的子序列的第一集合;
在所述第一集合中,针对每一个行为遍历下一步行为,得到至少一个点击行为路径,所述点击行为路径的置信度由每一步行为的置信度相乘得到;
根据所述至少一个点击行为路径,确定用户行为子序列的第二集合,所述第二集合由路径长度小于或等于预设值的子序列构成,将所述第二集合中的子序列作为测试用例;
根据每个测试用例的支持度和/或置信度,确定每个测试用例的优先级;
按照优先级从高到低的顺序,选取前N个测试用例,N为正整数;
生成模块,用于根据所述至少一个用户行为事件,生成至少一个测试用例,其中任意一个测试用例用于对网页或者应用程序进行测试。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的测试用例生成方法。
8.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-5任一项所述的测试用例生成方法。
CN201910544706.7A 2019-06-21 2019-06-21 测试用例生成方法、装置及设备 Active CN112115039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910544706.7A CN112115039B (zh) 2019-06-21 2019-06-21 测试用例生成方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910544706.7A CN112115039B (zh) 2019-06-21 2019-06-21 测试用例生成方法、装置及设备

Publications (2)

Publication Number Publication Date
CN112115039A CN112115039A (zh) 2020-12-22
CN112115039B true CN112115039B (zh) 2023-09-19

Family

ID=73796549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910544706.7A Active CN112115039B (zh) 2019-06-21 2019-06-21 测试用例生成方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112115039B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220598B (zh) * 2021-06-21 2023-10-03 中国农业银行股份有限公司 系统的测试方法、装置、设备、介质及程序产品
CN113419950A (zh) * 2021-06-22 2021-09-21 平安壹钱包电子商务有限公司 Ui自动化脚本的生成方法、装置、计算机设备及存储介质
CN114936168B (zh) * 2022-07-21 2023-04-18 南京争锋信息科技有限公司 一种真实用户智能感知系统中的测试用例自动生成方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713989A (zh) * 2012-09-29 2014-04-09 百度在线网络技术(北京)有限公司 一种针对用户终端的测试用例生成方法和装置
CN106991051A (zh) * 2017-04-05 2017-07-28 西安邮电大学 一种基于变异测试和关联规则的测试用例约简方法
CN108228469A (zh) * 2018-02-23 2018-06-29 科大讯飞股份有限公司 测试用例选取方法及装置
KR20180076020A (ko) * 2016-12-27 2018-07-05 주식회사 넥슨코리아 애플리케이션 테스트 자동화 장치 및 방법
CN108415831A (zh) * 2018-02-05 2018-08-17 五八有限公司 测试用例生成方法及装置、电子设备和可读存储介质
CN108415848A (zh) * 2018-05-14 2018-08-17 河南工业大学 一种软件错误定位方法及装置
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform
CN108694123A (zh) * 2018-05-14 2018-10-23 中国平安人寿保险股份有限公司 一种回归测试方法、计算机可读存储介质及终端设备
CN109062809A (zh) * 2018-09-20 2018-12-21 北京奇艺世纪科技有限公司 一种线上测试用例生成方法、装置及电子设备
CN109144842A (zh) * 2017-06-16 2019-01-04 百度在线网络技术(北京)有限公司 用于测试应用的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204201A1 (en) * 2004-03-15 2005-09-15 Ramco Systems Limited Method and system for testing software development activity
US8904238B2 (en) * 2012-08-27 2014-12-02 International Business Machines Corporation System and method for capturing logging information
US9720813B2 (en) * 2015-08-13 2017-08-01 Ca, Inc. Method and apparatus for recommending regression tests

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103713989A (zh) * 2012-09-29 2014-04-09 百度在线网络技术(北京)有限公司 一种针对用户终端的测试用例生成方法和装置
KR20180076020A (ko) * 2016-12-27 2018-07-05 주식회사 넥슨코리아 애플리케이션 테스트 자동화 장치 및 방법
CN106991051A (zh) * 2017-04-05 2017-07-28 西安邮电大学 一种基于变异测试和关联规则的测试用例约简方法
CN109144842A (zh) * 2017-06-16 2019-01-04 百度在线网络技术(北京)有限公司 用于测试应用的方法和装置
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform
CN108415831A (zh) * 2018-02-05 2018-08-17 五八有限公司 测试用例生成方法及装置、电子设备和可读存储介质
CN108228469A (zh) * 2018-02-23 2018-06-29 科大讯飞股份有限公司 测试用例选取方法及装置
CN108415848A (zh) * 2018-05-14 2018-08-17 河南工业大学 一种软件错误定位方法及装置
CN108694123A (zh) * 2018-05-14 2018-10-23 中国平安人寿保险股份有限公司 一种回归测试方法、计算机可读存储介质及终端设备
CN109062809A (zh) * 2018-09-20 2018-12-21 北京奇艺世纪科技有限公司 一种线上测试用例生成方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
钱忠胜 ; 缪淮扣 ; .面向用户会话的Web应用测试用例生成及其优化.计算机科学与探索.2008,(第06期),第71-84页. *

Also Published As

Publication number Publication date
CN112115039A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN108289121B (zh) 营销信息的推送方法及装置
CN112115039B (zh) 测试用例生成方法、装置及设备
US9836346B2 (en) Error troubleshooting using a correlated knowledge base
CN107911487B (zh) 信息推送方法、装置、服务器及可读存储介质
CN109034394B (zh) 一种机器学习模型的更新方法和装置
CN112311617A (zh) 一种配置化数据监控告警方法及系统
CN111339073A (zh) 实时数据处理方法、装置、电子设备及可读存储介质
US10664481B2 (en) Computer system programmed to identify common subsequences in logs
CN109547807B (zh) 一种基于直播的信息处理方法、装置及服务器
CN113220657B (zh) 数据处理方法、装置及计算机设备
CN106844319B (zh) 报表生成方法及装置
CN108366098B (zh) 一种网络节点的数据交互方法及装置
CN110554951A (zh) 一种埋点管理的方法和装置
CN110955438A (zh) 一种小程序的性能监控方法、装置、设备及存储介质
CN114356581A (zh) 一种内存的清理方法及相关设备
CN106940710B (zh) 信息推送方法及装置
CN111078418B (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
CN109992325B (zh) 信息显示方法、装置、存储介质和电子装置
CN104462116A (zh) 数据选择的方法及装置
CN116304236A (zh) 一种用户画像生成方法、装置、电子设备和存储介质
CN115563310A (zh) 一种关键业务节点的确定方法、装置、设备及介质
CN108874625B (zh) 信息处理方法及装置、电子设备、存储介质
CN114547116A (zh) 一种数据推送方法、装置、设备和介质
CN112560938A (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