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

2018-12-05 02:09孙少英
移动信息 2018年3期
关键词:测试人员测试用例软件测试

孙少英



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

孙少英

广东省电信规划设计院有限公司,广东 广州 510630

软件测试是软件开发过程中对软件的功能进行测试的环节,主要验证软件的功能是否完整,以及时发现软件程序中的问题和缺陷,及时修正,确保软件功能完整。因此,对软件测试的策略和方法进行了分析与探讨。

软件测试;策略;方法

引言

软件测试是检测软件功能、软件结构的重要过程,在软件开发过程中是十分重要的环节。对软件开发而言,必须积极掌握正确的软件测试方法,结合软件开发要求对软件进行测试,确保软件在投入使用之前做好检测,软件的基本功能能够实现。在测试的过程中必须确定好具体的检测方案,根据不同的软件设计不同的测试用例,使软件测试更顺利,形成更真实、更有价值的软件测试文档和评价结果,便于技术人员对软件的功能进行修复和完善。在软件测试过程中除了要提高检测水平之外,还要不断提高检测效率。人工检测和机械检测技术可以交叉使用,及时检测出软件中存在的问题。软件测试是一个相对独立的过程,在实际工作中要按照相应的流程开展测试工作,才能不断提高测试效率。

1 软件测试的重要性

第一,软件测试是为了了解软件的基本功能,对软件存在的缺陷和问题进行解决的过程。软件测试是一项系统性功能,在检测之前必须确定软件的设计规格以及软件的编码内容等,然后开展有针对性的测试。在软件测试过程中由于设计人员的失误,可能导致软件程序中存在一些Bug,这些Bug对软件的功能有很大的影响,在软件投入使用之前加强对软件的测试,可以有效地发现这些Bug,然后解除Bug,最终不断提高软件的性能[1]。

第二,开发出功能更强大的软件。软件开发的目的是给人们的生活和工作提供便捷,所以在软件开发领域要本着开发实用性更强、功能更强大的软件为导向进行软件开发与设计,通过软件测试不断提升软件设计水平,从而生产更实用、功能更强的软件产品。

2 软件测试的策略

在软件测试过程中,软件的测试策略是根据软件形式来确定的,主要有两种类型。

2.1 传统型软件测试策略

当前软件行业的快速发展,使软件测试也变得越来越重要。传统的软件测试一般是在软件开发的最后阶段进行,等到软件开发快要结束的时候开始测试,此时软件的基本构架已形成,软件的内容也基本编写完成。传统的软件测试方法存在一定的问题,因为软件的开发周期较长,在开发的过程中容易出现较多错误,而且积累的缺陷也比较多,所以在软件开发的最后阶段进行统一测试,给软件测试带来的压力较大,甚至还可能会导致软件测试过程被拖延,影响整个软件项目投入使用。

2.2 现代型软件测试策略

为了适应软件开发特性的变化,软件测试策略也发生了很大的改变,从传统型软件测试变成现代型软件测试。现代型软件测试的理念与传统型软件测试相比较而言,改变了很多,现代型软件测试的周期变得更短,而且在测试的过程中有多线程任务,在测试的时候可以对多个不同的软件进行同步测试,提高测试的效率。与此同时,在现代型软件开发领域中,对软件进行测试是从软件开发开始之际就存在的,一直伴随软件开发过程,直到软件开发结束。由于软件测试与软件的开发是同步的,因此可以实现实时测试,及时发现软件的内容错误、结构错误等,并且解决各种问题,提高软件的正确性。在测试软件时,测试的结果也要随时更新。一般是根据软件开发的进度来确定测试的方案,选取软件编码中的一部分内容作为测试的对象进行检测,再将检测得到的结果传给技术人员,让技术人员可以根据测试的结果对软件内容进行更改。根据这种测试流程,可以使软件测试过程更加规范、有序,也能不断提高软件测试效率[2]。

3 软件测试的方法

3.1 机器测试

3.1.1 白盒测试与黑盒测试

白盒测试与黑盒测试是软件测试过程中最常见的两种方式。这两者之间最大的区别就在于测试过程的重点不同。前者更注重对软件的结构进行测试,而后者更注重对软件的功能进行测试。通过白盒测试,可以让技术人员更好地了解编程人员的思想,通过对程序内容的详细分析,提高对程序的检查准确性。白盒测试是一种比较透明的测试方式。测试人员首先要与软件设计人员和编程人员进行沟通,对软件的设计思路、软件的具体功能等进行了解,从而进行相应测试。

黑盒测试是在对软件内容、结构等都不了解的情况下进行测试的过程。测试人员会根据软件开发人员给出的软件说明书进行测试,因此也确定了软件测试是一种不确定的测试方式[3]。但是在这种不确定的背景下可以更好地实现测试,对软件的功能进行了解,让测试人员在测试过程中保持客观的态度,对软件的功能、结构等进行测试。另外,黑盒测试也可以验证软件的不同功能之间的交叉程度,从而使软件的测试结果更准确。在黑盒测试中,测试用例的选取方式对测试结果的影响很大,必须选择合适的测试用例,以得到准确的结果,促进软件的改进和功能的完善。

