APP下载

谈软件工程中软件测试的重要性及方法

2020-12-14

电子元器件与信息技术 2020年11期
关键词:黑盒检测法软件测试

(江苏省软件产品检测中心,江苏 南京 210012)

0 引言

软件测试在软件工程中是一个重要阶段,是保证软件质量的一种重要手段。本文着重对软件检测的方法:黑盒检测法、白盒检测法、静态检测法以及动态检测法做出探析。

1 软件检测综述

从软件的初期研发上来看,一般研发的规模相对较小,研发的复杂度相对不高,在研发流程的规范性上有所不足,检测覆盖面比较小,在研发过程中,有相当一部分研发人员将软件调试简单的理解为软件检测,其工作的内容在很大程度上是对软件中的故障进行处理,同时软件的研发力量不足,在软件已经开发到相当的阶段后,才开始进行相关的检测工作。随着信息产业的不断发展完善,在软件研发中,软件检测的重要性不断凸显,同软件检测的相关技术以及流程也不断完善,这在很大程度上提升软件研发质量的稳定性。在这个过程中,软件品质的概念在软件研发中渗透,也促进了软件研发专业性水平的提升[1]。

2 软件检测的重要作用

在软件研发中软件检测是保证研发质量的基础。在软件研发的过程中有诸多的因素会对软件的品质产生影响。在软件研发中如何保证软件品质的稳定性一直都是软件研发中的重点问题,为了提升软件的稳定性,保证软件研发的质量,行业内的研发的人员以及专家都付出了相当大的精力,从软件研发的过程上来看,如果在软件研发中出现了难以解决的BUG,不仅会影响软件研发的进度,而且会导致软件研发的成本大幅度的上升。

软件研发受客观技术条件的影响,以及研发过程主观人为因素的影响,因此在软件研发中出现BUG问题往往是难以避免的。因此在软件研发的过程中,需要将研发的精力放在避免软件BUG,尽早发现软件BUG上,如果发现BUG需要及时的采取手段来修补软件BUG,从而提升软件运行的稳定性。而软件检测就是避免软件BUG大规模出现,及早发现软件BUG的有效手段,能够有效的保证软件功能性的发挥,并且能够为相关的研发人员提供大量的有价值的信息,有利于相关的软件研发人员对软件研发的风险进行评估,保证软件研发的进度,控制好研发的成本[2]。

3 软件检测的方法

从软件检测的功能性上来看,主要的功能就是及时的发现软件中存在的各种缺陷,并针对这些缺陷采取有针对性的修补措施,保证软件的品质。可以说软件检测的过程实际上就是试错的过程,所以说软件检测并不是为了证明软件不存在缺陷。在软件交付之前都需要对软件进行测试,保证软件运行的稳定性。高品质的软件往往需要经过全方位的软件检测。软件检测涵盖了软件研发的全过程,这其中包括了对软件的功能进行测试,以验证软件能否满足用户的需求。软件检测需要与软件研发同步进行,仅仅在软件交付阶段进行软件测试,是无法保证软件的稳定性的。同时在软件测试之前也需要进行大量的准备工作,需要根据软件研发的过程中制定相应的检测方案,选择相应的测试工具等。科学完备的软件测试准备能够保证软件测试的全面性以及有效性,提高软件测试的效率,有效的避免开发过程中出现的各种问题,保证软件开发工程的顺利实施[3]。

软件检测作为软件开发工程中必不可少的环节,软件测试的全面性以及有效性,对软件开发的质量具有直接的影响。对于软件开发项目实施的单位来说,相关的领导人员需要高度重视软件检测工作的落实。从目前软件工程的整体发展趋势上来看,客户对软件的功能性以及软件的稳定性往往有比较高的要求,这也在很大程度上增加了软件开发的复杂性,在此背景下,软件检测工作需要更加的具有全面性。因此在软件开发工程中,为了保证软件产品品质,满足客户对高品质软件的需求,就必须保证软件测试的有效落实,从而保证软件开发的质量。

