公务员期刊网 论文中心 正文

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

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

摘要:VSP数据处理软件是一款对地震数据资料进行处理和解释的软件。它采用了Matlab和C++混合编程,最后运用QT技术实现图形用户界面。VSP这款软件的开发需要经过需求分析、软件设计、编码实现和软件测试这四个步骤,其中测试是软件实现最重要的一步。该论文用黑盒测试和白盒测试两种方法对该软件的主要几个模块进行测试,编写了测试用例。最终测试结果有利于软件质量的保障和后期的运维。

关键词:软件质量;软件测试;黑盒测试;白盒测试

引言

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

1VSP数据处理软件

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

2黑盒测试

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

2.1等价类划分法

以“VSP数据处理软件”的时变矢量分解模块为例时变矢量分解模块需要输入的数据有:(1)输入路径,输出路径(2)时变矢量分解(3)参数。针对表1中划分和编号的等价类进行设计测试用例,如表2所示。根据上面所列出的测试用例对软件进行测试,实际结果和预期结果一致。

2.2因果图法

采用因果图方法设计“VSP数据处理软件”中的动校正速度扫描模块的测试用例,该模块运行规格说明为:“当选中动校正速度扫描模块,输入输出路径、参数都填写以及点击运行按钮,该模块才能正常运行,其他情况都会报错。”根据规格说明,整理出3个正常输入条件和2个错误输入条件为:C1:输入输出路径、C2:运行按钮、C3:参数填写C4:输入或者输出路径未填、路径中包含了中文C5:参数未填写或者填写参数不符合格式结果为:E1:正常运行E2:错误提示进而得到的因果图如图2所示,然后从因果图导出判定表,如表3所示。最后从判定表导出测试用例,如表4所示。按照列出的测试用例对该模块进行测试,实际结果和预期结果一致。有针对性的提示有利于操作员及时发现错误的原因。

3白盒测试

白盒测试只测试程序的处理过程和内部结果,不测试软件的功能。将被测程序看成是打开的黑盒,测试人员不考虑程序的功能,只根据内部结果设计测试用例[10]-[12]。主要的方法有逻辑覆盖测试(包括语句覆盖、条件覆盖、判断覆盖、判断/条件覆盖、条件组合覆盖)路径覆盖测试(控制流测试)等。本文主要介绍逻辑覆盖法对“VSP数据处理软件”中处理某一个模块的分支语句的方法进行测试。这个模块是进行Sgy文件转成Mat文件操作,程序内容为判断处理列表中是否点击了SgyToMat模块,点击i就为1。接下来就进行判断i取值是否为1,运行run_sgyToMat(strl),因为该模块需要填四个参数,下一步则判断输入的字符串数量是否为4,正确就进行下一段代码,不满足条件则提示错误。图3为该模块的流程图。

3.1条件覆盖

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

3.2判定条件覆盖

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

4结论

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

参考文献

[1]詹聪,洪玫,周洪宇,张光渝,代声馨.分布式自动化软件测试平台研究——测试工具集成策略研究[J].计算机应用与软件,2014,31(03):75-78.

[2]王敏,谢永平.用于多条件组合问题的测试用例设计新方法[J].计算机应用与软件,2018,35(04):21-27.

[3]潘森,林云,彭鑫,赵文耘.基于软件开发过程数据的可视化产品质量监控工具[J].计算机应用与软件,2015,32(09):8-12.

[4]饶建农.基于图形用户界面的软件的测试方法的研究[J].电脑知识与技术,2019,15(17):78-81.

[5]魏鑫,安鹏伟,赵菲,高米.黑盒测试技术方法在大气数据计算机软件测试中的应用[J].导航定位与授时,2018,5(05):107-111.

[6]宋丽.黑盒测试在环境质量监测系统测试中的应用[J].电子技术与软件工程,2019(12):54-56.

[7]周健,辛中臣.无人机系统软件黑盒测试内容研究[J].信息系统工程,2019(04):160+163.

[8]什么是黑盒测试?[J].电子质量,2019(02):23.

作者:蒋焕 单位:长江大学电子信息学院