VSP数据处理软件的测试实践

2021-07-02 12:22:54蒋焕
电子测试 2021年11期
关键词:黑盒测试用例时变

蒋焕

(长江大学电子信息学院,湖北荆州,434000)

0 引言

随着软件的规模和复杂度增大,传统的测试方式受到时间、空间、测试成本的限制,导致测试效果不够理想[1]。软件产品的不断更新导致其质量的退化,从而增加后期测试的难度[2][3]。垂直地震剖面(VSP)勘探是一个用来处理和解释地震资料的重要工具。本文所测试的软件可以对VSP资料进行保真处理,功能有振幅补偿、波场分离、2D和3D速度建模等,大部分软件系统通常以图形用户界面(GUI)为特征[4]。本文以“VSP数据处理软件”中的几个模块为例来实施测试,主要采用的是黑盒和白盒两种测试方法[5]。

1 VSP数据处理软件

软件操作界面分为四个部分:数据输入输出、处理模块的列表、处理流程的编辑、处理模块的参数设置。其中处理列表中包含这次进行测试的两个模块:ScanEta(动校正速度扫描)、TimeVaryVectDecompos(时变矢量分解)。操作界面如图1所示。

图1 VSP软件操作界面

2 黑盒测试

黑盒测试具体测试方法包括等价类划分法、边界值分析法、判定表驱动法、因果图法、错误推测法等[6]-[9]。本文用到了等价类划分方法。对“VSP数据处理软件”的某些模块进行实施测试。

2.1 等价类划分法

以“VSP数据处理软件”的时变矢量分解模块为例时变矢量分解模块需要输入的数据有:(1)输入路径,输出路径(2)时变矢量分解(3)参数。

针对表1中划分和编号的等价类进行设计测试用例,如表2所示。根据上面所列出的测试用例对软件进行测试,实际结果和预期结果一致。

表1 “VSP软件”时变矢量分解模块_等价类编号

表2 “VSP软件”时变矢量分解模块_等价类测试用例

2.2 因果图法

采用因果图方法设计“VSP数据处理软件”中的动校正速度扫描模块的测试用例,该模块运行规格说明为:“当选中动校正速度扫描模块,输入输出路径、参数都填写以及点击运行按钮,该模块才能正常运行,其他情况都会报错。”根据规格说明,整理出3个正常输入条件和2个错误输入条件为:

C1:输入输出路径、C2:运行按钮、C3:参数填写

C4:输入或者输出路径未填、路径中包含了中文

C5:参数未填写或者填写参数不符合格式

结果为:

E1:正常运行

E2:错误提示

进而得到的因果图如图2所示,然后从因果图导出判定表,如表3所示。最后从判定表导出测试用例,如表4所示。

图2 因果图

表3 判定表

表4 测试用例

按照列出的测试用例对该模块进行测试,实际结果和预期结果一致。有针对性的提示有利于操作员及时发现错误的原因。

3 白盒测试

白盒测试只测试程序的处理过程和内部结果,不测试软件的功能。将被测程序看成是打开的黑盒,测试人员不考虑程序的功能,只根据内部结果设计测试用例[10]-[12]。主要的方法有逻辑覆盖测试(包括语句覆盖、条件覆盖、判断覆盖、判断/条件覆盖、条件组合覆盖)路径覆盖测试(控制流测试)等。本文主要介绍逻辑覆盖法对“VSP数据处理软件”中处理某一个模块的分支语句的方法进行测试。

这个模块是进行Sgy文件转成Mat文件操作,程序内容为判断处理列表中是否点击了SgyToMat模块,点击i就为1。接下来就进行判断i取值是否为1,运行run_sgyToMat(strl),因为该模块需要填四个参数,下一步则判断输入的字符串数量是否为4,正确就进行下一段代码,不满足条件则提示错误。图3为该模块的流程图。

图3 扫描速度部分程序流程图

3.1 条件覆盖

对图3的程序,例如:对于第一个判断,条件i==1,取真值为A,假值为-A;对于第二个判断,条件 strl.length()!=4,取真值为B,假值为-B;则可以设计测试用例如表5所示。

表5 扫描速度部分程序流程图

3.2 判定条件覆盖

判定条件覆盖测试用例如表6所示。

表6 判定条件覆盖测试用例

上面几种逻辑覆盖方法虽然将此模块所有的路径基本列出,但由于其代码量比较庞大,我们不能依照这个方法对整个软件的代码进行完整的测试,还需使用其他更加有效的方法来进行测试。

4 结论

开发VSP软件过程复杂,对其测试是一个最为重要的环节。我们对这款软件测试的目的就是发现其中隐藏的缺陷和错误并加以完善。本文运用了黑盒测试和白盒测试的方法对“VSP数据处理软件”的部分模块进行测试,将一些隐藏的bug和问题得到了实质性的解决,使用性方面也得到了优化。因此能满足用户的需求,提高用户的满意度。在具体的软件测试过程中,要根据实际情况制定测试计划,编写详细的测试用例,然后进行反复的测试和验证,才能使得软件的质量得到保障。

猜你喜欢
黑盒测试用例时变
一种基于局部平均有限差分的黑盒对抗攻击方法
基于SmartUnit的安全通信系统单元测试用例自动生成
基于混合遗传算法的回归测试用例集最小化研究
基于时变Copula的股票市场相关性分析
智富时代(2017年4期)2017-04-27 17:08:47
烟气轮机复合故障时变退化特征提取
基于MEP法的在役桥梁时变可靠度研究
基于依赖结构的测试用例优先级技术
软件回归测试用例选取方法研究
自适应两级UKF算法及其在时变偏差估计中的应用