3.1 黑盒检测

黑盒检测是一种常见的软件测试方法,该检测方法将检测对象看作是一个黑色的盒子,在检测的过程中通过向软件录入相关的信息,根据软件中数据的输出情况,来探知软件功能的实现情况。在检测的过程中,到相关的检测数据导入到软件中,然后接收软件的输出数据,在对软件的输出数据进行分析,分析的过程中实际上就是验证输出信息是否与预设信息保持一致,如果能够保证数据的一致性,基本上可以判断软件功能能够实现。如果输出的信息与预设的信息存在差异,则需要进一步对差异的信息进行分析,从而找出软件中的故障。

3.2 白盒检测

白盒检测是与黑盒检测相对应的一种软件检测方法,相比黑盒检测,白盒检测往往具有更高的透明度。该检测方法主要是借助软件本身的程序代码进行检测,来对软件的稳定性进行判定。在进行检测的过程中一般会将软件功能与软件构架一同检测。该检测方法在检测的效率方面具有很大的优势,能够在较快的时间内发现软件的程序代码问题。为了提升检测的全面性,该检测方法一般与黑盒检测配合使用。该检测方法适用于一些功能比较复杂的软件检测。在软件研发的过程中,判定检测也是一种比较普遍的软件检测方式,该检测方式能够较为直观的展现出软件的程序设计框架,对于提升检测的准确性具有重要的意义,通过该检测方式能够对程序代码进行较为全面的检测,因此较为复杂的软件检测中,该检测方式能够发挥出比较大的优势。在对软件检测的过程中,该检测方式与黑盒检测配合使用能够在很大程度上提升检测的动态性,能够找出软件中的一些深层BUG。从实际的检测流程上来看,可以先通过黑盒检测,对程序输出的数据进行比对,如果输出的数据与预设数据有差异,就需要借助白盒检测对有差异的程序代码进行深层次的检测,从而保证检测的全面性[4]。

3.3 静态检测

该检测方式是一种根据研发人员主观经验判的一种检测方法,该检测方法在静态下对软件进行检测,在检测的过程中不会产生很多的数据信息,可有作为一种辅助检测的方法。一般用于检测软件中计算方法是否合理,以及计算结果的准确性,该检测方法可以初步对程序设计的合理性进行检测,优势在于检测的效率比较高,同时检测的成本相对较小,相关的BUG信息也能较为清晰的展示,另外这种检测方法也具有比较强的实用性,能够对多种类型的软件进行检测。

3.4 动态检测法

该检测方法通过借助各种检测程序,在计算机中来对软件进行动态的检测,能够较为清晰地反映出软件运行过程中存在的问题。该检测方法与静态检测的区别在于,在检测的过程中利用各类检测软件,在程序运行的过程中进行检测,能够反映出软件在运行过程中的各种问题,因此软件检测始终处于动态的过程中。在应用该检测方法时,一定要保证软件处于运行的状态中,只有这样才能发挥出动态检测的优势。在动态检测中,主要是对两方面进行检测,首先是检测对象的运行情况,其次是检测期间的数据分析。只有做好这两点,才能准确的感知软件运行过程中的问题[5]。

4 结论

对于软件开发工程来说,保证软件的品质至关重要,从目前软件开发的形势上来看,客户群体对软件的功能性以及软件的稳定性提出了更高的要求,在这种情况下,就需要将软件检测重视起来,及时发现软件中的BUG并进行处理,从而保证软件开发的质量。

猜你喜欢

黑盒检测法软件测试
一种基于局部平均有限差分的黑盒对抗攻击方法
软件测试方向人才培养“1+X”融合研究
浅析GB50325-2020与GB/T18883-2002关于室内环境污染物检测法的区别
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
用AFP、LDH、GGT、ALP和CA19-9联合检测法诊断肝癌的临床价值分析
关于 Web 应用系统的软件测试的研究
有源滤波器单次谐波正负序统一检测法
嗓音类型的鉴定方法与特点