描述了软件测试的基本概念及其重要性和必要性,阐述了软件测试的静态测试、动态测试等测试方法,以及软件测试的一般过程和步骤;并且探讨了软件测试的发展趋势及其新的研究动向,最后总结了软件测试中应该注意的一些实际问题。
技术与市场第 1 ̄ g期2 1年 8 2 01
掳醵凌
软件测试技术浅析张云岗,舂茂刘(南工业职业技术学院,南南阳河河摘
430) 709
要:述了软件测试的基本概念及其重要性和必要性,描阐述了软件测试的静态测试、态测试等测试方法,-及软件动 v A
测试的一般过程和步骤:且探讨了软件测试的发展趋势及其新的研究动向,并最后总结了软件测试中应该注意的一些实际问题。
关键词:件测试;盒测试;盒测试;成测试;归测试软黑白集回
di 03 66i n10— 5 42 1. .1 o: . 9 .s.06 8 5 .0 0 O 3 1 9 s 120引言
构和内部特性,仅依据软件的需求规格说明书,在软件界面上检查程序的功能是否符合要求,因此黑盒测试又叫做功能测试或数据驱动测试。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。
随着社会的不断进步和计算机科学技术的飞速发展,计算机在人类生活中的作用越来越重要了,而软件作为计算机的灵魂,起着举足轻重的作用。软件的失效有可能造成巨大的经济
损失,甚至危及人的生命财产安全。由于软件开发的各个阶段都需要人的参与,因为人的工作和通信都不可能完美无缺,出现错误是在所难免的。软件测试则能够发现软件中隐藏的许 而
白盒、黑盒测试不能相互替代,而应互为补充,试的不在测同阶段为发现不同类型的错误而灵活选用。3软件测试过程
多错误和缺陷,因此软件测试是保证软件质量和可靠性的重要手段。1软件测试
软件测试过程一般按五个步骤进行,即单元测试、集成测试、系统测试、验收测试和回归测试,图 l示:如所
软件测试是为了发现错误而执行程序的过程。或者说, 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例 f输入数据及其预期的输出即模块\测系统用尸
综合信
结果),并利用这些测试用例去运行程序,以发现错误的过程。
竺
冗 -
兀
需
模块\测试
素0~
求^~
息~
系统
验
收测试
同归测试町堂付的软件
另外,需要指出的是软件测试是提高软件产品质量的必要条件而非充分条件,软件测试是提高产品质量最直接、最快捷的手段,但绝不是一个根本手段。2软件测试的方法模块\测试已组装的软件
测试
使}}】的软件
软件测试的方法原则上可以分为两大类,静态测试和动即态测试。静态测试是对被测软件进行特性分析的方法的总称,31 .单元测试
图1软件测试过程图
主要特点是:不利用计算机运行被测试的软件,而针对需求说明、设计文件等文档和源程序进行人工检查和静态分析,以保证软件质量。静态测试能够有效地发现软件中3%到7%的逻 0 0辑设计错误和编码错误。动态测试是在计算机上实际运行被测
单元测试是指依据详细的设计描述,对每一个功能相对独立的程序模块进行测试,检查各个单元是否正确地实现规定的
功能。单元测试一般在完成某一程序模块的编程后由程序员立即进行,要对程序内部结构进行检验,重发现和解决代码主着
试的软件,通过选择适当的测试用例,判定执行结果是否符合要求,而测试软件的正确性、从可靠性和有效性。态测试的两种 动主要方法是白盒测试和黑盒测试。 白盒测试是对软件内部工作过程的细致检查,允许测试 它
编写过程中的差错,多采用白盒测试法。32集成测试 .
集成测试,叫组装测试或联合测试。是指一个应用系统也的各个部件的联合测试,就是在将单元测试无误的程序模块 也
人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,程序所有逻辑路径进行测试。通过在不同测试点检查程 对
组装成软件系统的过程中,对程序模块间的接口和通讯方面的正确性的检查,以决定他们能否在一起共同工作并没有冲突。 其中的部件可以是代码块、独立的应用程序、网络上的客户端或服务器端程序。种类型的测试尤其与客户服务器和分布式 这系统有关。成测试一般在完成了软件的所有或大部分编码工 集作后,由不同开发人员共同完成,在单元测试完成之后进行 是的。
序的状态,确定实际的状态是否与预期的状态一样,因
此,白盒测试又称为结构测试或逻辑驱动测试。白盒测试一般选用可以有效揭露隐藏错误的路径进行测试,以如何设计软件测试用所例是这种方法的关键。 黑盒测试则着眼于软件的外部结构,考虑程序的逻辑结 不
21