APP下载

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

2018-02-21

信息记录材料 2018年11期
关键词:测试阶段测试软件单元测试

韩 韬

(山西职业技术学院 山西 太原 030006)

1 软件测试概述

对于软件测试的定义有两种说法,一种认为软件测试就是通过测试手段对某个系统进行运行测定,判断该系统是否可以满足规定的需求,或者发现预期结果和实际结果之间的差别。另一种认为软件测试是为了发现程序错误而执行程序的过程。总的来说,软件测试就是选择合适的测试手段,然后对某一个软件进行分析检验,发现实际结果和预期结果之间的差别,并评价该软件的特性。

2 软件测试方法介绍

软件测试方法众多,比较常用到的测试方法有等价类划分、场景法,偶尔会使用到的测试方法有边界值和判定表,还有包括不经常使用到的正交排列法和测试大纲法。其中等价类划分、边界值分析、判定表等属于黑盒测试方法;只对功能是否可以满足规定要求进行检查,主要用于软件的确认测试阶段。白盒测试也叫做结构测试或逻辑驱动测试,是基于覆盖的全部代码和路径、条件的测试,通过测试检测产品内部性能,检验程序中的路径是否可以按照要求完成工作,但是并不对功能进行测试,主要用于软件的验证。

3 软件测试的策略分析

软件测试策略和软件测试方法不同,软件测试方法指的是一种具体的对软件进行检验的手段,而测试策略则是针对不同的阶段应该选择怎样的测试方法,或者应该如何合理配置不同测试方法而制定的方案。在掌握了不同测试方法之后应该如何应用到具体的测试项目中就需要制定相关策略,比如在单元测试中应该选择技术评审法,在集成阶段应该选择三明治法,在系统测试阶段应该选择场景法,在针对功能进行测试的时候应选择合适的黑盒测试方法制定相应的测试用例,在开展单元测试和集成测试时则应该选用白盒测试方法制定相应测试用例,测试策略的任务或者功能是指导测试工作顺利完成。

3.1 软件测试分类

上文已经谈到过,根据软件测试方法来分,可以分成黑盒测试和白盒测试。如果静态测试指的是不实际运行被测试软件,而只是对测试软件的程序代码、界面或者文档等进行检查,然后发现其中错误的过程。主要包括代码测试、界面测试和文档测试。代码测试主要是通过对代码的检查判断其是否满足规定标准和要求,界面测试则是对被测试软件的实际界面和需求中对于界面的要求进行比较,文档测试主要是对用户手册和需求说明等进行检查,检验这些是否满足用户的实际需求。动态测试指的是实际运行被测试软件,通过测试数据的输入来判断实际输出结果和预期输出结果之间的差别。此外,如果根据测试阶段来划分,软件测试又可以分成单元测试、集成测试、确认测试和系统测试几种。

3.2 软件测试策略

软件测试策略是指在掌握了具体的不同种类的测试方法之后,针对什么时间和什么任务应该采取哪种测试方法,或者进行怎样的组合而制定的测试方案。本文主要是针对不同测试阶段对软件测试策略进行简要分析。

3.2.1 单元测试阶段 单元测试是指对软件的基本组成单位,如某个模块、某个过程等进行测试,属于动态测试类别,也是动态测试中最为基础和关键的部分。单元测试的目的是为了检测基本组成单位是否正确合理,通过对软件内部程序设计和编码的认识,借助开发测试驱动模块或桩模块来进行单元测试,一般由软件程序员执行完成。在单元测试阶段主要采用的测试方法应该是白盒测试方法,先静态检查代码,然后动态运行代码,检查被测试软件实际的运行结果。

3.2.2 集成测试阶段 集成测试指的是在软件系统所开展的测试过程,目的是为了检查软件单位间各个接口是否正确,所组成系统的各个部分是否合理。集成测试阶段的策略主要有自顶向下测试和自底向上测试两种,具体该使用何种策略需要根据实际测试项目的情况制定测试计划,然后在将单元模块或软件单元进行组合集合成为系统的过程中,同时又要对该所形成的系统进行运行检验,判断所形成的系统是否满足要求,其中各个部分是否正确合理。

3.2.3 确认测试阶段 在单元测试阶段,往往只能确保软件局部的正确性,对于各个单元模块之间接口的问题无法及时解决。而集成测试则可以使相互独立的不同模块连接起来,形成完整的程序。只有满足客户所需的软件才是合格的,主要测试步骤包括:首先在测试之前先要确认测试的准则,也就是达到什么样的要求才算是合格的,在测试中应该注意哪些问题。此外,要对所开发的软件的配置进行审核评价,检验其是否满足合格性标准。

3.2.4 系统测试阶段 系统测试是一种综合性的测试,是对软件系统中的所有组成部分再次进行检验,保证之前所有的测试都满足测试要求,系统中的每一个部分都完成了合理的集成,不管是在功能上、配置上还是结构上都是满足测试标准的。

4 结语

综上所述,现阶段不管是国外软件测试的发展,还是国内发展现状,软件测试工作将进一步向前推进。在未来,软件测试的重点将倾向于测试需求上的精确性和完整性,软测测试人员和程序开发人员将形成相互合作的关系。随着信息技术和软件技术的快速发展,软件测试方法和测试策略将得到更加广泛的应用和发展,也将被越来越多的企业所重视。

猜你喜欢

测试阶段测试软件单元测试
网络自适应测试软件运行方法设计
浅谈计算机软件工程技术中的逻辑运用
自动化检测EPU10A板卡系统设计与实现
Android应用软件测试研究
抽样技术在政府审计中的应用研究――基于细节测试阶段
关于改进英语专业高级英语教学过程的分析
一年级上册第五单元测试
远程开放教育学生自主学习能力评价的研究
一款重型包装抗压系统控制软件的设计与开发
一年级上册一、二单元测试