APP下载

软件测试策略和测试方法的应用

2019-12-02冯越鑫

电子技术与软件工程 2019年18期
关键词:软件测试漏洞环节

文/冯越鑫

新世纪以来,经济全球化带动了互联网科学技术的快速发展,其中,计算机软件的发展取得了瞩目的成果。随着各种软件产品的出现,人们的生活方式也在不断的发生变化,与此同时,人们对各种软件产品的实用性以及质量要求也在不断提高,就目前来看,虽然各种软件产品较多,但是质量参差不齐、各有差异,因此,提升软件产品质量势在必行。而软件产品的质量受软件测试的影响,软件测试环节也会对软件产品的最终质量产生直接的影响。在这样的背景下,软件测试工作显得尤为重要,也逐渐受到了业界的广泛重视。

1 软件测试的重要性

软件产品在整个开发过程中,会以产品的整体规划方向及主要用户需求为考量基准,此外,在整个设计开发当中,也会受到开发人员技术层面的影响,因此,软件产品的最终质量影响因素涉及诸多方面,且在开发中,不可避免会出现失误,往往一个很小的漏洞便会影响到整个软件的应用以及用户体验,因此,软件测试显得尤为重要。其突出的点有以下方面,首先,通过软件测试作业进行,可以帮助相关人员从整体入手,明了软件的实际运行状况、软件基本功能、软件运行特点。同时根据自身了解的情况,在短时间内且排查软件中存在的风险,弥补漏洞、解决隐患。软件测试环节包含系统性的全方面数据驱动测试,在实际测试前须对软件的设计规格、软件代码等相关内容有充分了解,在此基础上,进行有针对性的测试。整个软件设计开发过程中,涉及到的方面众多,往往开发人员相互配合,共同完成,且每个技术人员的水平各异,擅长的领域也有差别,因此,不可避免会出现设计、开发方面的失误,且技术人员之间的交流及反馈是否充分也会对产品产生影响。而对于软件而言,漏洞的存在,会在很大程度上阻碍软件正常功能的顺利发挥,因此,在软件产品在市场中正式运行前的一段时间,要进行全面的测试,对其存在的漏洞及时发现、及时处理,不断提升软件的功能可靠性。再者,软件测试能够不断提升软件的各项开发功能,不断提升用户体验,在整个开发过程中,应当注重软件产品的功能性以及实用性,不断提升软件的实用价值,对软件的设计水平不断的完善升级,逐渐增强软件产品的各项功能实用性。

2 软件产品基本测试手段

软件测试又可称之为Software Testing,其主要是依据相关规定,以软件产品完整性、质量良好、功能正确、运行安全为评判标准的鉴定过程。

在Software Testing操作过程中,相关技术人员需要严格依据标准鉴定规程,以对应软件程序不同模块功能操作细则入手。立足全局,检测相关软件产品各模块存在的风险漏洞。Software Testing是现阶段软件开发步骤中至关重要的一环,其对整体软件运行质量具有较大的影响,因此,软件开发人员应主动学习基本Software Testing方法,明确数据驱动测试(Black-box Testing)、性能测试(Performance Testing)、白盒测试(White-Box Testing)、灰盒测试(Gray-Box Testing)、静态测试(Non-Execution-Based Testing或Static testing)、可用性测试(Usability Testing)以及异常测试等,黑盒测试以及White-Box Testing、Black-box Testing应用较普遍,其分别可以保障软件产品综合质量及覆盖率。

3 软件测试策略研究

3.1 传统型软件测试策略

在该测试策略当中,软件测试主要常用于软件开发周期的末期,在软件基本开发完毕之后再进行的测试环节,该测试策略就目前现状来看,有着一定的缺陷和不足,软件错误以及缺陷的积累较多,且相互间会很容易产生影响和关联,对软件测试造成巨大压力,甚至严重拖延软件的测试以及完成时间,在测试过程当中即使发现了缺陷以及错误,也是很难再对其实现阶段定位以及内容定位的。现代化软件往往开发周期较短,且面向多任务以及不同对象特点采用传统软件测试策略,将其与实际应用间的差距逐渐拉大,测试结果的可信性以及客观性会大打折扣。

