APP下载

软件测试技术的分析

2018-02-01淡海英

时代农机 2018年9期
关键词:白盒黑盒测试用例

淡海英

(陕西国防工业职业技术学院,陕西 西安 710300)

随着社会信息化的发展,软件的使用涉及到各行各业,软件的身影几乎无处不在。软件的普遍使用使得人们对软件的质量提出了越来越高的要求。那么软件测试作为软件质量保证的一种手段应用而生。由于软件产品和其他产品一样也具有生命周期:诞生、成长、成熟、衰亡等过程。软件测试可以贯穿于软件开发的全过程,从需求分析到概要设计,再到详细设计,再到编码,每一个阶段都可随时跟进,尽可能多地发现软件中存在的缺陷,以提高软件的质量。

1 软件测试的方法

软件测试的分类方法很多,可从不从方面进行分类。从运行软件的角度分为静态测试(或静态分析)方法和动态测试方法。静态测试也叫静态白盒测试,它不实际运行程序。而是通过代码的走查、代码的审查或者代码的阅读分析来发现缺陷或错误。功能测试通过分析软件的功能规约来设计测试用例,并参考需求说明书是否已经全部实现了软件的各项功能。程序和需求结合的测试是目前最常用的方法,它综合考虑软件的需求和实现来设计测试用例,以判断测试的充分性。界面测试是面向对象技术常用的测试方法它仅仅依靠软件与其运行环境之间的界面设计测试用例,并判断其功能是否已经全部实现。从测试技术的角度划分,软件测试方法分为黑盒测试和白盒测试方法。黑盒测试是在已知软件产品技术的角度划分,软件测试方法分为黑盒测试和白盒测试方法。黑盒测试是在已知软件产品的功能设计的情况下,对其进行测试,以确认其是否实现了软件产品的功能要求。黑盒测试将被测对象看做一个黑匣子,不考虑程序的内部结构和具体实现,仅仅依据软件需求说明书,进行相应的数据输入,检查是否满足需求说明书中规定的功能要求。黑盒测试的具体任务首先是判定有无不正确的功能,有无遗漏的功能,然后在接口上判断是否能够正确地接收输入数据并产生正确的输出结果,其次是判断有无外部信息访问的错误或者数据结构的错误,最后判断性能上是否能够满足需求,是否有程序初始化和终止方面的错误。白盒测试是基于代码的测试,通过程序代码或者通过开发工具找出软件的缺陷。白盒测试的主要目的是检测软件程序内部结构,程序书写是否规范、是否按照项目需求规格说明正常进行。白盒测试应先尽量用工具进行静态结构分析,采取先静态后动态的组合方式,在不同的测试阶段,测试重点有所不同,在单元测试阶段,以代码的检查、逻辑覆盖为主,在集成测试阶段,增加静态分析和静态质量度量,在系统测试阶段,应根据黑盒测试的结果,采取相应的白盒测试。

2 软件测试的流程

软件测试的流程是指导软件测试工作有序进行的重要保障,软件测试流程主要有五步:

第一,先熟悉《需求说明书》,这是软件测试工作的依据,如同法律条文一样,法官依据此对嫌疑人进行量刑判罪。如果开发的系统实现了说明书中没有的功能,或者开发的系统中没有实现需求说明书中规定的功能,这些均属于缺陷。第二,由相关人员编写《测试计划》,以规定测试的目的、范围、人员、进度、风险等问题。第三,由测试人员进行《测试用例》的编写。针对软件或者系统的每一个模块进行用例的详细设计,尽可能多地对系统进行测试,当然,还需明确一点,由于时间和技术的因素,测试人员不可能穷尽所有的测试用例,只能编写大部分测试用例,覆盖所有的模块。第四,按照单元测试、集成测试、确认测试、系统测试、验收测试步骤进行软件测试,其中单元测试是对软件系统各模块的测试,集成测试是针对模块与模块之间的测试,确认测试是根据软件的需求说明书对比软件的功能是否全部实现,系统测试是将软件系统放置于不同的软硬件环境下进行测试,验收测试是将系统交给用户来进行测试发现缺陷的过程。第五,执行完测试后,汇总系统中的缺陷,总结测试工作,从设计多少条用例、发现多少个缺陷、风险如何规避、软件系统的评价、团队的得失等方面进行。

3 结语

软件开发完成了软件系统从无到有的设计与产生,软件测试完成了软件缺陷的查找和搜寻,保证了软件的质量提升。二者相辅相成,缺一不可。作为大型的软件公司,应该将软件开发和软件测试工作并重,给予软件测试工作极大的支持和重视,作为测试人员要熟悉软件测试的技术、方法和工作流程,在实际的测试工作中不断积累测试经验,让测试工作为软件质量保驾护航。

猜你喜欢

白盒黑盒测试用例
一种基于局部平均有限差分的黑盒对抗攻击方法
面向未来网络的白盒交换机体系综述
DWB-AES:基于AES 的动态白盒实现方法
基于SmartUnit的安全通信系统单元测试用例自动生成
破解室内覆盖难题 中国电信首秀5G白盒小基站
网络“黑”“白”之争
基于需求模型的航天软件测试用例生成方法
基于依赖结构的测试用例优先级技术
软件回归测试用例选取方法研究