一种针对仿真系统的主动被动混合测试方法转让专利

申请号 : CN201210453195.6

文献号 : CN102955738B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵一丁张西广李志民刘凤华郑秋生苗凤君

申请人 : 中原工学院

摘要 :

本发明公开一种针对仿真系统的主动被动混合测试方法,是按照下述步骤进行:(1)选择测试需求项;(2)建立“测试准备数据库”;(3)设计测试用例;(4)搜索“测试准备数据库”;(5)从步骤(4)得到的数据中获取测试用例的期望输出数据或测试通过标准;(6)若“测试准备数据库”中没有符合要求的数据,调整测试方法或者扩大数据条件,再次搜索“测试准备数据库”;(7)若经过步骤(6)之后,“测试数据库”中没有符合要求的数据,且不能调整搜索条件,则对欠缺数据再进行针对性的数据挖掘。本发明提高了测试数据的充分性;减少了重复数据等的使用,有效增加了测试数据的实用性;减少了被动测试实施成本及时间。

权利要求 :

1.一种针对仿真系统的主动被动混合测试方法,其特征在于按照下述步骤进行:(1)选择测试需求项;

(2)建立“测试准备数据库”;

(3)设计测试用例,提出输入数据的条件范围;

(4)搜索“测试准备数据库”,从中找出符合条件范围的输入数据;

(5)从步骤(4)得到的数据中获取测试用例的期望输出数据或测试通过标准;

(6)若“测试准备数据库”中没有符合要求的数据,调整测试方法或者扩大数据条件,再次搜索“测试准备数据库”;

(7)若经过步骤(6)之后,“测试准备数据库”中没有符合要求的数据,且不能调整搜索条件,则对欠缺数据再进行针对性的数据挖掘;将新挖掘的数据添加到“测试准备数据库”中,再重复步骤(3);

其中,建立“测试准备数据库”及组织实施测试的方式如下:①对用户历史业务进行数据挖掘并建立测试准备数据库的过程:建立被动机制,完成实际生产数据获取软件的开发;

跟踪记录生产数据;

根据确定的测试目标范围,修改数据获取程序;

在被动机制下跟踪记录实际系统生产历史数据;

处理实际生产历史数据库,得到测试准备数据库;

②测试的组织与实施过程:确定测试目标范围;

制定测试计划;

设计主动测试用例;

设计被动测试用例、设计主动被动混合测试用例;

测试实施;

完成测试结果报告;

依据仿真精度方面的bug,修改仿真数学模型;

当项目状态满足终止条件时,结束项目。

说明书 :

一种针对仿真系统的主动被动混合测试方法

技术领域

[0001] 本发明属于软件测试领域,具体涉及一种软件被动测试方法。

背景技术

[0002] 对于一个工业生产在线仿真系统进行测试时,测试人员设计了合理的测试用例,要把仿真软件的运行数据和现场真实数据进行比对,但各实际生产装置的操作参数往往是不允许因为要测试而调节,用户要求不能影响生产,更怕出风险,无法根据主动测试用例设计的输入数据进行数据比对,所以主动测试方法有时难以实施。
[0003] 近几年国内外有关软件被动测试的成果较少,有实践价值的研究进展艰难缓慢。类比概括归纳一下已有成果:被动在线监测,可向前、向后根据轨迹来标示错误;在线被动测试中观察者放置最少的解决方案;用被动测试收集启发式信息,然后将这些信息指导后续的主动测试等。但是这些文献成果中的实践问题也比较多,比如:
[0004] (1)被动测试的目标难以主动控制;
[0005] (2)被动测试的输入数据依赖现场实际生产的真实数据,这些数据对于测试来讲可能不是需要的或是不重要的,而需要的数据出现的时间可能很短、次数很少;
[0006] (3)在线获取的真实数据常常是前后重复性“相同”的,这些数据浪费了宝贵的被动测试实施时间,严重影响了测试效率;
[0007] (4)被动测试的测试数据的充分性问题普遍较大;
[0008] (5)普通的被动测试不设计测试用例,先进的测试方法难以融入。

发明内容

