码审查和静态分析
,动态测试包括白盒测试和黑盒测试。[2]
测试虽然是软件生存周期的一个独立阶段
,但测试工作却渗透到从分析、设计直到编程
的各个阶段中
,如测试计划的编写从分析和设计阶段就开始了,而具体的测试工作随编程工作
的不断深入也在进行中。在实际工作中
,测试环节可分为明显的、同等重要的三个阶段:即单元
测试、集成测试
(又称构件测试)和系统测试。
2.3.1 单元测试
软件单元定义了一个软件很底层的块
,用 PB 开发的客户机/服务器的软件系统中,一个窗
口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试。单元测试是测试的第一
步。由开发者自己进行测试最合适
,一般采用白盒测试。
2.3.2 集成测试
在将所有的单元经过测试以后
,接着进行集成测试。集成测试也称综合测试,即将已分别
通过测试的单元按要求组合起来再进行的测试
,以检查这些单元之间的接口是否存在问题。
要求参与的人熟悉单元的内部细节
,又要求他们能够从足够高的层次上观察整个系统。集成
测试阶段是以黑盒法为主
,在自底向上集成的早期,白盒法测试占一定的比例,随着集成测试
的不断深入
,这种比例在测试过程中将越来越少,渐渐地,黑盒法测试占据主导地位。
2.3.3 系统测试
系统测试是整个测试阶段的最后一步
,所有的开发和测试在这一点上集中表现为生成一
个具有一定功能的软件系统。该阶段主要对系统的准确性及完整性等方面进行测试。主要进
行
:功能确认测试、运行测试、强度测试、恢复测试、安全性测试等。系统测试的测试人员由测
试组成员
(或质量保证人员)或测试组成员与用户共同测试。在整个系统开发完成,即将交付用
户使用前进行。在这一阶段
,完全采用黑盒法对整个系统进行测试。
3 软件测试方法与软件测试工具
3.1 软件测试方法
软件测试方法是软件测试技术的一个重要的组成部分
,引入自动化测试可以提高软件质
量
,节省经费,缩短软件产品的发布周期。软件测试自动化就是通过测试工具或其他手段,按照
测试工程师的预定计划对软件产品进行自动的测试
,它是软件测试的一个重要组成部分,能够
完成许多手工无法完成或者难以实现的一些测试工作。
[3]
3.2 软件测试工具
自动化测试工具可以减少测试工作量
,提高测试工作效率。在实际应用中,首先是能够选
择一个合适的且满足企业信息系统工程坏境的自动化测试工具
,因为不同的测试工具,其面向
的测试对象是不一样的。按照测试工具的主要用途和应用领域将测试软件做了一个整理归纳
,
将自动化测试工具分为以下几类
:
3.2.1 捕获错误用途
用于捕获软件错误或程序调试。常用的软件
:一个是开发人员自行编写的测试工具;另一
个 是 利 用 所 使 用 的 开 发 工 具 的 调 试 功 能 或 工 具
; 最 后 就 是 购 买 专 业 的 调 试 软 件 。
如
:Compuware NuMega 推出的一系列的调试软件。
3.2.2 一般用途
一般用途的测试工具在进行测试时
,可以适用大部分的软件。如 Sysinternals 网站提供的
一些免费软件。
3.2.3GUI 自动化用途
这类软件除了提供在窗口界面中使用外
,也有不少是针对浏览器窗口开发的自动化测试
工具。主要代表
:Rational 公司的 Robot、Compuware 的 QARun 等。