浅析软件测试技术的一般方法

时间:2022-11-25 10:19:06 作者:壹号 字数:11427字

软件测试技术浅析

摘要:软件质量是软件的生命,保证软件质量的关键一步是软件测试。本文描述了软件测试的基本概念及其重要性和必要性,阐述了软件测试的静态测试、动态测试等测试方法,以及软件测试的一般过程和步骤;并且探讨了软件测试的发展趋势及其新的研究动向,最后总结了软件测试中应该注意的一些实际问题。

关键词:软件测试;黑盒测试;白盒测试;集成测试;回归测试

0 引言

随着社会的不断进步和计算机科学技术的飞速发展,计算机在人类生活中的作用越来越重要了,而软件作为计算机的灵魂,起着举足轻重的作用。软件的失效有可能造成巨大的经济损失,甚至危及人的生命财产安全。由于软件开发的各个阶段都需要人的参与,因为人的工作和通信都不可能完美无缺,出现错误是在所难免的。而软件测试则能够发现软件中隐藏的许多错误和缺陷,因此软件测试是保证软件质量和可靠性的重要手段。

2 软件测试的方法

软件测试的方法原则上可以分为两大类,即静态测试和动态测试。静态测试是对被测软件进行特性分析的方法的总称,主要特点是:不利用计算机运行被测试的软件,而针对需求说明、设计文件等文档和源程序进行人工检查和静态分析,以保证软件质量。静态测试能够有效地发现软件中30%到70%的逻辑设计错误和编码错误。动态测试是在计算机上实际运行被测试的软件,通过选择适当的测试用例,判定执行结果是否符合要求,从而测试软件的正确性、可靠性和有效性。动态测试的两种主要方法是白盒测试和黑盒测试。

白盒测试是对软件内部工作过程的细致检查,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同测试点检查程序的状态,确定实际的状态是否与预期的状态一样,因此,白盒测试又称为结构测试或逻辑驱动测试。白盒测试一般选用可以有效揭露隐藏错误的路径进行测试,所以如何设计软件测试用例是这种方法的关键。

1 软件测试

软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。

另外,需要指出的是软件测试是提高软件产品质量的必要条件而非充分条件,软件测试是提高产品质量最直接、最快捷的手段,但绝不是一个根本手段。

1

黑盒测试则着眼于软件的外部结构,不考虑程序的逻辑结构和内部特性,仅依据软件的需求规格说明书,在软件界面上检查程序的功能是否符合要求,因此黑盒测试又叫做功能测试或数据驱动测试。用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。

白盒、黑盒测试不能相互替代,而应互为补充,在测试的不同阶段为发现不同类型的错误而灵活选用。

3 软件测试过程

软件测试过程一般按五个步骤进行,即单元测试、集成测试、系统测试、验收测试和回归测试,如图所示:

被测

被测 模块 被测 模块 模块 单元测试 单元测试 设计信息集成测试 已组装的软件 系统元素系统测试 可使用的软件 用户需求验收测试 可交付的软件 综合信息回归测试 单元测试 3.1 单元测试

单元测试是指依据详细的设计描述,对每一个功能相对独立的程序模块进行测试,检查各个单元是否正确地实现规定的功能。单元测试一般在完成某一程序模块的编程后由程序员立即进行,主要对程序内部结构进行检验,着重发现和解决代码编写过程中的差错,多采用白盒测试法。 3.2 集成测试

集成测试,也叫组装测试或联合测试。是指一个应用系统的各个部件的联合测试,也就

2

图1 软件测试过程图

…… 此处隐藏2128字 ……

[3] 徐芳. 软件测试技术[M]. 北京: 机械工

业出版社. 2006年

[4] 张小松、王钰等. 软件测试[M]. 北京:

机械工业出版社.2006年

[5] 张克东.软件工程与软件测试自动化教程

[M].北京:电子工业出版社. 2002年

5