3.2 现代型软件测试策略

为了尽可能的适应软件开发过程中的实际特性变化,可在软件开发的同一时刻开展软件。测试除了验证软件是否存在常规错误之外,还能够用于软件的功能考察。在实际策略制定当中,应当明确测试的主要目的,之后在结合目的选择测试的范围以及对象,再对测试的环境以及所选择的方法进行确认,生成测试结果以及测试报告,供软件开发相关工作人员进行分析以及利用。因此,软件测试策略的制定应当结合实际的开发项目以及开发内容进行制定,这样才能够保障测试环节的高效性、准确性以及合理性。

4 在软件测试过程中合理应用测试的策略

软件测试环节是极为重要的、是不可缺少的技术优化环节,因此,怎样通过更加快捷简便的方法对软件当中存在的问题进行排查,也是当前研究的重点方向,软件测试主要模块如下:

4.1 Unit Testing

Unit Testing又可称之为单元测试,其主要以软件设计的最小独立模块为检查对象。在实际应用过程中,其需要结合软件对应单元模块实际运行功能。结合软件定义,利用White-Box Testing+Black-box Testing的形式,对软件编码正确性进行判定。

依据White-Box Testing、Black-box Testing特点,在Unit Testing时,相关测试人员应预先收集待检测软件模块关联源程序,结合前期提供的说明文件,合理分析相关软件逻辑结构。随后利用White-Box Testing的方式,开展全面测试。最后利用Black-box Testing中Functional Testing(功能测试)模块,针对待检测软件中不合理输入,进行逐一辨别、判定。

4.2 Arranging System Integration Testing

Arranging System Integration Testing又可称之为集成测试,其主要针对需要组装的模块,结合相关要求,在软件模块组装的同时进行测试。在Arranging System Integration Testing过程中,可以针对与接口相关的漏洞、威胁,进行逐一排查。如运行至接口模块数据丢失、模块结合冲突、子功能相结合功能与预期的主功能不符等。同时利用Arranging System Integration Testing,还可以利用White-Box Testing+Black-box Testing的形式,连接System Testing(系统测试)、Unit Testing,保证设计的实际功能需求的充分满足。

4.3 System Testing

System Testing又可称之为系统测试,其主要采用Black-box Testing的方法,结合软件实际运行需求,进行测试。具体System Testing还包括 Availability Testing、Reliability Testing(可靠性测试)等。为了保证整体System Testing的真实、客观性,一般需组织专门的测试团队。针对软件中某一功能增加,或者删除、更改,进行测试。

4.4 Acceptance testing

Acceptance testing又可称之验收测试,其主要是以用户为主体,验证所开发软件正常运行功能的一项作业。一般Acceptance testing还需配合α测试进行。A测试主要是依据开发环境,针对特定软件功能,以错误信息反馈为目的的测试方式。

5 结束语

软件测试是极为重要的环节,其重要性是不容忽视的,软件测试工作的效率会对软件产品的质量和用户体验产生直接的影响。随着软件开发的功能越来越多,规模也在不断扩大,也会更加的复杂,使得软件测试的难度仍在不断增加。所以,要不断更新以及完善软件测试技术,改进和创新测试策略,才能提升测试工作效率,才能够不断提升软件产品的质量,以满足用户的需求。

猜你喜欢

软件测试漏洞环节
漏洞
必要的环节要写清
基于OBE的软件测试课程教学改革探索
在农民需求迫切的环节上『深耕』
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
三明:“两票制”堵住加价漏洞
软件测试工程化模型及应用研究
高铁急救应补齐三漏洞
现代学徒制管理模式及其顶岗实习环节