CN108549603A - 测试方案生成方法、装置、计算机设备及存储介质 - Google Patents
测试方案生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN108549603A CN108549603A CN201810320785.9A CN201810320785A CN108549603A CN 108549603 A CN108549603 A CN 108549603A CN 201810320785 A CN201810320785 A CN 201810320785A CN 108549603 A CN108549603 A CN 108549603A
- Authority
- CN
- China
- Prior art keywords
- test cases
- test
- tested
- function point
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test 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)
Abstract
本申请提供一种测试方案生成方法、装置、计算机设备及存储介质,利用大数据系统,根据web界面涉及的功能点和功能点的运行逻辑自动产生测试方案,从大数据系统中筛选出最符合web界面的运行逻辑以及能够覆盖web界面待测试测试功能点的测试方案,该测试方案能够覆盖web界面的所有待测试功能点,因此测试全面,且该测试方案的测试逻辑尽可能地接近web界面功能点的运行逻辑,因此测试效果正确性高。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种测试方案生成方法、装置、计算机设备及存储介质。
背景技术
功能测试是指根据产品特性、操作描述和用户方案测试一个产品的特性和可操作行为,以确定产品是否满足设计需求。功能测试是为了确保程序以期望的方式运行,而按功能要求对软件进行的测试,通过对一个系统的所有特性和功能都进行测试确保符合要求和规范。
到目前为止根据系统的功能特点自动生成测试方案的例子非常少,特别是在web界面测试方面,依然是通过测试人员手动编写测试方案。一般地,测试人员根据需求人为地设计出功能测试案例,输入数据在预测结果和实际结果之间进行测评;测试案例是指对软件产品进行测试数据、预期结果等信息进行描述的文档。人为设计功能测试案例,需要测试人员逐条编写,过程复杂繁琐,花费的时间较长、效率低下;并且受测试人员专业素质的影响,不同的测试人员编写的测试案例差距较大,功能测试评估结果存在较大差异,评估结果一旦出错,会影响系统的开发进度。
发明内容
本申请实施例提供了一种测试方案生成方法、装置、计算机设备及存储介质,能够自动对生成web界面的测试方案。
第一方面,本申请实施例提供了一种测试方案生成方法,该方法包括:
获取web界面试运行阶段各待测试功能点的运行逻辑,所述待测试功能点为多个;
从测试案例数据库中筛选覆盖最多待测试功能点的第一参考测试案例;
若所筛选出的第一参考测试案例为多个,根据所述待测试功能点的运行逻辑,从多个所述第一参考测试案例中获取测试逻辑与所述运行逻辑最接近的测试案例作为最优测试案例;
根据所述最优测试案例所覆盖的待测试功能点获取未被覆盖的剩余待测试功能点;
从所述测试案例数据库中筛选覆盖所述剩余待测试功能点中至少一个待测试功能点的第二参考测试案例;
若所筛选出的第二参考测试案例为多个,将多个所述第二参考测试案例进行整合,得到所述剩余待测试功能点对应的次优测试案例;
将所述次优测试案例与所述最优测试案例进行合并,并删除非待测试功能点的测试内容,以生成所需的测试方案。
第二方面,本申请实施例还提供了一种测试方案生成装置,该测试方案生成装置包括用于执行上述的测试方案生成方法的单元。
第三方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器以及与所述存储器相连的处理器;
所述存储器,用于存储实现测试方案生成方法的计算机程序;
所述处理器,用于运行所述存储器中存储的计算机程序,以执行如上述第一方面所述的方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现上述第一方面所述的方法。
本申请实施例提供了测试方案生成方法、装置、计算机设备及存储介质,利用大数据系统,根据web界面涉及的功能点和功能点的运行逻辑自动产生测试方案,从大数据系统中筛选出最符合web界面的运行逻辑以及能够覆盖web 界面待测试测试功能点的测试方案,该测试方案能够覆盖web界面的所有待测试功能点,因此测试全面,且该测试方案的测试逻辑尽可能地接近web界面功能点的运行逻辑,因此测试效果正确性高。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种测试方案生成方法的流程示意图;
图2是本申请实施例提供的一种测试方案生成方法的子流程示意图;
图3是本申请实施例提供的一种测试方案生成方法的另一子流程示意图;
图4是本申请实施例提供的一种测试方案生成方法的另一子流程示意图;
图5是本申请实施例提供的一种测试方案生成装置的示意性框图;
图6是本申请实施例提供的一种测试方案生成装置的子单元示意框图;
图7是本申请实施例提供的一种测试方案生成装置的子单元示意框图;
图8是本申请实施例提供的一种测试方案生成装置的子单元示意框图;
图9是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的一种测试方案生成方法的流程示意图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图1所示,该方法的步骤包括S101~S108。
S101,获取web界面试运行阶段各待测试功能点的运行逻辑,所述待测试功能点为多个。
针对某些应用系统,例如银行系统,其web界面能实现的功能非常多,例如账号注册、账号登录、贷款申请、业务查询等功能,在web界面对用户开放前,开发人员需要测试web界面的功能是否正常,因此需要拟出一个合适的测试方案来对web界面进行测试。测试是通过测试工具模拟多个用户进行某一项或某几项业务(即功能点)的请求,系统对其进行响应,测试工具同时记录系统对该事务的响应情况,因此,测试方案的测试逻辑需要与系统的运行逻辑,即与需要被测试的功能点的运行逻辑契合。
在某些实施例中,例如在本实施例中,如图2所示,步骤S101包括子步骤 S1011-S1014:
S1011,在真实业务环境下试运行所述web界面。
S1012,对来自所述真实业务环境的预设连续时间内涉及的所述待测试功能点的业务请求进行响应,以产生响应所述业务请求的数据流。
S1013,对所述数据流与所述业务请求进行配对处理以得到相应的试运行报文,所述试运行报文包括所述待测试功能点以及所述待测试功能点对应的运行逻辑。
S1014,从所述试运行报文中获取所述待测试功能点以及所述待测试功能点对应的运行逻辑。
将待测试的web界面的所有的功能点在真实的业务环境进行试运行,并获取其运行数据进行保存,对这些来自真实业务环境的预设连续时间内(例如早上的9:00-11:00,或其他时间段)网络层产生的数据流进行处理,形成原始的试运行报文,这些试运行报文中包括了业务要素(待测试功能点)和业务要素对应的运行逻辑,运行逻辑表明了该功能点的业务请求逻辑(流程)和业务响应逻辑(流程)。当需要测试web界面的性能时,将这些试运行报文的业务要素以及业务要素对应的运行逻辑提取出来,以便进一步根据业务要素对应的运行逻辑从测试案例数据库中获取相关的测试案例而形成测试方案。
例如,在预设连续时间内,对一待测试功能点A进行试运行,发起待测试功能点A对应的业务请求,系统对该业务请求进行响应,产生相应该业务请求的相应数据,即数据流,该数据流中包括了响应该业务请求的整个过程,针对该数据流与业务请求(即待测试功能点A)的对应关系,从该数据流中提取出相应该业务请求的响应过程包括步骤或流程s1、s2、s3、s4等,步骤或流程s1、 s2、s3和s4即为待测试功能点A的测试逻辑。
S102,从测试案例数据库中筛选覆盖最多待测试功能点的第一参考测试案例。
测试案例数据库中收藏了海量的测试案例,这些测试案例涉及到不同系统的测试方案,这些测试方案在较优地完成对系统的性能测试之后被录入数据库中作为好的案例保存起来,测试案例的内容记录了测试方案和该测试方案能够覆盖哪些被测试的功能点。测试案例覆盖待测试功能点指的是该测试方案所测试的功能点中包括了该待测试功能点。
例如,web界面待测试功能点包括账号注册、账号登录、业务查询、信用卡申请、贷款申请、理财投资、账户管理等功能点,数据库中收藏的测试案例中有针对账号注册、账号登录、业务查询、账户管理等功能点的测试案例,有针对账户管理、贷款申请、信用卡申请的功能点的测试案例,也有针对贷款申请、理财投资等功能点的测试案例,但每一个测试案例所覆盖的功能点不同或不完全相同。在这种情况下,为了能够覆盖全部待测试功能点,需要获取多个不同的测试案例,这些测试案例或多或少地覆盖了部分的待测试功能点。
从测试案例数据库中筛选出覆盖最多待测试功能点的第一参考测试案例,是为了能够尽可能少地选取测试案例来生成最终需要的测试方案,以便能够降低用于参考的测试案例的数量,提高生成测试方案的效率。
每个测试案例覆盖的待测试功能点不同,因此可能会存在多个测试案例覆盖待测试功能点的数量相同的情况,即存在多个第一参考测试案例,需要将这些满足条件的第一参考测试案例全部挑选出来,后续从中筛选一个最优的测试案例作为需要生成的测试方案的主体,因为这个主体覆盖了大部分的待测功能测试点,如果这部分是最优的,那么往往能够极大地降低生成测试方案这一过程的复杂性。
S103,若所筛选出的第一参考测试案例为多个,根据所述待测试功能点的运行逻辑,从多个所述第一参考测试案例中获取测试逻辑与所述运行逻辑最接近的测试案例作为最优测试案例。
例如,待测试功能点有A、B、C、D、E、F和G,第一种情况:测试案例 1覆盖待测试功能点A、B、C和D,测试方案2覆盖功能点A、B、C和E,测试方案3覆盖功能点B、C、D和E,那么测试方案1、2和3覆盖的待测试功能点数量一样,则第一参考测试案例为多个;另一种情况:存在测试方案4 覆盖了待测试功能点A、B、C、D和E,测试方案5覆盖了待测试功能点A和 B,测试方案6覆盖了待测试功能点C和D,测试方案7覆盖了待测试功能点 C、D和F,则第一参考测试案例为1个,本发明不考虑第一参考测试案例为1 个的情况,因为若第一参考测试案例为1个,则该第一参考测试案例可直接作为最优测试案例,不需要再筛选。
测试是通过模拟上千万用户实施并发负载(用户实际操作行为)及实时性能监测的方式来确认和查找问题。而web界面的试运行是在真实业务环境中进行的,因此,试运行报文中各个待测试功能点的运行逻辑都能代表用户的实际操作行为和系统的响应情况,从第一参考测试案例中筛选得到最优测试案例,该最优测试案例最接近待测试功能点的运行逻辑,因此该最优测试案例中涉及的待测试功能点部分的测试方案可以作为合理的测试方案被加以利用。
例如,第一测试案例中某个测试案例覆盖的功能点包括Web界面中的待测试功能点A,为了区别测试案例与web界面的同一功能点,在测试案例中将该测试案例覆盖的待测试功能点A记录为功能点A’,如果该测试案例中功能点A’的测试逻辑与Web界面中的待测试功能点A的运行逻辑接近或相似,则将该测试案例中的功能点A’称为目标功能点。第一测试案例中具有最多目标功能点的测试案例便是测试逻辑与待测试功能点的运行逻辑最接近的测试案例,即最优测试案例。
遗传算法具有寻找最优解的功能,本实施例通过遗传算法来获取最优测试案例。遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型。在遗传算法中,通过编码组成初始群体(通过对第一参考测试案例进行编码产生初始群体)后,遗传操作的任务就是按照适者生存和优胜劣汰的原理,对群体的个体(每一个第一参考测试案例)按照它们对环境适应度(适应度评估,即运行逻辑相似度评估)施加一定的操作,交叉、变异等,从而实现个体优胜劣汰的进化过程。从优化搜索的角度而言,遗传操作可使问题的解一代又一代地优化,最终逼近最优解,最终找到最优测试案例。
S104,根据所述最优测试案例所覆盖的待测试功能点获取未被覆盖的剩余待测试功能点。
S105,从所述测试案例数据库中筛选覆盖所述剩余待测试功能点中至少一个待测试功能点的第二参考测试案例。
S106,若所筛选出的第二参考测试案例为多个,将多个所述第二参考测试案例进行整合,得到所述剩余待测试功能点对应的次优测试案例。
最优测试案例中只是覆盖了大部分的待测试功能点,还有少部分的待测试功能点的测试方案并未被获取,因此,还需要从测试案例数据库中筛选出能够覆盖剩余的待测试功能点的第二参考测试案例,筛选覆盖所述剩余待测试功能点中至少一个待测试功能点的第二参考测试案例可以防止漏掉任何一个待测试功能点未被覆盖,筛选出覆盖所有剩余待测试功能点的第二参考测试案例之后,将该第二参考测试案例进行整合得到剩余待测试功能点的测试案例。
在某些实施例中,例如在本实施例中,如图3所示,步骤S106包括以下子步骤:
S1061,从多个所述第二参考测试案例中筛选覆盖最多剩余待测试功能点的测试案例作为备选测试案例。
S1062,若所述备选测试案例为一个,则确认所述备选测试案例为第一目标测试案例。
S1063,将其余的第二参考测试案例中涉及的未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二目标测试案例。
此处的该其余的第二参考测试案例指的是除第一目标测试案例外的其他所有的第二参考测试案例。
S1064,将所述第一目标测试案例、第二目标测试案例合并,以形成所述次优测试案例。
S1065,若所述备选测试案例为多个,则判断多个所述备选测试案例所覆盖的剩余待测试功能点的数量是否大于或等于阈值。
S1066,若所述数量大于或等于阈值,则从多个所述备选测试案例中获取测试逻辑与所述剩余待测试功能点对应的运行逻辑最接近的备选测试案例作为第一目标测试案例,并返回步骤S1063。
依据剩余待测试功能点寻找能覆盖最多剩余的待测试功能点的备选测试案例,如果备选测试案例只有一个,则将该能覆盖最多剩余待测试功能点的测试方案作为第一目标测试案例,如果备选测试案例有多个,且覆盖到的剩余待测试功能点的数量大于或等于阈值(例如阈值为3),说明覆盖的剩余待测试功能点较多,则利用遗传算法筛选出最优的一个测试案例作为第一目标测试案例。得到第一目标测试案例之后,将其余的第二测试案例进行合并去重,得到其他剩余待测试功能点的第二目标测试方案,最后将第一目标测试案例与第二目标测试案例合并形成覆盖所有剩余待测试功能点的测试方案。
S1067,若所述数量小于阈值,则将所有备选测试案例中覆盖的剩余待测试功能点的测试内容进行合并去重,得到所述覆盖的剩余待测试功能点的第一优选测试案例。
S1068,将其余的第二参考测试案例中涉及的未被所述第一优选测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二优选测试案例。
此处的该其余的第二参考测试案例指的是除所有备选测试案例外的其他所有第二参考测试案例。
S1069,将所述第一优选测试案例、第二优选测试案例合并,以形成所述次优测试案例。
如果备选测试案例有多个,且覆盖到的剩余待测试功能点的数量小于阈值,说明覆盖的剩余待测试功能点较少,不需要从中筛选最优的一个测试方案,而是直接将所有备选测试案例进行合并去重,得到第一优选测试案例,再将剩余的第二测试方案中涉及到的其他未被覆盖的剩余待测试功能点的测试内容进行合并去重,得到第二优选测试案例,第二优选测试案例覆盖了其他剩余待测试功能点,最终将第一优选测试案例和第二优选测试案例合并形成覆盖所有剩余待测试功能点的测试方案。
对第二测试案例进行合并去重是为了测试方案的简单性,因为若干的第二参考测试案中可能具有多个测试案例覆盖了相同的待测试功能点,因此,为了不使测试方案冗余,需要剔除功能重复的内容。
在某些实施例中,例如在本实施例中,如图4所示,步骤S1063包括以下子步骤:
S10631,分别从所述其余的第二参考测试案例中获取未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容。
S10632,分别计算每个所述其他剩余待测试功能点的测试内容的长度。
S10633,分别获取每个所述其他剩余待测试功能点对应的长度最小的测试内容。
S10634,将所述测试内容合并形成所述第二目标测试案例。
测试内容一般是代码,测试内容的长度指的是该测试内容的代码长度(可以代码行数计算或以代码所占的内存计算),代码越长,测试内容越复杂,代码越短,测试内容越精简。
若干的第二参考测试案中可能具有多个相同或不同的该其他剩余待测试功能点的测试内容(具体功能点的测试方案),需要计算其中该其他剩余待测试功能点的测试内容的长度,剔除那些长度过长的测试内容,留下长度最短的一测试内容作为对应的功能点的测试方案,使得产生的整个测试方案尽量精简而不那么复杂。
同理,第一优选测试案例和第二优选测试案例的生成方法同上。
S107,将所述次优测试案例与所述最优测试案例进行合并,并删除非待测试功能点的测试内容,以生成所需的测试方案。
最后将次优测试案例与所述最优测试案合并,合并的方案包括了所有待测试功能点的测试内容,还包括其他非该web界面的功能点的测试内容,因此删除所有不相干的测试内容,最终产生了对web界面的测试方案。
本申请实施例提供了测试方案生成方法,利用大数据系统,根据web界面涉及的功能点和功能点的运行逻辑自动产生测试方案,从大数据系统中筛选出最符合web界面的运行逻辑以及能够覆盖web界面待测试测试功能点的测试方案,该测试方案能够覆盖web界面的所有待测试功能点,因此测试全面,且该测试方案的测试逻辑尽可能地接近web界面功能点的运行逻辑,因此测试效果正确性高。
图5是本申请实施例提供的一种测试方案生成装置100的示意性框图。该测试方案生成装置100包括第一获取单元101、第一筛选单元102、第二获取单元103、第三获取单元104、第二筛选单元105、整合单元106和生成单元107。
第一获取单元101用于获取web界面试运行阶段各待测试功能点的运行逻辑,所述待测试功能点为多个。
第一筛选单元102用于从测试案例数据库中筛选覆盖最多待测试功能点的第一参考测试案例。
第二获取单元103用于若所筛选出的第一参考测试案例为多个,根据所述待测试功能点的运行逻辑,从多个所述第一参考测试案例中获取测试逻辑与所述运行逻辑最接近的测试案例作为最优测试案例。
第三获取单元104用于根据所述最优测试案例所覆盖的待测试功能点获取未被覆盖的剩余待测试功能点。
第二筛选单元105用于从所述测试案例数据库中筛选覆盖所述剩余待测试功能点中至少一个待测试功能点的第二参考测试案例。
整合单元106用于若所筛选出的第二参考测试案例为多个,将多个所述第二参考测试案例进行整合,得到所述剩余待测试功能点对应的次优测试案例。
生成单元107用于将所述次优测试案例与所述最优测试案例进行合并,并删除非待测试功能点的测试内容,以生成所需的测试方案。
如图6所示,获取单元101包括以下子单元:
试运行子单元1011,用于在真实业务环境下试运行所述web界面。
产生子单元1012,用于对来自所述真实业务环境的预设连续时间内涉及的所述待测试功能点的业务请求进行响应,以产生响应所述业务请求的数据流。
处理子单元1013,用于对所述数据流与所述业务请求进行配对处理以得到相应的试运行报文,所述试运行报文包括所述待测试功能点以及所述待测试功能点对应的运行逻辑。
第一获取子单元1014,用于从所述试运行报文中获取所述待测试功能点以及所述待测试功能点对应的运行逻辑。
如图7所示,整合单元106包括以下子单元:
筛选子单元1061,用于从多个所述第二参考测试案例中筛选覆盖最多剩余待测试功能点的测试案例作为备选测试案例。
确认子单元1062,用于若所述备选测试案例为一个,则确认所述备选测试案例为第一目标测试案例。
判断子单元1063,用于若所述备选测试案例为多个,则判断多个所述备选测试案例所覆盖的剩余待测试功能点的数量是否大于或等于阈值。
第二获取子单元1064,用于若所述数量大于或等于阈值,则从多个所述备选测试案例中获取测试逻辑与所述剩余待测试功能点对应的运行逻辑最接近的备选测试案例作为第一目标测试案例。
第一去重子单元1065,用于将其余的第二参考测试案例中涉及的未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二目标测试案例。
第一合并子单元1066,用于将所述第一目标测试案例、第二目标测试案例合并,以形成所述次优测试案例。
第二去重子单元1067,用于若所述数量小于阈值,则将所有备选测试案例中覆盖的剩余待测试功能点的测试内容进行合并去重,得到所述覆盖的剩余待测试功能点的第一优选测试案例。
第三去重子单元1068,用于将其余的第二参考测试案例中涉及的未被所述第一优选测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二优选测试案例。
第二合并子单元1069,用于将所述第一优选测试案例、第二优选测试案例合并,以形成所述次优测试案例。
如图8所示,第一去重子单元1065包括以下子单元:
第三获取子单元10651,用于分别从所述其余的第二参考测试案例中获取未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容;
计算子单元10652,用于分别计算每个所述其他剩余待测试功能点的测试内容的长度;
第四获取子单元10653,用于分别获取每个所述其他剩余待测试功能点对应的长度最小的测试内容;
第三合并子单元10654,用于将所述测试内容合并形成所述第二目标测试案例。
上述测试方案生成装置100的功能以及各个单元的具体描述请参考上述方法实施例中的描述,此处不做重复描述。上述测试方案生成装置100可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
图9为本申请实施例提供的一种计算机设备200的示意性框图。该计算机设备200可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑和台式电脑等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
该计算机设备200包括通过系统总线201连接的处理器202、存储器和网络接口205,其中,该存储器包括非易失性存储介质203和内存储器204。该计算机设备200的非易失性存储介质203可存储操作系统2031和计算机程序2032,该计算机程序2032被执行时,可使得处理器202执行一种测试方案生成方法。该计算机设备200的处理器202用于提供计算和控制能力,支撑整个计算机设备200的运行。该内存储器204为非易失性存储介质203中的计算机程序2032 的运行提供环境。计算机设备200的网络接口205用于进行网络通信,如发送分配的任务等。
处理器202运行非易失性存储介质203中的计算机程序2032时可执行上述测试方案生成方法的所有实施例的实现方式。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图9所示实施例一致,在此不再赘述。
本申请还提供一种存储介质,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,可实现上述测试方案生成方法的所有实施例的实现方式。
所述存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD) 卡,闪存卡(Flash Card)等。进一步地,所述存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。所述存储介质用于存储所述计算机程序以及所述设备所需的其他程序和数据。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种测试方案生成方法,其特征在于,包括:
获取web界面试运行阶段各待测试功能点的运行逻辑,所述待测试功能点为多个;
从测试案例数据库中筛选覆盖最多待测试功能点的第一参考测试案例;
若所筛选出的第一参考测试案例为多个,根据所述待测试功能点的运行逻辑,从多个所述第一参考测试案例中获取测试逻辑与所述运行逻辑最接近的测试案例作为最优测试案例;
根据所述最优测试案例所覆盖的待测试功能点获取未被覆盖的剩余待测试功能点;
从所述测试案例数据库中筛选覆盖所述剩余待测试功能点中至少一个待测试功能点的第二参考测试案例;
若所筛选出的第二参考测试案例为多个,将多个所述第二参考测试案例进行整合,得到所述剩余待测试功能点对应的次优测试案例;
将所述次优测试案例与所述最优测试案例进行合并,并删除非待测试功能点的测试内容,以生成所需的测试方案。
2.根据权利要求1所述的测试方案生成方法,其特征在于,所述获取web界面试运行阶段各待测试功能点的运行逻辑,包括:
在真实业务环境下试运行所述web界面;
对来自所述真实业务环境的预设连续时间内涉及的所述待测试功能点的业务请求进行响应,以产生响应所述业务请求的数据流;
对所述数据流与所述业务请求进行配对处理以得到相应的试运行报文,所述试运行报文包括所述待测试功能点以及所述待测试功能点对应的运行逻辑;
从所述试运行报文中获取所述待测试功能点以及所述待测试功能点对应的运行逻辑。
3.根据权利要求1所述的测试方案生成方法,其特征在于,所述将多个所述第二参考测试案例进行整合,得到所述剩余待测试功能点对应的次优测试案例,包括:
从多个所述第二参考测试案例中筛选覆盖最多剩余待测试功能点的测试案例作为备选测试案例;
若所述备选测试案例为一个,则确认所述备选测试案例为第一目标测试案例;
将其余的第二参考测试案例中涉及的未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二目标测试案例;
将所述第一目标测试案例、第二目标测试案例合并,以形成所述次优测试案例。
4.根据权利要求3所述的测试方案生成方法,其特征在于,还包括:
若所述备选测试案例为多个,则判断多个所述备选测试案例所覆盖的剩余待测试功能点的数量是否大于或等于阈值;
若所述数量大于或等于阈值,则从多个所述备选测试案例中获取测试逻辑与所述剩余待测试功能点对应的运行逻辑最接近的备选测试案例作为第一目标测试案例;
将其余的第二参考测试案例中涉及的未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二目标测试案例;
将所述第一目标测试案例、第二目标测试案例合并,以形成所述次优测试案例。
5.根据权利要求4所述的测试方案生成方法,其特征在于,还包括:
若所述数量小于阈值,则将所有备选测试案例中覆盖的剩余待测试功能点的测试内容进行合并去重,得到所述覆盖的剩余待测试功能点的第一优选测试案例;
将其余的第二参考测试案例中涉及的未被所述第一优选测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二优选测试案例;
将所述第一优选测试案例、第二优选测试案例合并,以形成所述次优测试案例。
6.根据权利要求3或4所述的测试方案生成方法,其特征在于,所述将其余的第二参考测试案例中涉及的未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二目标测试案例,包括:
分别从所述其余的第二参考测试案例中获取未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容;
分别计算每个所述其他剩余待测试功能点的测试内容的长度;
分别获取每个所述其他剩余待测试功能点对应的长度最小的测试内容;
将所述测试内容合并形成所述第二目标测试案例。
7.一种测试方案生成装置,其特征在于,包括:
第一获取单元,用于获取web界面试运行阶段各待测试功能点的运行逻辑,所述待测试功能点为多个;
第一筛选单元,用于从测试案例数据库中筛选覆盖最多待测试功能点的第一参考测试案例;
第二获取单元,用于若所筛选出的第一参考测试案例为多个,根据所述待测试功能点的运行逻辑,从多个所述第一参考测试案例中获取测试逻辑与所述运行逻辑最接近的测试案例作为最优测试案例;
第三获取单元,用于根据所述最优测试案例所覆盖的待测试功能点获取未被覆盖的剩余待测试功能点;
第二筛选单元,用于从所述测试案例数据库中筛选覆盖所述剩余待测试功能点中至少一个待测试功能点的第二参考测试案例;
整合单元,用于若所筛选出的第二参考测试案例为多个,将多个所述第二参考测试案例进行整合,得到所述剩余待测试功能点对应的次优测试案例;
生成单元,用于将所述次优测试案例与所述最优测试案例进行合并,并删除非待测试功能点的测试内容,以生成所需的测试方案。
8.根据权利要求7所述的测试方案生成装置,其特征在于,所述整合单元包括:
筛选子单元,用于从多个所述第二参考测试案例中筛选覆盖最多剩余待测试功能点的测试案例作为备选测试案例;
确认子单元,用于若所述备选测试案例为一个,则确认所述备选测试案例为第一目标测试案例;
判断子单元,用于若所述备选测试案例为多个,则判断多个所述备选测试案例所覆盖的剩余待测试功能点的数量是否大于或等于阈值;
第二获取子单元,用于若所述数量大于或等于阈值,则从多个所述备选测试案例中获取测试逻辑与所述剩余待测试功能点对应的运行逻辑最接近的备选测试案例作为第一目标测试案例;
第一去重子单元,用于将其余的第二参考测试案例中涉及的未被所述第一目标测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二目标测试案例;
第一合并子单元,用于将所述第一目标测试案例、第二目标测试案例合并,以形成所述次优测试案例;
第二去重子单元,用于若所述数量小于阈值,则将所有备选测试案例中覆盖的剩余待测试功能点的测试内容进行合并去重,得到所述覆盖的剩余待测试功能点的第一优选测试案例;
第三去重子单元,用于将其余的第二参考测试案例中涉及的未被所述第一优选测试案例覆盖的其他剩余待测试功能点的测试内容进行合并去重,得到所述其他剩余待测试功能点的第二优选测试案例;
第二合并子单元,用于将所述第一优选测试案例、第二优选测试案例合并,以形成所述次优测试案例。
9.一种计算机设备,其特征在于,包括存储器以及与所述存储器相连的处理器;
所述存储器,用于存储实现测试方案生成方法的计算机程序;
所述处理器,用于运行所述存储器中存储的计算机程序,以执行如权利要求1-6任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者一个以上计算机程序,所述一个或者一个以上计算机程序可被一个或者一个以上的处理器执行,以实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810320785.9A CN108549603A (zh) | 2018-04-11 | 2018-04-11 | 测试方案生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810320785.9A CN108549603A (zh) | 2018-04-11 | 2018-04-11 | 测试方案生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108549603A true CN108549603A (zh) | 2018-09-18 |
Family
ID=63514475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810320785.9A Pending CN108549603A (zh) | 2018-04-11 | 2018-04-11 | 测试方案生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108549603A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162467A (zh) * | 2019-04-23 | 2019-08-23 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备和可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853202A (zh) * | 2010-05-28 | 2010-10-06 | 浙江大学 | 一种基于遗传算法和带权匹配算法的测试案例自动生成方法 |
CN104391790A (zh) * | 2014-11-21 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种基于贪心算法的自动化测试用例选择方法 |
CN104750604A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 浏览器兼容性测试案例的生成方法和装置 |
CN105302718A (zh) * | 2015-10-26 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种面向复用软件的测试模型的设计方法 |
CN105320701A (zh) * | 2014-08-04 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 功能点测试实现方式的筛选方法、装置及终端 |
US20170270035A1 (en) * | 2015-06-26 | 2017-09-21 | EMC IP Holding Company LLC | Method, device, and computer program product for testing code |
-
2018
- 2018-04-11 CN CN201810320785.9A patent/CN108549603A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853202A (zh) * | 2010-05-28 | 2010-10-06 | 浙江大学 | 一种基于遗传算法和带权匹配算法的测试案例自动生成方法 |
CN104750604A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 浏览器兼容性测试案例的生成方法和装置 |
CN105320701A (zh) * | 2014-08-04 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 功能点测试实现方式的筛选方法、装置及终端 |
CN104391790A (zh) * | 2014-11-21 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种基于贪心算法的自动化测试用例选择方法 |
US20170270035A1 (en) * | 2015-06-26 | 2017-09-21 | EMC IP Holding Company LLC | Method, device, and computer program product for testing code |
CN105302718A (zh) * | 2015-10-26 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种面向复用软件的测试模型的设计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162467A (zh) * | 2019-04-23 | 2019-08-23 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备和可读存储介质 |
CN110162467B (zh) * | 2019-04-23 | 2023-12-19 | 平安科技(深圳)有限公司 | 软件测试方法、装置、计算机设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717094B (zh) | 管理服务器和管理服务器的控制方法 | |
CN109615524B (zh) | 洗钱犯罪团伙的识别方法、装置、计算机设备及存储介质 | |
CN108351806A (zh) | 分布式基于流的数据库触发器 | |
CN109120429B (zh) | 一种风险识别方法及系统 | |
CN108563584A (zh) | 测试数据生成方法、装置、计算机设备及存储介质 | |
CN106803799B (zh) | 一种性能测试方法和装置 | |
CN110956269A (zh) | 数据模型的生成方法、装置、设备以及计算机存储介质 | |
CN106663041A (zh) | 从系统故障恢复基于云的服务的易用性 | |
van der Aalst | Business Alignment: Using Process Mining as a Tool for Delta Analysis. | |
CN109447787A (zh) | 征信报告自动解析方法、装置、计算机设备以及存储介质 | |
CN109144869A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN109102396A (zh) | 一种用户信用评级方法、计算机设备及可读介质 | |
CN107249182A (zh) | 一种短信发送方法及其装置、终端设备 | |
CN108304322A (zh) | 一种压力测试方法及终端设备 | |
CN112910708B (zh) | 分布式服务调用方法及装置 | |
CN108549603A (zh) | 测试方案生成方法、装置、计算机设备及存储介质 | |
CN111882113B (zh) | 一种企业手机银行用户的预测方法和装置 | |
CN113127955A (zh) | 一种建筑抗震性能评估方法、系统、装置及存储介质 | |
CN112907308B (zh) | 数据检测方法和装置、计算机可读存储介质 | |
CN106919508A (zh) | 一种计算机网络应用程序测试案例的生成方法 | |
CN110209575A (zh) | 测试文档生成方法、装置、电子设备及存储介质 | |
CN110490554A (zh) | 工作流管理方法、装置、计算机设备及存储介质 | |
CN115907786A (zh) | 一种基于知识图谱的供应商画像构建方法 | |
CN109919762A (zh) | 客户信息的报备方法、装置、设备及存储介质 | |
CN114723554A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180918 |