background image

的。在此基础上

,测试所有的错误状态及返回值,测试随机状态转换。 

  

(4)在前述测试的基础上,对有些测试实施失败状态测试:具体在实施时,指的是几个时间

对某一资源竞争使用

,比如: 

  ①两个不同的程序同时保持或打开同一个文档。

 

  ②共享同一台外围设备。

 

  ③当软件处于读取或者修改状态时按键或者单击鼠标。

 

  ④同时关闭或者启动同一个软件的多个实例。

 

  ⑤使用不同的程序同时访问同一个数据库。

 

  类似这样的竞争条件还有很多

,不一一举例。 

  

(5)在实际测试时还常用反复、压迫和重负测试,实施这些测试的目的是考验软件在恶劣

条件下是否能正常运行和退出

,从而验证软件的性能。反复测试指的是不断地执行同样的操

作;压迫测试是使用软件在不够理想的条件下运行

,从而观察软件对外部资源的要求和依赖

程度

,借此来测试软件的性能;重负测试是指尽量提供条件任其发挥,让软件处理尽可能大的

数据文件

,即最大限度地发掘软件的能力,使之不堪重负,大多数情况下,用时间作为参数实施

重负测试

,看其在重负情况下能否正常运行。实际测试时,常将三种测试方法结合起来使用。 

  

(6)测试软件的另一种有效方法就是进行正式审查,其中包括以下几个方面:确定问题、制

定审查规则、准备工作以及编写报告

,进行审查的主要方法就是组织熟悉该类软件的人员逐

一检查代码

,其中重要的软件还需要按能力成熟度(CMM)中的要求进行同行评审。 

  

(7)在实际测试中经常采用一种称之为动态白盒测试的方法,其意义是指利用查看代码功

能和实现方式得到的信息来确定哪些要测试

,哪些不需要测试,以及如何开展测试。其中不仅

是查看代码

,还包括直接测试和控制软件。包括以下几个部分: 

  ①直接测试底层功能、过程、子程序和库。

 

  ②根据软件运行的实际情况不断地调整测试用例。

 

  ③对软件中的部分变量和状态信息进行访问

,确定测试与预期结果是否相符,并强制软件

以正常测试难以实现的方式运行。在具体实施时应分阶段地进行测试

,即遵循单元测试、集成

测试、配置项测试和系统测试的步骤。目前

,灰盒测试逐渐为大家认同,灰盒测试综合了白盒测

试和黑盒测试的优点

,模糊了两者的界限,在做法上仍然把软件当成黑盒来测试,但是通过简

单地查看

(不像白盒那样进行完整地查看)软件内部工作机制作为补充。现在的网页制作就很

适合灰盒测试。

 

  

 

  

3 结束语 

  

 

  软件测试的目的不是为了仅仅找出错误,而是通过它发现错误、分析错误,找到错误的
分布特征和规律,从而帮助项目管理人员发现当前所采用的软件开发过程的缺陷,以便改
进;同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。即使测试没有发现
任何错误,也是十分有价值的,因为完整的测试不仅可以给软件质量进行一个正确的评价

,

而且是提高软件质量的重要方法之一。

 

  

 

  参考文献

 

  [

1]史济民.软件工程原理方法与应用[M].北京:高等教育出版社,2001. 

  [

2]张海藩.软件工程导论[M].北京:清华大学出版社,1997.