一种基于中央随机的控索性软件测试方法及装置与流程

文档序号:20917491发布日期:2020-05-29 13:43阅读:452来源:国知局
一种基于中央随机的控索性软件测试方法及装置与流程

本申请涉及软件测试领域,具体涉及一种基于中央随机的控索性软件测试方法,同时涉及一种基于中央随机的控索性软件测试装置。



背景技术:

对探索性测试最直白的定义是:同时设计测试和执行测试。探索性测试有时候会与即兴测试(adhoctesting)混淆。即兴测试通常是指临时准备的、即兴的bug搜索测试过程。从定义可以看出,谁都可以做即兴测试。由cemkaner提出的探索性测试,相比即兴测试是一种精致的、有思想的过程。在现今的软件测试过程中,特别是敏捷开发模式下探索性测试作为系统测试的重要手段被越来越多的使用,以利用测试人员的个人能力、经验,发现更多的被测系统潜在缺陷。

另一方面,软件的缺陷通常具有群集效应,即在软件的测试过程中,某个功能模块已发现的缺陷越多,找到它的更多未发现的缺陷的可能性就越大。与此同时,如果某个模块被测试出的缺陷经过分析后认为的价值越高,那么该模块出现其他价值较高的缺陷的可能性就越大。但是,由于人的思维惯性容易导致测试覆盖路径、测试数据组织的固化,即测试过的分支被重复执行测试,没测到分支依旧没有测到。



技术实现要素:

本申请提供一种基于中央随机的控索性软件测试方法及装置,解决现有的软件测试方法测试覆盖路径不到位、测试数据组织不全面的问题。

本申请提供一种基于中央随机的控索性软件测试方法,包括:

获取原始缺陷数据,对所述原始缺陷数据进行筛选,获取缺陷数据集;

对缺陷数据集进行分块,并使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号;

将所述随机编号与测试执行人员编号进行映射,根据所述映射关系进行测试任务派发;

收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据。

优选的,对所述原始缺陷数据进行筛选,获取缺陷数据集,包括:

将缺陷等级划分为一般、严重、致命三个等级;

根据缺陷等级对原始缺陷数据进行筛选,获取严重和致命等级的缺陷;

将严重和致命等级的缺陷作为缺陷数据集。

优选的,对缺陷数据集进行分块,包括:

根据测试执行人员的数量获取缺陷数据集的分块数量;

所述测试执行人员的数量与缺陷数据集分块数量相对应。

优选的,使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号,包括:

根据测试执行人员编号,使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号。

优选的,将所述随机编号与测试执行人员编号进行映射,包括:

将每条缺陷的随机编号与对应的测试执行人员编号进行映射;

获取测试人员对应的缺陷。

优选的,根据所述映射关系进行测试任务派发,包括:

根据所述映射关系,获取测试人员对应的缺陷;

根据所述缺陷,获取缺陷对应的功能模块;

将所述功能模块的测试任务派发给所述测试人员。

优选的,收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据,包括:

收集所述测试任务的测试结果,所述测试结果包括测试通过与测试不通过;

若测试不通过,则收集对应的新发现的缺陷;

根据新发现的缺陷设计测试用例和测试数据。

本申请同时提供一种基于中央随机的控索性软件测试装置,包括:

缺陷数据集获取单元,获取原始缺陷数据,对所述原始缺陷数据进行筛选,获取缺陷数据集;

随机编号单元,对缺陷数据集进行分块,并使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号;

任务派发单元,将所述随机编号与测试执行人员编号进行映射,根据所述映射关系进行测试任务派发;

测试结果收集单元,收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据。

优选的,缺陷数据集获取单元,包括:

划分子单元,将缺陷等级划分为一般、严重、致命三个等级;

筛选子单元,根据缺陷等级对原始缺陷数据进行筛选,获取严重和致命等级的缺陷;

缺陷数据集获取子单元,将严重和致命等级的缺陷作为缺陷数据集。

优选的,测试结果收集单元,包括:

测试结果收集子单元,收集所述测试任务的测试结果,所述测试结果包括测试通过与测试不通过;

缺陷收集子单元,若测试不通过,则收集对应的新发现的缺陷;

设计子单元,根据新发现的缺陷设计测试用例和测试数据。

本申请提供一种基于中央随机的控索性软件测试方法及装置,对原始缺陷数据进行筛选,获取缺陷数据集,使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号,将所述随机编号与测试执行人员编号进行映射,根据所述映射关系进行测试任务派发;收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据,解决现有的软件测试方法测试覆盖路径不到位、测试数据组织不全面的问题。

附图说明

图1是本申请提供的一种中央随机的控索性软件测试方法的流程示意图;

图2是本申请提供的一种基于中央随机的控索性软件测试方法的框图;

图3是本申请涉及的一种基于中央随机的控索性软件测试方法的执行步骤示意图;

图4是本申请提供的一种基于中央随机的控索性软件测试装置示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

图1为本申请提供的一种中央随机的控索性软件测试方法的流程示意图,下面结合图1对本申请提供的方法进行详细说明。

步骤s101,获取原始缺陷数据,对所述原始缺陷数据进行筛选,获取缺陷数据集。

