CN111061640B - 一种软件可靠性测试用例筛选方法及系统 - Google Patents
一种软件可靠性测试用例筛选方法及系统 Download PDFInfo
- Publication number
- CN111061640B CN111061640B CN201911313369.7A CN201911313369A CN111061640B CN 111061640 B CN111061640 B CN 111061640B CN 201911313369 A CN201911313369 A CN 201911313369A CN 111061640 B CN111061640 B CN 111061640B
- Authority
- CN
- China
- Prior art keywords
- probability
- profile
- node
- cases
- sum
- 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
Links
Images
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
Abstract
本发明公开了一种软件可靠性测试用例筛选方法及系统,涉及通信技术领域。用以解决现有的基于操作剖面的软件可靠性测试用例筛选使用人工技术的方式,存在浪费人工成本和筛选的随机性弱的问题。根据已导入的基础测试用例信息,剖面概率和最终用例数量,得到每个第一节点所需用例数量;当每个第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定基础测试用例信息所包括的第二用例的权重以及权重和,根据权重和为每条第二用例添加随机区间,根据随机函数在的区间范围生成与第一节点所需用例数量相等的第一随机数,当第一随机数介于一个随机区间时,则将随机区间对应的第二用例确认为筛选对象。
Description
技术领域
本发明涉及通信技术领域,更具体的涉及一种软件可靠性测试用例筛选方法及系统。
背景技术
在互联网飞速发展的时代,软件缺陷所引发的产品故障,甚至灾难性事故也越来越严重。如今,计算机已深入到军用、民用的各个领域,甚至居民的日常生活之中,因此,软件可靠性也显得越来越重要。
软件可靠性的问题是当今可靠性研究和软件工程中的最主要和最困难的课题,至今,还是没能很好的解决软件可靠性预计和评估的方法问题。软件可靠性测试是在软件生命周期的系统测试阶段提高软件可靠性水平的有效途径。
软件可靠性测试的主要思想是按照用户对软件实际使用的统计规律对软件的各项操作进行随机测试。软件可靠性测试一般在软件功能性测试完成后进行,且软件功能性测试用例已完全覆盖软件的各项功能及操作,故软件可靠性测试用例可基于功能性测试用例进行筛选。
基于操作剖面的软件可靠性测试用例筛选方法包括以下步骤:先构造操作剖面,获取中间步骤剖面的发生概率,然后根据操作剖面及其使用概率,对基础测试用例进行筛选生成软件可靠性测试用例。基于操作剖面的可靠性测试用例筛选方法的主要特点是:操作剖面是树状的体系结构,采用分层、逐步细化的方法,而且建立操作剖面的过程清晰明了,也适用于大型软件系统。但使用中间步骤剖面的发生概率计算操作剖面的概率的过程,目前仍然使用人工计算的方式,对于大型软件系统,该过程尤为浪费人工成本,且人工按照操作剖面概率在基础测试用例中进行筛选的随机性不强。
综上所述,现有的基于操作剖面的软件可靠性测试用例筛选使用人工技术的方式,存在浪费人工成本和筛选的随机性弱的问题。
发明内容
本发明实施例提供一种软件可靠性测试用例筛选方法及系统,用以解决现有的基于操作剖面的软件可靠性测试用例筛选使用人工技术的方式,存在浪费人工成本和筛选的随机性弱的问题。
本发明实施例提供一种软件可靠性测试用例筛选方法,包括:
根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;
根据所述剖面结构和已经导入的剖面概率,得到操作剖面所包括的每个第一节点的用户使用概率;
根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;
当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,SUM为权重和,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。
较佳的,每条所述第一用例对应的剖面信息包括至少包括以下:
客户剖面、用户剖面、系统剖面、功能剖面、操作剖面、用例ID和权重;
所述用户使用概率至少包括以下:
系统使用概率、功能使用概率和操作使用概率。
较佳的,所述根据所述剖面结构和已经导入的剖面概率,得到操作剖面所包括的每个第一节点的用户使用概率,具体包括:
根据所述剖面结构和已经导入的剖面概率生成树形结构概率树,所述树形结构概率树从上之下依次包括用户剖面概率、系统剖面概率、系统使用概率、功能剖面概率、功能使用概率、操作剖面概率和操作使用概率;
其中,用户剖面概率为根节点,且所述根节点的使用概率为1;每个层级的所有子节点的使用概率之和为1;当前节点的剖面概率和父节点的使用概率乘积为当前节点在整个系统中的所述用户使用概率。
较佳的,所述当前节点的剖面概率和父节点的使用概率乘积为当前节点在整个系统中的所述用户使用概率,具体包括:
系统剖面节点的用户使用概率等于所述用户剖面概率乘以所述系统使用概率;或者
功能剖面节点的用户使用概率等于所述系统使用概率乘以所述功能剖面概率;或者
操作剖面节点的用户使用概率等于所述功能使用概率乘以所述操作剖面概率。
较佳的,还包括:
当每个所述第一节点所需用例数量等于基础测试用例信息所包括的每个第二节点的所属用例数量时,则将所述基础测试用例信息所包括的每条第二用例确认为筛选对象。
较佳的,还包括:
当每个所述第一节点所需用例数量大于基础测试用例信息所包括的每个第二节点的所属用例数量时,先将所述基础测试用例信息所包括的每条第二用例确认为筛选对象;
再根据以下方式筛选出“第一节点所需用例数量-第二节点的所属用例数量”个对象:
确认所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和SUM,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象。
较佳的,所述根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】之前,还包括:
确认所述基础测试用例信息所包括的每条第二用例的权重以及用例ID,将所述第二用例按照权重从小到大方式排序;
对每个所述第二用例的权重进行正整数化。
较佳的,所述根据已导入的基础测试用例信息之前,还包括:
将所述基础测试用例信息存储至Web应用管理模块;
将所述剖面概率存储至Web应用管理模块;
将所述最终用例数量存储至Web应用管理模块。
本发明实施例还提供了一种软件可靠性测试用例筛选系统,包括:
基础信息库,用于存储基础测试用例信息、剖面概率和最终用例数量;
Web应用管理模块,用于根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;
根据所述剖面结构和已经导入的剖面概率,得到操作剖面所包括的每个第一节点的用户使用概率;
根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;
当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,SUM为权重和,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。
较佳的,所述Web应用管理模块还用于显示所述筛选对象。
本发明实施例提供一种软件可靠性测试用例筛选方法及系统,该方法包括:根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;根据所述剖面结构和已经导入的剖面概率,得到操作剖面所包括的每个第一节点的用户使用概率;根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,SUM为权重和,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。该方法根据剖面结构和已经导入的剖面概率,以树形概率方法计算出不同操作模块包括的第一节点所需要的用例数量,并结构基础测试用例的权重,采用基于权重的随机筛选算法自动筛选出不同操作模块对应的用例。在系统比较复杂时,节省计算成本,且避免了人工筛选用例的主观性,极大的保证了高质量的软件可靠性测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种软件可靠性测试用例筛选方法流程示意图;
图2为本发明实施例提供的一种软件可靠性测试用例筛选系统结构示意图;
图3为本发明实施例提供的剖面信息树结构示意图;
图4为本发明实施例提供的树形结构概率树结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供的一种软件可靠性测试用例筛选方法流程示意图,该方法至少包括以下步骤:
步骤101,根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;
步骤102,根据所述剖面结构和已经导入的剖面概率,得到操作剖面所包括的每个第一节点的用户使用概率;
步骤103,根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;
步骤104,当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和SUM,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。
图2为本发明实施例提供的一种软件可靠性测试用例筛选系统结构示意图,本发明实施例提供的筛选方法是基于该系统实现的,以下结合图2所提供的筛选系统来详细介绍软件可靠性测试用例筛选方法。
如图2所示,该系统主要包括有基础信息库和Web应用管理模块。具体的,基础信息库包括有不同系统基础测试用例信息存储、不同系统对应操作剖面概率存储、最终用例数量的存储和筛选结果的存储。其中:不同系统基础测试用例信息,至少包括系统名称、客户剖面(英文简写:CP,英文为:Customer Profile)、用户剖面(英文简写:UP,英文为:UserProfile)、系统剖面(英文简写:SP,英文为:System Profile)、功能剖面(英文简写:FP,英文为:Function Profile)、操作剖面(英文简写:OP,英文为:Operation Profile)、用例ID以及权重数值。需要说明的是,在本发明实施例中,权重取决于用例所对应操作的重要性,一般在基础测试用例编写时决定,权重的取值主要依据(用户/设计)需求优先级。因为每一条基础测试用例的操作粒度一致,即用例条数与模块复杂度成正比,而用例权重仅代表操作重要性,不包含操作复杂度因素,以此确保各操作模块用例自动化筛选的公平性。
进一步地,不同系统对应剖面概率至少包括:系统名称、剖面类型、剖面名称、剖面概率;用例筛选结果至少包括:系统名称、本次可靠性测试相关信息、用例ID。
在步骤101之前,需要保证已经将基础测试用例信息存储至Web应用管理模块,已经将剖面概率存储至Web应用管理模块,已经将最终用例数量存储至Web应用管理模块。等上述信息全部存储至Web应用管理模块之后,则可以执行以下步骤。
在步骤101中,根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构。
具体地,根据已导入的基础测试用例信息,逐一遍历每条第一用例所对应的客户剖面、用户剖面、系统剖面、功能剖面、操作剖面和用例ID,从上至下,从客户剖面至操作剖面,从而可以得到基础测试用例信息的剖面结构,即根据上述基础测试用例信息可以绘制成树形结构。图3为本发明实施例提供的剖面信息树结构示意图,如图3所示,该剖面信息树结构从上之下主要包括:客户剖面、用户剖面、系统剖面、功能剖面和操作剖面,且在实际应用中,每个操作剖面又可细化成多个第一用例,在本发明实施例中,上述多条第一用例均采用用例ID进行区分。如图3所示,在本发明实施例中默认客户剖面只包括唯一的一个,而对其他剖面所包括的第一用例的数量不做具体的限定。
在步骤102中,已经导入的剖面概率为用户使用概率,用户使用概率可以通过用户调研、用户操作日志统计分析等产生。在本发明实施例中,导入的剖面概率至少包括剖面类型。剖面名称和剖面概率。在实际应用中,需要确保同属于每个父剖面的子节点的概率之和为1。
进一步地,根据步骤101确定的剖面结构与已经导入的用户使用概率,可以得到每个第一节点的用户使用概率。具体地,根据步骤101确定的树形结构和导入的用户使用概率可以形成树形结构概率树。图4为本发明实施例提供的树形结构概率树结构示意图,如图4所示,该树形结构概率树从上至下依次包括用户剖面概率、系统剖面概率、系统使用概率、功能剖面概率、功能使用概率、操作剖面概率和操作使用概率。
需要说明的是,图4中的用户剖面概率为该树形结构概率树的根节点,且该跟节点的使用概率为1。在计算每个第一节点的用户使用概率时,需要根据以下规则:
1)、根节点的概率默认为1;
2)、每个层级的所有子节点的使用概率之和为1,每个层级的所有子节点的剖面概率之和为1;
3)、用户剖面各节点的使用概率等于用户剖面各节点的剖面概率;
4)、当前节点的剖面概率和父节点的使用概率乘积为当前节点在整个系统中的用户使用概率。
根据上述规则,可以计算出每个第一节点的用户使用概率,以下结合图4为例,详细介绍计算第一节点的用户使用概率的具体过程:
步骤1、用户剖面概率的计算式如式(1)所示:
a1+a2+a3+a4=1 (1)
步骤2、系统剖面节点1的用户使用概率的计算式如式(2)所示:
c1=a1*b1 (2)
公式(2)中,c1为系统剖面节点1的用户使用概率,a1为系统剖面节点的父节点(用户剖面节点的使用概率),b1为系统剖面节点1的剖面概率。
需要说明的是,由于功能剖面节点可能会对应多个父节点(系统剖面节点),因此,在计算功能剖面节点的用户使用概率时,则需要将多个父节点均计算在内。
步骤3、功能剖面节点1的用户使用概率的计算式如式(3)所示:
e1=c1*d1+c2*d11+c3*d12+c4*d13 (3)
公式(3)中,e1为功能剖面节点1的用户使用概率,d1为功能剖面节点1的剖面概率,c1为功能剖面节点1的父节点(系统剖面节点1的用户使用概率),d11为功能剖面节点11的剖面概率,c2为功能剖面节点11的父节点(系统剖面节点2的用户使用概率),d12为功能剖面节点12的剖面概率,c3为功能剖面节点12的父节点(系统剖面节点3的用户使用概率),d13为功能剖面节点13的剖面概率,c4为功能剖面节点13的父节点(系统剖面节点4的用户使用概率)。
步骤4、操作剖面节点1的用户使用概率的计算式如式(4)所示:
g11=e1*f11 (4)
公式(4)中,g11为操作剖面节点11的用户使用概率,f11为操作剖面节点11的剖面概率,e1为操作剖面节点11的父节点(为功能剖面节点1的用户使用概率)。
步骤5、重复执行上述步骤2、步骤3和步骤4,可以确定该树形结构概率树所包括的全部第一节点的用户使用概率。
在步骤103中,当已经确认了第一节点的用户使用概率之后,则可以根据已经导入的最终用例数量,来确定每个第一节点所需用例数量。
在步骤104中,根据已经确定的每个第一节点所需用例数量和系统基础测试用例所包括的每个第二节点的所属用例数量,可以采用以下方式进行可靠性测试需要执行的测试用例的自动化筛选。具体包括以下几种情况:
第一种情况:
当确定的每个第一节点所需用例数量与系统基础测试用例所包括的每个第二节点的所属用例数量相等时,则将系统基础测试用例中第二节点的所属用例全部自动筛选出确认为筛选对象。
第二种情况:
当确定的每个第一节点所需用例数量小于系统基础测试用例所包括的每个第二节点的所属用例数量相等时,则需要执行以下步骤来进行自动筛选:
步骤201,从系统基础测试用例所包括用例中自动筛选出S个测试用例,需要说明的是,在随机筛选S个测试用例时,需保证用例权重高的被选中的概率稿。再者,这里的S为一个数量值,且该数量值与确定的每个第一节点所需用例数量相等。
步骤202,将选中的S个用例按照权重的大小从下到大进行排序并存储在基础信息库临时表中,S个用例均携带有用例ID,根据该用例ID可以对上述用例以及权重进行区别。
步骤203,对每个用例的权重进行正整数化处理,需要说明的是,这里的正整数化处理并非为四舍五入原则,而是对全部权重进行扩大倍数,比如,若某个用例的权重为1.1,则正整数化处理是对每个用例的权重均进行乘十处理,从而使得权重1.1变成11;若某个用例的权重为1.01,其他用例的权重均为2.1则正整数化处理是每个用例的权重进行乘百处理,从而使得权重1.01变成101,其他用例的权重则从2.1变成210。
步骤204,所有权重进行求和,并记为SUM。
步骤205,遍历临时表中的所有用例,为每个用例增加随机数区间,举例来说,若临时表中第一条用例的权重为a,则第一条用例的随机数区间为【1,a),第二条用例的权重为b,则第二条用例的随机数区间为【a,a+b),第三条用例的权重为c,则第三条用例的随机数区间为【a+b,a+b+c)......以此类推,若最后一条用例的权重为n,则对应的随机数区间为【SUM-n,SUM】。
步骤206,使用随机函数在【1,SUM】的区间范围内生成S个随机数,若随机数出现在某个用例对应的随机数区间内,则该用例被筛选出,否则该测试用例未被筛选中。
第三种情况:当确定的每个第一节点所需用例数量大于系统基础测试用例所包括的每个第二节点的所属用例数量相等时,先将基础测试用例信息所述包括的每条第二用例确认为筛选对象,然后在根据上述步骤201~步骤206的方式,从系统基础测试用例所包括的每个第二节点的所属用例中在选择出“第一节点所需用例数量-第二节点的所属用例数量”个对象。
举例来说,若确定每个第一节点所需用例数量为S时,系统基础测试用例所包括的每个第二节点的所属用例数量为A时,则第一次可以选择出A个,而剩余的S-A个则可以通过上述步骤201~步骤206的方式确定。
需要说明的是,若上述三种情况中选用的用例为重复筛选,则可以在原有筛选的用例ID的基础上做重复标记后新增到筛选结构表中,否则在筛选结果表中新增所筛选的用例ID。对于有重复标记的测试用例,在重复执行时需尽可能置换不同的测试输入。
综上所述,本发明实施例提供了一种软件可靠性测试用例筛选方法,该方法根据剖面结构和已经导入的剖面概率,以树形概率方法计算出不同操作模块包括的第一节点所需要的用例数量,并结构基础测试用例的权重,采用基于权重的随机筛选算法自动筛选出不同操作模块对应的用例。该方法可以自动化计算,极大地降低了测试成本,提高了软件可靠性测试效率;进一步地,该方法中考虑权重的随机算法,既解决了人工随机性不高的问题,又保证了高权重用例被选中的概率高。
基于同一发明构思,本发明实施例提供了一种软件可靠性测试用例筛选系统,由于该系统解决技术问题的原理与一种软件可靠性测试用例筛选方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
该系统具体包括基础信息库和Web应用管理模块。
基础信息库,用于存储基础测试用例信息、剖面概率和最终用例数量;
Web应用管理模块,用于根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;
根据所述剖面结构和已经导入的剖面概率,得到操作剖面所包括的每个第一节点的用户使用概率;
根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;
当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,SUM为权重和,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。
进一步地,所述Web应用管理模块还用于显示所述筛选对象。
应当理解,以上一种软件可靠性测试用例筛选系统包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种软件可靠性测试用例筛选系统所实现的功能与上述实施例提供的一种软件可靠性测试用例筛选一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种软件可靠性测试用例筛选方法,其特征在于,包括:
根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;
根据所述剖面结构和已经导入的剖面概率生成树形结构概率树,并根据所述树形结构概率树,得到操作剖面所包括的每个第一节点的用户使用概率;
根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;
当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,SUM为权重和,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。
2.如权利要求1所述的方法,其特征在于,每条所述第一用例对应的剖面信息包括至少包括以下:
客户剖面、用户剖面、系统剖面、功能剖面、操作剖面、用例ID和权重;
所述用户使用概率至少包括以下:
系统使用概率、功能使用概率和操作使用概率。
3.如权利要求1所述的方法,其特征在于,所述根据所述剖面结构和已经导入的剖面概率生成树形结构概率树,并根据所述树形结构概率树,得到操作剖面所包括的每个第一节点的用户使用概率,具体包括:
根据所述剖面结构和已经导入的剖面概率生成树形结构概率树,所述树形结构概率树从上之下依次包括用户剖面概率、系统剖面概率、系统使用概率、功能剖面概率、功能使用概率、操作剖面概率和操作使用概率;
其中,用户剖面概率为根节点,且所述根节点的使用概率为1;每个层级的所有子节点的使用概率之和为1;当前节点的剖面概率和父节点的使用概率乘积为当前节点在整个系统中的所述用户使用概率。
4.如权利要求3所述的方法,其特征在于,所述当前节点的剖面概率和父节点的使用概率乘积为当前节点在整个系统中的所述用户使用概率,具体包括:
系统剖面节点的用户使用概率等于所述用户剖面概率乘以所述系统使用概率;或者
功能剖面节点的用户使用概率等于所述系统使用概率乘以所述功能剖面概率;或者
操作剖面节点的用户使用概率等于所述功能使用概率乘以所述操作剖面概率。
5.如权利要求1所述的方法,其特征在于,还包括:
当每个所述第一节点所需用例数量等于基础测试用例信息所包括的每个第二节点的所属用例数量时,则将所述基础测试用例信息所包括的每条第二用例确认为筛选对象。
6.如权利要求1所述的方法,其特征在于,还包括:
当每个所述第一节点所需用例数量大于基础测试用例信息所包括的每个第二节点的所属用例数量时,先将所述基础测试用例信息所包括的每条第二用例确认为筛选对象;
再根据以下方式筛选出“第一节点所需用例数量-第二节点的所属用例数量”个对象:
确认所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和SUM,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象。
7.如权利要求1或6所述的方法,其特征在于,所述根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】之前,还包括:
确认所述基础测试用例信息所包括的每条第二用例的权重以及用例ID,将所述第二用例按照权重从小到大方式排序;
对每个所述第二用例的权重进行正整数化。
8.如权利要求1所述的方法,其特征在于,所述根据已导入的基础测试用例信息之前,还包括:
将所述基础测试用例信息存储至Web应用管理模块;
将所述剖面概率存储至Web应用管理模块;
将所述最终用例数量存储至Web应用管理模块。
9.一种软件可靠性测试用例筛选系统,其特征在于,包括:
基础信息库,用于存储基础测试用例信息、剖面概率和最终用例数量;
Web应用管理模块,用于根据已导入的基础测试用例信息,遍历所述基础测试用例信息所包括的每条第一用例以及每条所述第一用例对应的剖面信息,得到所述基础测试用例信息的剖面结构;
根据所述剖面结构和已经导入的剖面概率生成树形结构概率树,并根据所述树形结构概率树,得到操作剖面所包括的每个第一节点的用户使用概率;
根据已经导入的最终用例数量和每个所述第一节点的用户使用概率,得到每个所述第一节点所需用例数量;
当每个所述第一节点所需用例数量小于基础测试用例信息所包括的每个第二节点的所属用例数量时,确定所述基础测试用例信息所包括的每条第二用例的权重以及全部所述第二用例的权重和,根据所述权重和为每条所述第二用例添加随机区间【SUM-n,SUM】,根据随机函数在【1,SUM】的区间范围生成与所述第一节点所需用例数量相等的第一随机数,当所述第一随机数介于一个所述随机区间时,则将所述随机区间对应的所述第二用例确认为筛选对象,其中,SUM为权重和,n为全部所述第二用例的权重从小到大排序后最后一条所述第二用例的权重。
10.如权利要求9所述的系统,其特征在于,所述Web应用管理模块还用于显示所述筛选对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911313369.7A CN111061640B (zh) | 2019-12-18 | 2019-12-18 | 一种软件可靠性测试用例筛选方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911313369.7A CN111061640B (zh) | 2019-12-18 | 2019-12-18 | 一种软件可靠性测试用例筛选方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061640A CN111061640A (zh) | 2020-04-24 |
CN111061640B true CN111061640B (zh) | 2023-02-17 |
Family
ID=70301258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911313369.7A Active CN111061640B (zh) | 2019-12-18 | 2019-12-18 | 一种软件可靠性测试用例筛选方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061640B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5500941A (en) * | 1994-07-06 | 1996-03-19 | Ericsson, S.A. | Optimum functional test method to determine the quality of a software system embedded in a large electronic system |
CN102831055A (zh) * | 2012-07-05 | 2012-12-19 | 陈振宇 | 基于加权属性的测试用例选择方法 |
CN105159827A (zh) * | 2015-08-21 | 2015-12-16 | 北京航空航天大学 | 一种面向gui软件的可靠性加速测试方法 |
CN108804334A (zh) * | 2018-06-15 | 2018-11-13 | 北京航空航天大学 | 一种基于自适应抽样的离散型软件可靠性增长测试与评估方法 |
CN109408360A (zh) * | 2018-08-03 | 2019-03-01 | 中国人民解放军63928部队 | 一种软件可靠性评估方法和系统 |
CN109977030A (zh) * | 2019-04-26 | 2019-07-05 | 北京信息科技大学 | 一种深度随机森林程序的测试方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050076282A1 (en) * | 2003-10-01 | 2005-04-07 | Thompson Ryan Clarence | System and method for testing a circuit design |
US9529700B2 (en) * | 2014-04-25 | 2016-12-27 | Wipro Limited | Method of optimizing execution of test cases and a system thereof |
-
2019
- 2019-12-18 CN CN201911313369.7A patent/CN111061640B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5500941A (en) * | 1994-07-06 | 1996-03-19 | Ericsson, S.A. | Optimum functional test method to determine the quality of a software system embedded in a large electronic system |
CN102831055A (zh) * | 2012-07-05 | 2012-12-19 | 陈振宇 | 基于加权属性的测试用例选择方法 |
CN105159827A (zh) * | 2015-08-21 | 2015-12-16 | 北京航空航天大学 | 一种面向gui软件的可靠性加速测试方法 |
CN108804334A (zh) * | 2018-06-15 | 2018-11-13 | 北京航空航天大学 | 一种基于自适应抽样的离散型软件可靠性增长测试与评估方法 |
CN109408360A (zh) * | 2018-08-03 | 2019-03-01 | 中国人民解放军63928部队 | 一种软件可靠性评估方法和系统 |
CN109977030A (zh) * | 2019-04-26 | 2019-07-05 | 北京信息科技大学 | 一种深度随机森林程序的测试方法及设备 |
Non-Patent Citations (3)
Title |
---|
Synthesis of social media profiles using a probabilistic context-free grammar;Abejide Ade-Ibijola;《2017 Pattern Recognition Association of South Africa and Robotics and Mechatronics (PRASA-RobMech)》;20180118;104-109 * |
基于组合设计的软件可靠性测试用例设计方法;马长捷等;《微计算机信息》;20060730(第21期);全文 * |
基于风险分析的回归测试用例优先级排序;于海;《计算机学报》;20191031;2127-2144 * |
Also Published As
Publication number | Publication date |
---|---|
CN111061640A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102724219B (zh) | 网络数据的计算机处理方法及系统 | |
CN110457175B (zh) | 业务数据处理方法、装置、电子设备及介质 | |
CN111768096A (zh) | 基于算法模型的评级方法、装置、电子设备及存储介质 | |
CN114461858A (zh) | 一种因果关系分析模型构建及因果关系分析方法 | |
CN111061640B (zh) | 一种软件可靠性测试用例筛选方法及系统 | |
CN112434831A (zh) | 故障排查方法、装置、存储介质及计算机设备 | |
CN102546235A (zh) | 云计算环境下面向web应用的性能诊断方法和系统 | |
CN107104829B (zh) | 一种基于网络拓扑数据的物理设备匹配分配方法及装置 | |
CN115576834A (zh) | 支撑故障还原的软件测试复用方法、系统、终端及介质 | |
CN115759250A (zh) | 归因分析方法、装置、电子设备以及存储介质 | |
CN112486481B (zh) | 多模块分层架构实现方法、装置、电子设备及介质 | |
CN115827618A (zh) | 一种全局数据整合方法及装置 | |
CN113419954B (zh) | 云操作系统的自动化用例的执行方法、系统及相关组件 | |
CN107122849B (zh) | 基于SparkR的产品检测总完工时间极小化方法 | |
CN114036029A (zh) | 一种服务器的磁盘空间使用预测方法及装置 | |
CN109685453B (zh) | 智能识别工作流有效路径的方法 | |
CN111552847A (zh) | 一种变更对象数量的方法和装置 | |
CN115250231B (zh) | 应用配置方法及装置 | |
CN109800077A (zh) | 全程序静态检测的文件优先检测顺序的处理方法及装置 | |
CN111652750B (zh) | 一种用户群组的管理方法、装置、设备及存储介质 | |
CN116227295B (zh) | 电池包有限元建模方法、装置、计算机设备及存储介质 | |
CN112990246B (zh) | 孤立树模型建立的方法和装置 | |
CN112148460B (zh) | 关键路径的确定方法及装置、电子设备、计算机存储介质 | |
CN112073517B (zh) | 一种分布式数据传输优化方法、系统及相关设备 | |
CN114268485A (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 |