APP下载

计算机软件测试技术及其应用研究

2021-04-04朱海燕

信息记录材料 2021年4期
关键词:黑盒测试法软件测试

朱海燕

(杭州师范大学信息科学与工程学院 浙江 杭州 311121)

1 引言

随着信息化社会的到来,计算机已成为家家户户的必备品,与人们的生活和工作密不可分。计算机软件能够帮助用户实现与计算机硬件的连接,通过对计算机软件的不断优化,提升计算机硬件的适应性,使计算机系统进一步满足用户需求。因此,要优化计算机软件的性能,就要不断对计算机软件进行测试,这也是计算机软件应用的前提[1]。在计算机软件应用前,通过对其进行测试,发现优势与不足,并对不足之处不断进行优化,确保计算机软件安全有效的运行,同时还为软件开发应用提供了良好的平台。

2 计算机软件测试的目的

计算机软件测试是为了查找在软件开发过程中存在的安全及逻辑方面的漏洞。计算机软件测试通过对计算机软件的使用情况进行评估,从而检测软件运行的各个环节中是否有漏洞及错误。这些漏洞和错误一般比较隐秘,难以被发现,但是却会对软件的正常使用产生影响。要解决这一问题,就要运用计算机软件测试技术及方法,对软件的设计、编程等方面进行严密的检测,进而发现软件运行中的具体问题,并及时进行修正。计算机软件测试还能够对软件的使用性能、速度等进行检测,这些检测数据能够为软件的进一步优化提供参考。计算机软件测试在测试运行性能及速度的同时,还能够检查计算机软件的兼容性问题,有些计算机的软件与硬件无法兼容,从而导致软件无法运行,通过测试技术,能够测试软件与硬件的兼容性,从而保证计算机软件的正常运行。此外,安全性测试也是计算机软件测试的重要目的。在计算机网络中存在许多病毒,计算机软件常常成为病毒载体,一旦携有病毒的软件运行,就会对整个计算机系统造成影响,造成系统瘫痪等问题。因此,测试人员要对软件的安全性进行测试,查看软件对病毒的抵御能力,防止病毒攻击,保证软件的正常及安全运行。

3 计算机软件测试方法

计算机软件测试可以选用不同的方法,但软件会因为测试次数的增加而产生免疫,因此,要想保证软件测试的效果,测试人员在对软件进行测试的过程中,要根据软件的特性,在不同的测试方法中选择最佳方案。

3.1 黑盒测试法

黑盒测试也叫作功能性测试,主要测试计算机软件能否在使用过程中实现其基本功能。之所以称其为黑盒测试,是因为我们可以将软件看作一个无法打开的黑盒,在测试内部程序及算法前先对其程序接口进行测试。它是一种从用户角度来测试输入及输出的行为,如果在进行黑盒测试前,软件运行的外部环境存在问题,则无法直观反映出软件存在的漏洞及问题。一般情况下,黑盒测试法主要用于检测软件在开发中存在的功能性错误、软件运行界面存在的问题以及软件初始化错误等[2]。黑盒测试法无法对计算机软件进行全面的项目测试,主要是由于这一方法在模式上的限制,需要通过穷举法来进行测试,同时还要针对合法指令及不合法指令进行测试。因此,针对常见漏洞进行有针对性的测试时常使用此方法。

3.2 白盒测试法

白盒测试也叫作结构性测试,主要测试计算机软件程序内部的结构,测评软件程序的结构是否与规定一致,程序通路是否与预期相符。称其为白盒测试,正是因为期检测方法与黑盒测试相对立。如果说进行黑盒测试时将软件视为无法打开的黑盒,在进行白盒测试时则将软件视为被完全打开的盒子,然后考察软件程序的逻辑路径,从而对软件程序能否达到预期状态进行评估,确保软件程序的安全性[3]。

3.3 静态测试法

静态测试法主要包括代码走查、技术评审等,是测试人员对程序的接口、过程及结构进行全面的测试及检查,查找程序结构、符号等是否与设计说明书一致,是否存在可疑计算或不匹配参数等错误之处。

3.4 动态测试法

动态测试法是与静态测试法相对应的计算机软件测试方法,主要通过软件运行,在动态过程中对软件运行行为及结果进行测试,以确定软件是否与设计标准相符合。在采用动态测试法时,要使软件完整运行,从而对其运行状况进行全面检查,然后形成软件测试的相关数据,推动计算机软件测试工作的开展。

4 计算机软件测试技术

