基于软件测试的策略与测试方法应用分析

时间:2022-10-21 03:39:12

基于软件测试的策略与测试方法应用分析

摘要:现如今,依靠计算机发展起来的技术越来越多,最为典型的一个便是软件工程。而在软件开发过程中,软件测试则是软件开发的核心,只有不断完善软件测试效率,对软件的缺陷进行弥补,才能使开发的软件慢慢完善。本文叙述了软件测试的概念,并阐述了软件测试的策略以及测试方法,以供参考!

关键词:软件测试;测试方法;应用分析;策略

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)02-0064-02

Abstract:Nowadays,the developed technologies relying on computer become more and more,the most popular one is the software engineering.In the software development process, software testing is the core of the software development. Only through continueing to improve the efficiency of the software to make up for sofeware deficiencies,the debeloping software can be slowly improved. This paper tells the concept of software tests, and describes the strategies and test methods of software testing, for reference!

Key words: software testing; test method; application analysis; strategy

目前,随着科学技术的不断进步,软件规模不断加大,软件设计复杂程度不断加深,软件产品的质量和可靠性成为我们关注的一个问题,应用本身对系统运行的可靠性要求越来越高。软件测试行业目前处于上升阶段,所以在软件投入运行前,必须对软件按照需求严格进行测试,来确保软件的质量,并提高软件的可靠性。

1 软件测试的概念

软件测试:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试是提高整个软件开发过程的保证,软件测试人员的主要工作就是找到软件中存在的问题并及时提交修复。

2 软件测试策略

2.1 静态测试与动态测试

软件测试按使用的测试技术可以分为静态测试和动态测试2个阶段。

其中,静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。静态测试包括代码检查、静态结构分析、代码质量度量等。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。主动发现违背程序编写标准的部分,程序中不安全、不明确的部分,找出程序中不可移植部分、违背程序编程风格的问题,借以发现编写的程序的不足之处,减少错误出现的概率。

动态测试就是通过运行软件来检验软件运行结果的正确性。动态方法是指通过运行被测程序,检查运行结果与预期结果是否有差异,并分析运行效率和健壮性等性能,达到测试的目的。

2.2 积极测试和消极测试

积极测试是正向测试,是以检测软件是否满足需求分析为目的,在于检测软件系统是否符合实际运行结果。消极测试是反向测试,是要中断软件执行,测试软件是否在有效范围内运行。

2.3 黑盒测试与白盒测试

基于是否关注软件架构与算法的测试又可划分为黑盒测试以及白盒测试。

黑盒测试也称功能测试,它是根据程序需求和产品规格说明来发现程序错误。黑盒测试只考虑程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

白盒测试又称结构测试或基于代码的测试。依据软件设计说明书进行测试、对程序内部细节的严密检验、针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试。通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试;在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。其对程序细节的严密的检验有很大的依赖,对于软件的逻辑路径进行测试是针对特定条件和循环集设计测试用例的。其实际情况是否和预期的状态相一致是在程序的不同点检验程序的状态来进行判定的。

不管是黑盒测试或是白盒测试,因其可能的测试输入数据数目常达到天文数字,所以决定了无法将所有可能的输入数据都拿来进行穷举测试。期限、费用和人力以及时机等条件限制了任何的软件项目,尽管是需要针对所有可能的数据进行测试而将隐藏的错误充分揭露出来,但事实上这也是不现实的。

3 测试方法应用

3.1 单元测试

综合电子信息系统软件单元测试的对象是新研或改进的软件单元,由于软件单元的规模不大,结构简单,且源程序可见,应先在对软件单元源程序进行分析时采用静态测试方法如静态分析和代码审查等方法;按照单元的程序控制流程图设计满足覆盖率要求的逻辑测试用例。也可采用灰盒测试方法,在单元进行功能测试的同时统计覆盖信息,功能测试结束后针对未覆盖的单元路径设计专门的逻辑测试用例以满足覆盖率要求。不过,软件单元中的某些功能可能无法通过外部驱动触发,因此无法采用黑盒测试方法进行动态验证,达到100%的逻辑覆盖要求。因此,需采取代码走查方法进行验证。