中央随机(centerrandom)是指在科学研究中为了实现盲法,排除人为或者其它未知因素对研究结果产生偏差影响而采用的一种有计算机系统中央控制动态区组随机方法来实现的一种科研设计方法。通常中央随机系统还应该与科学研究中各个环节的管理相结合,采用中央随机的方法,能显著的提高科学研究水平和效率。由此可见,中央随机适用于软件测试领域,软件测试工作通常包括测试人员分配,工作分配,测试结果分析等环节,但是如果一直采取固定人员对应固定功能模块进行测试,容易导致测试覆盖路径不到位、测试数据组织不全面的问题。所以本申请在人员分配、工作分配等方面采用中央随机的控索性软件测试方法,以消除现有方法的弊端。

首先,将缺陷等级划分为一般、严重、致命三个等级;根据缺陷等级对原始缺陷数据进行筛选,获取严重和致命等级的缺陷;将严重和致命等级的缺陷作为缺陷数据集。获取原始缺陷数据。其中筛选过程,还可以根据其他方面进行,如典型意义。

步骤s102,对缺陷数据集进行分块,并使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号。

分块的意义是根据测试执行人员的数量获取缺陷数据集的分块数量,测试执行人员的数量与缺陷数据集分块数量相对应。缺陷数/人数=分块数。

然后,根据测试执行人员编号,使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号。例如,测试执行人员的编号的范围为1~m,那么缺陷的编号的范围也为1~m,为接下的映射做准备。

步骤s103,将所述随机编号与测试执行人员编号进行映射,根据所述映射关系进行测试任务派发。

将每条缺陷的随机编号与对应的测试执行人员编号进行映射,那么根据编号获取测试人员对应的缺陷。经过映射,每个测试人员对应的缺陷是随时的,而缺陷对应的功能模块是固定的,这样就会达成向测试人员随机分配测试任务的目的。具体的,根据所述缺陷,获取缺陷对应的功能模块;将所述功能模块的测试任务派发给所述测试执行人员。以避免出现由于人的思维惯性容易导致测试覆盖路径不到位。

步骤s104,收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据。

将测试任务随机派发给测试执行人员后,测试执行人员开始测试,在测试执行人员将测试任务完成后,收集所述测试任务的测试结果,所述测试结果包括测试通过与测试不通过;若测试不通过,则收集对应的新发现的缺陷;根据新发现的缺陷设计测试用例和测试数据。以完善测试覆盖路径和测试数据。

本申请提供的一种基于中央随机的控索性软件测试方法的框图如图2所示,包括:数据准备模块、数据随机模块、测试任务分发模块、测试结果反馈模块,数据准备模块,通过对原始缺陷数据进行筛选,获取缺陷数据集;数据随机模块,用于对每条缺陷随机分配编号,建立测试执行人员和缺陷的映射关系;测试任务分发模块,根据测试执行人员和缺陷的映射关系,分发测试任务;测试结果反馈模块,根据测试结果设计测试用例和测试数据。具体的执行步骤如图3所示,首先获取原始数据集,对缺陷数据集进行分块,并为每条缺陷进行随机编号;再就是测试执行人员的编号,测试执行人员的编号和缺陷编号的先后执行顺序任意。并不影响方法的执行,图3中,还包括判断是否有未生随机的分块数据,若否,则建立测试执行人员和缺陷的映射关系,若是,则继续对块内的缺陷生成随机编号;接下来就是任务派发与收集测试结果,然后根据测试结果设计测试用例和测试数据

本申请同时提供一种基于中央随机的控索性软件测试装置400,如图4所示,包括:

缺陷数据集获取单元410,获取原始缺陷数据,对所述原始缺陷数据进行筛选,获取缺陷数据集;

随机编号单元420,对缺陷数据集进行分块,并使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号;

任务派发单元430,将所述随机编号与测试执行人员编号进行映射,根据所述映射关系进行测试任务派发;

测试结果收集单元440,收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据。

优选的,缺陷数据集获取单元,包括:

划分子单元,将缺陷等级划分为一般、严重、致命三个等级;

筛选子单元,根据缺陷等级对原始缺陷数据进行筛选,获取严重和致命等级的缺陷;

缺陷数据集获取子单元,将严重和致命等级的缺陷作为缺陷数据集。

优选的,测试结果收集单元,包括:

测试结果收集子单元,收集所述测试任务的测试结果,所述测试结果包括测试通过与测试不通过;

缺陷收集子单元,若测试不通过,则收集对应的新发现的缺陷;

设计子单元,根据新发现的缺陷设计测试用例和测试数据。

本申请提供一种基于中央随机的控索性软件测试方法及装置,对原始缺陷数据进行筛选,获取缺陷数据集,使用静态随机算法对缺陷数据集中的每条缺陷进行随机编号,将所述随机编号与测试执行人员编号进行映射,根据所述映射关系进行测试任务派发;收集所述测试任务的测试结果及对应的新发现的缺陷,根据所述测试结果及缺陷设计测试用例和测试数据,解决现有的软件测试方法测试覆盖路径不到位、测试数据组织不全面的问题。

最后应该说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1