计算机软件测试技术是做好计算机软件测试工作的技术保障。随着信息技术的快速发展,软件测试技术也不断丰富与创新,从而为软件测试人员提供了更多的选择。

4.1 集成测试技术

这一测试技术主要包括两种方式,即渐增测试和非渐增测试。渐增测试主要是将待测模块与已测模块相连接,等到测试完成后再行下一步检测。在测试过程中,测试的模块越来越多,需要根据实际情况来选择合适的集成方式,确保模块能够真正连接到软件程序之中。非渐增测试主要是对模块的结构图进行连接,然后参照相应标准从整体上进行测试。

4.2 单元测试技术

单元测试主要是测试软件设计中的最小单位,也就是模块。由于待测软件模块处于某一位置上,因此在采用单元测试技术时,无法单独运行单元测试。测试人员需要提前设计好驱动程序及存根程序来进行软件测试,在接收数据和调用模块组件的同时,做好数据结构。

4.3 系统测试技术

系统测试主要针对软件系统的安装、性能及功能进行测试,从而最大程度上满足用户的基本需求。系统测试要遵循严格的测试标准,可以选用黑盒测试的方法。在运用系统测试技术进行计算机软件测试时,要将软件编程系统与客户的实际需求进行详细的对比,从中找出不足与差距,通过改进与优化进一步满足客户的基本需求。此外,在测试计算机软件性能时,要重点关注软件的安全与精度,监控好系统运行速度。

4.4 用户验收测试技术

用户验收测试主要是针对软件的可用性及功能进行的,目的在于验证软件的运行程序是否符合业务要求。用户验收测试可分为α测试和Beta测试。α测试过程中,需要在开发环境下进行测试,完善的受控环境是该测试必备的条件之一,如此才能保证软件测试的有效性。Beta测试是在进行功能及系统测试之后进行的,是技术测试的最后阶段。因此,在进行Beta测试时,要明确用户场,通过对测试记录的分析,将计算机软件中的潜在问题反馈给开发者。

5 计算机软件测试技术的应用

计算机软件测试是软件成功开发的前提和基础,能够保障软件开发的可靠性、实用性与安全性。因此,在计算机软件程序编写完成后,相关人员还需要对软件程序进行一系列的测试,以确定软件在功能、运行效果、安全性等方面是否与预期相一致。通常情况下,计算机软件基本开发完成后,测试人员还会检测软件的运行环境,将一些随机数据输入计算机,然后观察数据在经过软件程序的核算后,是否达到相应的匹配度及核算要求。为了确保软件程序核算的精确性和可靠性,在选取随机数据进行检测的同时,还会输入一些特殊参数。如果输出结果与软件功能相一致,那么软件便通过测试;反之,如果测试结果与软件的功能不一致,那么就说明该软件与开发应用的需求有差距,无法通过测试。近些年来,随着我国信息化进程的加快以及计算机信息技术的提升,我国软件在开发数量与水平方面都有大幅提升。一些专门用于计算机软件测试的程序也相继出现。但这类专用于测试的软件由于开发环境的差别以及技术方面的限制,仍然存在一定的局限性。例如,一种测试软件一般只能对某一固定类型的软件实施检测,这样检测的精确度便会大打折扣,需要相关人员进一步完善与优化。因此,在软件上市前,还要补充使用一种检测工具来对待测软件进行二次测试,从而保证计算机软件测试的精准度。

6 结语

计算机软件测试技术能够通过对计算机软件的检测,及时发现软件在开发设计以及应用过程中存在的问题与漏洞,其所提供的测试数据能够为软件开发人员提供参考,进而有针对性地对软件进行修复及优化,确保软件有效、安全地运行。当前,我国计算机软件市场的发展十分迅速,人们对软件的需求也是千差万别。在如此激烈的市场竞争中,要想提升计算机软件的竞争力,就要重视对软件的测试,保证软件运行的功能性及安全性,为软件的可持续发展提供前提与保障。

猜你喜欢

黑盒测试法软件测试
一种基于局部平均有限差分的黑盒对抗攻击方法
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
EXCEL和VBA实现软件测试记录管理
伊士曼展示其耐受医用消毒剂的新一代聚酯——四步测试法显示伊士曼MXF221共聚酯具有出色的耐化学性
新型混合材料咀嚼效率测试法
软件测试工程化模型及应用研究
电气化铁路轨道电路绝缘电压测试法的研究
基于D-最优化理论的陀螺仪力矩反馈测试法