background image

码审查和静态分析

,动态测试包括白盒测试和黑盒测试。[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 等。