3.2 集成测试

集成测试是单元测试的下一个阶段,在组装的过程当中,检查程序结构组装的正确性时应明确:穿越模块接口的数据是不是会在将各个模块连接时丢失,不利的影响会不会在某个模块与另外的某一模块的功能中产生,预期功能的要求能否在单元各个子功能组合后实现,一系列问题会不会出现在对全局数据结构的使用当中:会不会放大单个模块误差的累积:数据库会不会因单个模块的错误而导致自身的错误。

将模块组装成系统的方式通常被分为:

3.2.1一次性集成测试方式

这个测试方式也叫做整体拼装,首先分别测试每个模块,再把所有模块按设计要求放在一起结合成为所要实现的程序。涉及模块间接口以及全局数据结构等方面的问题是程序中没办法避免的,一次试运行成功的可能性并不是很大。

3.2.2增殖式集成测试方式

增殖式集成方式又称为递增集成法,将没有测试的模块和已测试的模块结合成程序包,然后在集成的过程中边连接边测试,以发现问题,最后增殖集成为软件要求的较大系统。

3.2.3混合增殖式测试

混合增殖式测试就是集合自顶向下集成测试方法和自底向上集成测试方法,这两种方法各有优缺点,一般来讲,一种方法的优点是另一种方法的缺点,因此产生了混合渐增式集成测试方法。所以通常会将以上两种方式结合起来进行组装及测试。

3.3系统测试

综合电子信息系统软件系统测试的对象是完整的、软硬件集成的综合电子信息系统或功能子系统。系统设计时应考虑多种系统特性,如安全性、恢复性以及互操作性等,进行相应类型的软件测试。系统测试时各测试类型选取的测试方法与配置项测试相同。系统级黑盒测试过程中,为了验证综合电子信息系统的互连、互通和互操作能力,需根据系统的实际部署情况连接上/下级以及友邻系统等,在配试设备的数量和专业性要求上均远高于配置项测试,通常需搭建复杂的仿真测试环境或在联试和系统实装环境下进行验证。

3.4 验收测试

验收测试是部署软件之前的最后一个测试操作,在产品之前所进行的软件测试活动。通过了验收测试,就可以软件产品了。验收测试应检查软件能否按合同要求进行工作,即是否满足软件需求说明书中的确认标准。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

4 结束语

由于综合电子信息系统软件功能,软件开发环境和运行平台,软件内部以及外部的信息关系繁杂,综合电子信息系统进行软件测试难度高且投入资源大。综合电子信息系统软件开发具有周期性,需分阶段进行。系统软件测试作为一项复杂的系统工程,应随软件的开发过程逐步推进。本文归纳了综合电子信息系统软件全研制周期的测试策略,确定了综合电子信息系统软件测试重点选取原则和各级别测试重点,并对各级别测试中各类型应选取方法进行了分析。本文以某指挥信息系统软件为例,阐述了各级别测试过程和方法的应用,分析了测试过程的充分性和有效性以及测试效率。

参考文献:

[1] 朱东, 涂国防. 多站点软件开发项目中配置管理实施的研究[J]. 计算机工程, 2005(17): 95-97.

[2] 李娟, 李明树, 武占春,等. 基于SPEM 的CMM 软件过程元模型[J]. 软件学报, 2005(8): 1366-1377.

[3] 魏瑛. 网络时代企业如何选择人力资源管理软件[J]. 科技情报开发与经济, 2003(8): 256-257.

[4] 李建强, 范玉顺. 一种工作流模型的性能分析方法[J]. 计算机学报,2003(5): 513-523.

[5] 于园园. 基于软件测试的策略与测试方法应用分析[J]. 江苏科技信息, 2015(01).

上一篇:浅论密码学在网络信息安全中的应用 下一篇:基于web技术支持下的移动协作学习应用研究