对软件测试策略和方法的研究

2016-07-04 03:53杨喆
中国新通信 2016年10期
关键词:软件开发

杨喆

【摘要】 软件测试是软件应用开发过程中需要执行的特殊流程,也是确保软件运行质量的关键环节。本文就软件开发期间需要遵循的软件测试策略进行探讨,并对测试方法的特点及应用情况予以研究。

【关键词】 软件开发 测试策略与方法 因果图

通过软件测试能够找出软件中隐藏的缺陷及错误,为用户提供具有高可信度的软件程序。作为贯穿软件开发整个过程的活动,软件测试与规范化设计具有密切联系。怎样通过较少的案例实现更大的测试覆盖,最大限度地发现瑕疵是当前研究中的重点。

一、软件测试的基本理论概述

软件测试的目的就是为了发现错误而执行程序的过程,其中最为重要的就是软件测试策略,其集中反映了软件测试的指导方法和原则。在进行测试之前,对软件开发过程及软件内容进行分析,制定科学合理的测试策略是首要面对的问题。目前,软件测试策略可分为传统策略和现代策略。前者通常是指将软件测试放置在开发最后阶段的测试,相对来说缺乏全面合理的效果;而现在软件测试策略则贯穿了软件开发的整个过程,能够较好的控制软件系统质量,因此其应用范围更广。

二、 软件测试的策略分析

1、黑盒测试。在实际测试过程中,可能出现的情况有无数种。除了需要对全部合法的输入进行测试之外,还需要对非法输入进行测试。因此,要确保软件质量,进行量化黑盒测试是必不可少的环节。常用的黑盒测试设计方法有等价划分法、因果图法、边界值分析法、判定表驱动法、错误推测法、正交试验设计法等。

2、白盒测试。白盒测试只是根据软件程序结构的逻辑设计方法进行测试,通过计算机测试,了解内部操作是否严格按照设计规范进行,同时还能够检查软件内部成分。了解其运行状态是否正常,在测试中尽量将覆盖率提高。覆盖标准主要分为以下几种:语句覆盖、条件覆盖、判定覆盖、判定/条件覆盖、路径覆盖以及条件组合覆盖。把主要由程序控制流分析、逻辑覆盖分析、数据流分析与路径分析。

3、功能测试。功能测试指的是对软件产品是否满足设计要求进行测试,需要严格根据软件特征及操作说明的特质进行可操作性测试。在一般情况下,以软件的界面结构作为出发点,根据实际需求测试用例编写。对预期结果和实际结果之间的数据进行对比和测评,提出针对性的意见和建议。

4、压力测试。压力测试是软件工程中对系统持续性施加压力的测试方法,通过确定系统突破口或者无法接收的性能点,从而得到系统的最大性能。压力测试的主要方法有情景测试和敏感性测试。

5、性能测试。性能测试是软件测试中非常重要的环节,更是保障软件质量的关键点。中国软件测评中心提出软件性能测试主要包含3个部分,分别是客户端、服务器端与网络。因此软件性能测试他都是针对这3个方面的测试工作,通常采用QTPFANGFA和LOADRUNNER工具进行测试。

6、安全性测试。安全性测试结果直接关系到软件系统的安全运行,主要是指对软件系统的内部保护机制是否能够确保不受外部非法入侵的验证工作。在这一过程中,测试者担当尝试非法入侵的角色,需要采用相应的技术与策略快速将软件权限中存在的对安全构成威胁的问题找出来。

三、软件测试方法的应用

1、单元测试。单元测试的目标集中于最小单位模块,主要通过测试发现出该模块中定义功能与实际功能不符合的情况。在单元测试中通常结合白盒测试法和黑盒测试法。由于单位模块较小,逻辑结构简单,通过阅读说明书及相关程序后采用白盒法能够达到彻底测试的效果;随后通过黑盒法响应鉴别合理及不合理的输入。

2、集成测试。集成测试所指的是将单位模块根据设计要求组装起来后共同进行测试,,主要目的在于发现接口问题。例如数据在窗口接口之后是否出现丢失,以及模块与模块之间的有害影响等。集成测试在实际工作中起到承上启下的作用,大多也采用白盒法结合黑盒法的方式,既需要验证设计的合理性、同时还要求工程的可行性。

3、系统测试。系统测试通常采用黑盒法进行,测试的目的在于了解系统功能是否符合软件需求。测试内容主要包含安全性、系统压力、用户界面、软件功能、软件可靠性以及安装和反安装测试的。在这一期间需要注意的是,应当由独立测试小组完成该项工作,从而保证结果的客观性。

4、验收测试。验收测试的主题是使用用户,其目的在于向用户证明系统能够如预期一样的工作。该项工作的主要内容是对软件的有效性进行测试,基于用户角度进行Alpha测试和Beta测试。只要完成上述所有的软件测试工作确保软件基本满足开发要求,得到的软件产品才能交付于用户使用。

结语:编程与测试是软件开发过程中缺一不可的技术活动,其中软件测试对于确保软件运行质量具有重要意义。随着软件开发规模的增加,其复杂程度也逐渐上升,僵硬的软件测试技术也将不断完善和发展,其应用在未来也会更加科学合理。

参 考 文 献

[1] 包晓安,姚澜,张娜等.基于受控Markov链的软件自适应测试策略[J].计算机研究与发展,2012,49(6):1332-1338.

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

猜你喜欢
软件开发
基于安卓平台的移动式教学模式研究
软件开发中JAVA编程语言的应用
信息安全环境下的计算机软件开发研究
核电厂定期试验管理软件开发
FPGA软件开发过程中编码规范的作用