3.1.2 静态测试与动态测试

静态测试在软件测试过程中十分常见。在测试的过程中软件并没有运行,而处于静止的状态。与静态测试相对应的测试方式是动态测试。在动态测试中,软件处于运行的状态,因此也能更好地看出软件运行过程中存在的问题,然后解决软件应用过程中的实际问题,提高软件的性能。

3.1.3 积极测试与消极测试

积极测试与消极测试都是在软件运行的状态下使用测试用例对软件的功能进行测试的方法,不同之处在于软件测试过程中使用的测试用例。

积极测试指的是输入的测试用例是有效值,可以确保软件正常运行,验证软件的基本性能。这种测试是比较常规的测试。如果软件可以正常运行,则说明软件功能没有问题;如果不能运行,则说明软件功能存在问题。消极测试则是在软件运行的时候输入一个无效值,对软件的功能进行验证的过程。如果软件能够发现无效值,并且给出相关的提示或者报错,则说明软件的功能比较完善;但如果软件不能对无效值进行分辨,不能给出相应的提示,则说明软件处于异常状态,其功能还有待完善。

在消极测试和积极测试过程中,都需要及时分析软件的运行状态、软件的内容,及时找到错误的原因,并且修正错误,测试软件的可靠性。通常来讲,在测试软件时,消极测试更常用,所占的比重更高。

3.2 人工测试

3.2.1 复查

复查在软件测试过程中比较常见。复查过程中的测试人员是程序设计人员。设计人员可以根据自己的设计过程,确定相应的测试用例,对软件的源代码、软件的功能以及软件的结构进行测试,然后将测试得到的结果记录下来。复查的主要目的是为了验证软件中的变量、标号、子程序等内容是否正确。

3.2.2 走查

走查指的是在阅读了软件的文档和相关代码内容之后,输入测试数据对软件进行测试的过程。测试人员必须随时监控软件的运行状态以及具体的执行状况,根据软件的逻辑程序进行测试。如果测试过程中出现错误,必须及时终止软件的运行状态,对出现错误的地方进行标注,找到错误的原因,然后对各种错误进行修正。在对软件进行走查的时候,主要针对的是软件的模块特征、接口、输入及输出等部分。

3.2.3 会审

会审在软件测试过程中也比较常见。在会审的过程中,测试人员并不了解软件程序的结构、功能,只是了解软件的文档和说明书。在这些资料的基础上可以提出软件可能会出现的错误与问题,然后进行会审。在软件测试的会审过程中,需要软件开发过程中的所有人员都参与其中,例如软件程序的设计人员、编程人员、检测人员等,由程序设计人员对程序设计的思路以及具体的设计方法进行讲解,然后编程人员对软件代码的具体编写情况、编写顺序进行讲解,从而对软件进行逐一检查。会审对于软件功能测试有很大作用,可以有效地发现各种问题。

3.2.4 验收

验收在软件开发过程中是十分重要的步骤,是把关的环节。经过验收之后的软件就要投入使用,所以在验收的过程中必须做好验收管理,对软件的功能进行全面测试,确保整个软件没有错误。在验收测试的过程中必须严格按照软件测试的内容和标准,检查软件的功能、结构等是否完整,确保软件已经准备就绪。

4 结语

综上所述,软件是计算机系统运行的基础,也是实现计算机各项功能的载体。在软件开发设计过程中,必须加强对软件测试的重视,了解软件测试的方法和目的,根据不同的软件项目,采取不同的软件测试方法,提高软件测试水平,确保软件的功能完整、架构完善,能够真正投入使用。

[1]张焕琪. 软件测试策略和测试方法的应用[J]. 电子商务,2011(2):55-56.

[2]黄爱明. 基于软件测试的策略与测试方法应用分析[J]. 电脑知识与技术,2015(2):64-65.

[3]赵星光. 软件测试的策略与测试方法应用探析[J]. 计算机光盘软件与应用,2011(23):144.

Application of Software Test Strategy and Test Method

Sun Shaoying

Guangdong Planning and Designing Institute of Telecommunications Co., Ltd., Guangdong Guangzhou 510630

Software testing is an important link in the process of software development. It can verify the integrity of the software in time and solve the defects and problems in the software system. The paper analyzes and discusses the strategies and methods of software testing.

software testing; strategy; method

TP311.52

A

猜你喜欢
测试人员测试用例软件测试
软件测试方向人才培养“1+X”融合研究
基于相似性的CITCP强化学习奖励策略①
测试用例自动生成技术综述
论职务犯罪侦查中测谎技术的应用与完善*
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
浅析软件测试中的心理学应用
关于 Web 应用系统的软件测试的研究
绿植防辐射只是个传说,是真的吗?
测试工时受限的测试策略研究