[0009] 本发明要解决的技术问题是被动测试方法的测试目标难以主动控制、被动机制下获取的测试数据实用性和充分性等较低,提供一种提高了测试数据的充分性、减少了重复数据的针对仿真系统的主动被动混合测试方法。
[0010] 本发明的技术方案是以下述方式实现的:一种针对仿真系统的主动被动混合测试方法,按照下述步骤进行:
[0011] (1)选择测试需求项;
[0012] (2)建立“测试准备数据库”;
[0013] (3)设计测试用例,提出输入数据的条件范围;
[0014] (4)搜索“测试准备数据库”,从中找出符合条件范围的输入数据;
[0015] (5)从步骤(4)得到的数据中获取测试用例的期望输出数据或测试通过标准;
[0016] (6)若“测试准备数据库”中没有符合要求的数据,调整测试方法或者扩大数据条件,再次搜索“测试准备数据库”;
[0017] (7)若经过步骤(6)之后,“测试数据库”中没有符合要求的数据,且不能调整搜索条件,则对欠缺数据再进行针对性的数据挖掘;将新挖掘的数据添加到“测试准备数据库”中,再重复步骤(3)。
[0018] 本发明包括下述过程:
[0019] (1)对用户历史业务进行数据挖掘并建立测试准备数据库的过程[0020] 建立被动机制,完成实际生产数据获取软件的开发;
[0021] 跟踪记录生产数据;
[0022] 根据确定的测试目标范围,修改数据获取程序;
[0023] 在被动机制下跟踪记录实际系统生产历史数据;
[0024] 处理实际生产历史数据库,得到测试准备数据库。
[0025] (2)测试的组织与实施过程
[0026] 确定测试目标范围;
[0027] 制定测试计划;
[0028] 设计主动测试用例;
[0029] 设计被动测试用例、设计主动被动混合测试用例;
[0030] 测试实施;
[0031] 完成测试结果报告;
[0032] 依据仿真精度方面的bug,修改仿真数学模型;
[0033] 当项目状态满足终止条件时,结束项目。
[0034] 本发明建立测试数据获取的被动机制,充分使用长期真实系统历史数据,相比普通被动测试大大提高了测试数据的充分性;减少了重复数据等的使用,有效增加了测试数据的实用性;减少了被动测试实施成本及时间。按合理的主动测试方法设计测试用例,但其中输入数据只提出条件范围;对用于测试的实际生产参数历史数据库中数据进行挖掘,从中搜索出符合条件范围的历史数据,作为测试用例的测试输入数据及对应的期望输出结果。

发明内容

[0035] 如图1所示,一种针对仿真系统的主动被动混合测试方法,是按照下述步骤进行:
[0036] (1)选择测试需求项,明确测试需求细节及测试通过标准;
[0037] (2)基于测试需求对用户历史业务进行数据挖掘,建立“测试准备数据库”,测试准备数据库本质上是用于测试的实际生产参数历史数据库;
[0038] (3)对于每一项测试需求,按照合理的主动测试方法设计测试用例,但其中输入数据只提出条件范围,不设计具体输入数据;
[0039] (4)搜索“测试准备数据库”,从中找出符合条件范围的数据,作为测试用例的测试输入数据;
[0040] (5)从步骤(4)得到的相关数据中获取测试用例的期望输出数据或测试通过标准;
[0041] (6)若“测试准备数据库”中没有符合要求的数据,调整测试方法或者扩大数据条件范围,再次搜索“测试准备数据库”;
[0042] (7)若经过步骤(6)之后,“测试数据库”中仍没有符合要求的数据,且不能调整搜索条件,则对欠缺数据再进行针对性的数据挖掘;将新挖掘的数据添加到“测试准备数据库”中,再重复步骤(3)。
[0043] 如图2所示,本发明的方法在具体实施时包括下述三个过程:
[0044] (1)开发仿真软件,采用瀑布模型的过程:
[0045] 所述瀑布模型包括四个活动:活动1:需求分析;活动2:总体设计;活动3:详细设计;活动4:编码。
[0046] (2)对用户历史业务进行数据挖掘并建立测试准备数据库的过程:
[0047] 活动10:建立被动机制,完成实际生产数据获取软件的开发;在项目启动后,应尽早完成被动机制(只在线接受共享实际生产数据、不干扰生产进行)下获取实际生产参数历史数据的程序及相关硬件配置;
[0048] 活动11:跟踪记录生产数据,刚开始获取的数据要尽量全面,宁可多余也不要遗漏;
[0049] 活动12:根据确定的测试目标范围,修改数据获取程序,去掉无关的数据项,以减少系统负荷压力;
[0050] 活动13:在被动机制下跟踪记录实际系统生产历史数据,不管是正常工况、事故状态或是开工的过程中,要尽量不间断;
[0051] 活动14:处理实际生产历史数据库,原始的实际生产参数历史数据库在用于测试前,需要滤除失真干扰数据、滤除“重复”数据、数据分类、数据格式转换,最后得到测试准备数据库(也就是用于测试的实际生产参数历史数据库)。
[0052] (3)测试的组织与实施过程:
[0053] 活动5:确定测试目标范围;
[0054] 活动6:制定测试计划;
[0055] 活动7:设计主动测试用例;
[0056] 活动8:设计被动测试用例、设计主动被动混合测试用例;前置任务包括完成测试计划及具备数据量充分的实际生产参数历史数据库;对于每一项测试需求,先明确本测试需求项对应的测试通过标准,按合理的测试方法设计测试用例,但其中输入数据只提出条件范围;对测试准备数据库中数据进行搜索,从中找出符合条件范围的数据,作为测试用例的测试输入数据;并从对应的数据中获取测试用例的期望输出数据或测试通过标准;如果测试准备数据库中没有符合要求的数据,对测试方法调整或者数据条件范围尽量扩宽,再去搜索测试准备数据库;如果测试准备数据库中仍然没有符合要求的数据,需要对欠缺数据再进行针对性的数据挖掘;
[0057] 活动9:测试实施;
[0058] 活动15:经过对测试记录分析处理后完成测试结果报告;
[0059] 活动16:依据仿真精度方面的bug(缺陷),修改仿真数学模型;
[0060] 活动17:当项目状态满足终止条件时,结束项目。

