也就是根据程序外部表现特性进行的测试,而不考虑程序内部的逻辑结构和工作状况。黑
盒测试技术依赖软件的规格说明书,假设软件的规格说明书是正确的,通过划分程序的
输入和输出域来确定测试用例。如果软件规格说明的规定有误,用黑盒测试方法是发现不
了的。反之,白盒测试只根据程序的内部结构进行测试,测试用例的设计要保证测试时程
序的所有语句至少执行一次,而且要检查所有的逻辑条件。如果程序结构本身有问题,比
如说程序逻辑有错误,或是有遗漏,那就无法发现。黑盒测试和白盒测试各自有各自得优
缺点,相互之间构成互补关系,在规划测试时需要把黑盒测试与白盒测试结合起来。
1.3 软件测试过程
软件测试过程,可分为五个步骤:单元测试、子系统测试、系统测试、验收测试和平行
运行。
单元测试
:在设计好的软件系统中,每个模块完成一个清晰定义的子功能,而且每个
模块又是相对独立的。因此,每个模块可以作为一个单独的测试单元,而且也比较容易设
计测试用例。单元测试的目的,是保证每个模块作为一个单元能正确运行。在这个测试中
所发现的错误,往往是编码和详细设计的错误。
集成测试
:
“
把软件单元逐步组装成一个计算机软件配置项的过程叫 软件集成
"。把软件
“
”
逐步组装,同时一并进行测试,直到整个系统成为一体的有序进行的测试叫 集成测试 ,
“
” “
” “
”
也叫 计算机软件部件测试 、 组装测试 或 综合测试 。
确认测试
:集成测试完成后,软件接口缺陷已经发现并纠正,这时可以对软件进行确
认测试。确认测试是通过黑盒测试来验证软件功能及性能与要求规范是否一致。当发现与
需求规范有差别,要列出一个缺陷表。
系统测试
:将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算
机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行
(使用)
环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系
统的需求定义做比较,发现软件与系统定义不符合或与之矛盾的地方,以验证软件系统
的功能和性能等满足其规约所指定的要求。系统测试的测试用例应根据需求分析说明书来
设计,并在实际使用环境下来进行。
二
.软件可靠性
2.1 软件可靠性定义
软件可靠性是软件质量因素中最基本、最重要的因素。
1983年,IEEE计算机学会对
“
”
软件可靠性 这一术语作了专门的定义:在规定的条件下,在规定的时间内,软件不引
起系统失效的概率,该概率是系统输入和输出的函数,也是软件中存在的缺陷的函数;
3