APP下载

软件测试中可靠性模型的设计

2018-03-23潘正辉

电子技术与软件工程 2018年4期
关键词:软件测试

摘 要软件测试属于检测软件质量及可靠性的一种有效手段,而软件可靠性又决定了软件质量,两者之间存在着紧密的联系。基于这种情况,本文首先介绍了软件可靠性模型,并在此基础上分析了Seeding模型的设计与研究,其中包括Seeding模型的含义、应用以及完善。

【关键词】软件测试 可靠性模型 Seeding模型

计算机技术的日益普及为人们的生活及生产都创造了便利的条件,而人们也对软件的质量提出了较高的要求,软件的可靠性得到了社会各界的广泛关注。而可靠性模型的建立为软件测试工作创造了良好的条件,有利于工作人员对软件中错误数据的数量进行估计,进而提升软件的质量。因此在这种情形下研究软件测试中可靠性模型的设计与研究就具有一定的现实意义。

1 软件可靠性模型

软件可靠性指的是软件产品在规定条件及时间区间内完成规定功能的能力,其中规定条件包括计算机系统状态以及软件输入条件,规定时间区间指的是软件实际运行的时间区间,规定功能指的是为提供给定的服务,是软件产品所必须具备的功能。软件的发展离不开软件可靠性模型的支持。软件可靠性模型指的是在软件测试过程中建立了可靠性框图和数学模型,以此来实现软件可靠性的预测及计算。软件可靠性模型包括性能度量、模型假设、数据要求以及参数估计等四个部分。对于性能度量而言,它指的是该模型的输出量,多数情况下都是用数学表达式来对其进行表达。对于参数估计而言,指的是通过参数估计来对数据进行获取,这些数据多数都是软件测试时很难获取的参数。对于模型假设而言,它指的是可靠性模型中的一些和实际情况基本类似的假设。对于数据要求而言,它指的是在可靠性模型建立过程中,要求检测人员输入一些相关的数据。另外,软件可靠性模型也具有下述两种特点:

(1)软件可靠性模型和设计程序的语言无关联;

(2)软件可靠性模型和软件开发方法无关系。

2 Seeding模型的设计与研究

2.1 Seeding模型含义

Seeding模型是一种软件可靠性模型,它可以对软件中的错误数量进行估计和预算,它的优点是操作便捷、直观形象。

Seeding模型又叫做种子模型,这种模型是在估计水池中鱼量的基础上建立起来的。假设水池中一共有N条鱼,则可以通过下述几个步骤对鱼的数量进行预测:首先,从水池里随机捕获一些鱼,将其数量设为Nt,并对捕获的鱼进行标记,再将它们全部放入水池里,让他们充分游动,进而和水池中未被捕获的鱼混在一起。然后,从水池里再捕获一些鱼,将其数量设为n,在这些鱼当中,一定会有一些被标记的鱼,将其数量设为nt,将没有被标记鱼的数量设为n-nt。最后,在计算过程中,可以假设水池里的被标记鱼和没有被标记鱼之间的比值与被标记鱼占水池里总鱼量的比例相等,经过相关推算,可以得到如下关系式:

N=n*Nt/nt

2.2 Seeding模型的应用

Seeding模型在进行软件测试时的原理是:该模型在排错之前,软件中错误数据的数量是N个,工作人员并不知道软件里有多少个未知错误。这个时候工作人员可以向程序里添加Nt个错误,然后再进行排错。工作人员在进行排错时,还应该对排错类型进行记录,错误类型可以分为两种,一种是原有错误,将其数量设成n,另一种是所添加的错误,将其数量设成nt,所以可以得到判断软件错误数量的公式为:

N=(n+nt)*Nt/nt

虽然从理论上来看这种方法可以帮助工作人员判断软件里的错误数量,但在实际应用过程中,该方法并不可行。工作人员无法对软件里错误数据的具体数量和具体内容进行确定,因此工作人员所添加的错误极有可能和原有错误重复。并且这种方法过分依赖工作人员进行排错,没有实现自动测试,不仅浪费了大量的能力,取得的效果也不是十分理想。

2.3 Seeding模型的完善

Seeding模型在完善之后的原理是:首先,需要两名工作人员对相同的程序进行独立排错。其次,第一名工作人员在完成软件排错之后,应对排错结果进行记录,然后让第二名工作人员进行排错,第二名工作人员不需要对所有错误数据都进行排除,只进行一段时间即可,并对排错结果进行记录。最后,让分析员对两名工作人员的结果和排错情况进行分析,并根据Seeding模型的公式来估算软件中错误数据的数量。第二名工作人员在每进行一段时间之后,就可以将排错结果交给分析员分析,直到获得较为正确的估测值,这个时候,第二名工作人员的工作任务就完成了。由此可见,不需要所有工作人员都完成全部的排错工作,就可以获得比较正确的估计值。值得注意的是该模型在应用过程中应该满足以下几个假设:

(1)工作人员需要进行独立排错,不允许对软件信息进行交流;

(2)在排错时不可以添加新的错误;

(3)软件错误触发概率是一样的。

另外,工作人员的排错效率是影响软件里错误数量估测值可靠性的关键因素,工作人员的排错效率和排错可靠性越高,就会让通过模型所得到的估测值越准确。因此,要想确保可靠性模型的准确度,就要提升工作人员的排错效率,进而对模型进行改进。

3 结论

总而言之,要想确保软件产品的质量,就需要对软件进行测试,而要想确保测试效果,就必须在软件测试过程中设计可靠性模型,进而对软件错误数量进行有效检测,让软件开发人员能够及时采取措施对这些错误进行解决,以确保软件产品的质量。而Seeding模型的设计与研究还处于发展阶段,因此相关工作人员应该加强对其的研究,根据实际工作所需对其进行不断完善,以提升软件测试的精准性。

参考文献

[1]胡湘萍.浅析软件测试中的可靠性模型设计[J].信息通信,2016(03):186-187.

[2]于淑云.针对软件可靠性测试的扩展UML模型的设计与实现[J].新乡学院学报,2014,31(12):38-41.

[3]潘正辉.基于云计算的基础设施云服务平台设计和实现[J].电子技术与软件工程,2017(15):12-12.

[4]潘正辉.基于百度云服务的Android云终端设计及实现[J].电子测试,2017(14).

[5]潘正辉.基于安卓系统的近场无线通讯功能设计与实现[D].大连理工大学,2013.

作者简介

潘正辉(1988-),男,江苏省无锡市人。中级工程师,硕士。研究方向为软件工程。

作者单位

安谷科技股份有限公司 江苏省無锡市 214000

猜你喜欢

软件测试
基于OBE的软件测试课程教学改革探索
基于MBD模型自动生成测试用例的软件测试方法
计算机软件测试方法的研究
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
一种航空机载软件测试项目的进度改进模型
军用软件测试文档生成设计与实现
软件测试工程化模型及应用研究
智能电能表软件测试技术概述
《软件测试》课程教学策略研究