附图说明

[0061] 图1是本发明测试用例的设计流程图。
[0062] 图2是本发明测试过程的PDM网络图。

具体实施方式

[0063] 如图1所示,一种针对仿真系统的主动被动混合测试方法,是按照下述步骤进行:
[0064] (1)选择测试需求项,明确测试需求细节及测试通过标准;
[0065] (2)基于测试需求对用户历史业务进行数据挖掘,建立“测试准备数据库”,测试准备数据库本质上是用于测试的实际生产参数历史数据库;
[0066] (3)对于每一项测试需求,按照合理的主动测试方法设计测试用例,但其中输入数据只提出条件范围,不设计具体输入数据;
[0067] (4)搜索“测试准备数据库”,从中找出符合条件范围的数据,作为测试用例的测试输入数据;
[0068] (5)从步骤(4)得到的相关数据中获取测试用例的期望输出数据或测试通过标准;
[0069] (6)若“测试准备数据库”中没有符合要求的数据,调整测试方法或者扩大数据条件范围,再次搜索“测试准备数据库”;
[0070] (7)若经过步骤(6)之后,“测试数据库”中仍没有符合要求的数据,且不能调整搜索条件,则对欠缺数据再进行针对性的数据挖掘;将新挖掘的数据添加到“测试准备数据库”中,再重复步骤(3)。
[0071] 如图2所示,本发明的方法在具体实施时包括下述三个过程:
[0072] (1)开发仿真软件,采用瀑布模型的过程:
[0073] 所述瀑布模型包括四个活动:活动1:需求分析;活动2:总体设计;活动3:详细设计;活动4:编码。
[0074] (2)对用户历史业务进行数据挖掘并建立测试准备数据库的过程:
[0075] 活动10:建立被动机制,完成实际生产数据获取软件的开发;在项目启动后,应尽早完成被动机制(只在线接受共享实际生产数据、不干扰生产进行)下获取实际生产参数历史数据的程序及相关硬件配置;
[0076] 活动11:跟踪记录生产数据,刚开始获取的数据要尽量全面,宁可多余也不要遗漏;
[0077] 活动12:根据确定的测试目标范围,修改数据获取程序,去掉无关的数据项,以减少系统负荷压力;
[0078] 活动13:在被动机制下跟踪记录实际系统生产历史数据,不管是正常工况、事故状态或是开工的过程中,要尽量不间断;
[0079] 活动14:处理实际生产历史数据库,原始的实际生产参数历史数据库在用于测试前,需要滤除失真干扰数据、滤除“重复”数据、数据分类、数据格式转换,最后得到测试准备数据库(也就是用于测试的实际生产参数历史数据库)。
[0080] (3)测试的组织与实施过程:
[0081] 活动5:确定测试目标范围;
[0082] 活动6:制定测试计划;
[0083] 活动7:设计主动测试用例;
[0084] 活动8:设计被动测试用例、设计主动被动混合测试用例;前置任务包括完成测试计划及具备数据量充分的实际生产参数历史数据库;对于每一项测试需求,先明确本测试需求项对应的测试通过标准,按合理的测试方法设计测试用例,但其中输入数据只提出条件范围;对测试准备数据库中数据进行搜索,从中找出符合条件范围的数据,作为测试用例的测试输入数据;并从对应的数据中获取测试用例的期望输出数据或测试通过标准;如果测试准备数据库中没有符合要求的数据,对测试方法调整或者数据条件范围尽量扩宽,再去搜索测试准备数据库;如果测试准备数据库中仍然没有符合要求的数据,需要对欠缺数据再进行针对性的数据挖掘;
[0085] 活动9:测试实施;
[0086] 活动15:经过对测试记录分析处理后完成测试结果报告;
[0087] 活动16:依据仿真精度方面的bug(缺陷),修改仿真数学模型;
[0088] 活动17:当项目状态满足终止条件时,结束项目。