第012页_1788968499117.txt

14
软件测试方法和技术(第4版)


1.5
测试和开发的关系
需求分析
在著名的软件瀑布模型中,如图1-6所示,软
设计
件测试处在“编程”的下游、“软件维护”的上游,先
有编程、后有测试,测试的位置很清楚。在瀑布模
编程
型中,测试只有等到程序完成了才可以执行,强调
测试
测试仅仅是开发的一个阶段,只是对程序的检验。
维护
从这里可以看出,GlenfordJ.Myers的软件测试
时间
定义是从瀑布模型出发的。但瀑布模型属于传统
图1-6
软件过程简单示意图
的软件工程,存在较大的局限性,与软件开发的迭
代思想、敏捷方法存在冲突,也不符合当今软件工
程的实际需求。


需求验证的原因。软件测试人员从项目启动的第一天就要介人,认真对待需求评审。
现在人们普遍认为软件测试贯穿整个软件生命周期,从需求评审、设计评审开始,测试就
介入软件产品的开发活动或软件项目实施中。测试人员借助需求定义的阅读、讨论和审查,不
仅可以发现需求定义的问题,而且可以了解产品的设计特性、用户的真正需求,确定测试目标,
为用户故事准备验收标准并策划测试活动。同理,在软件设计阶段,测试人员可以了解系统是
如何实现的、构建在什么样的运行平台之上等各类问题,这样可以衡量系统的可测试性,检查
系统的设计是否符合系统的可靠性要求、是否存在单点失效的严重问题等。软件测试和软件
开发在整个软件开发生命周期中交互协作,自始至终一起工作,共同致力于同一个目标一一按
时、高质量地完成项目。
V模型说明软件测试活动和项目是同时启动的,软件测试的工作很早就开始了,避免了
瀑布模型所带来的误区一—软件测试是在代码完成之后进行。在V模型中相对能够准确地
反映测试与开发之间的关系(更准确的描述见4.1.1节W模型),如图1-7所示,左边是软件
定义和实现的过程(包括分析、设计和编程),右边是对左边所构造的东西进行验证的过程,测
试与开发有一对一的关系。测试的工作(右边)是对开发工作(左边)成果的检验,以确认是否
满足事先的定义和要求。
V模型从左到右描述了基本的开发过程和测试行为,非常明确地标注了测试过程中存在
4个层次完成软件的验证,即对需求、系统架构设计、产品详细设计和代码的验证。
(1)需求验证对应验收测试和客户需求的确认测试;
(2)系统架构设计的验证对应系统非功能性测试;
(3)产品详细设计的验证对应功能测试;
下载此文件