读《软件测试》(美)Ron Patton笔记之一(2) 软件开发过程
来源:互联网 发布:广州淘宝模特培训 编辑:程序博客网 时间:2024/05/17 23:37
一、软件产品清单
软件产品不仅包括代码,以下清单对于软件测试员来说,也很重要。
1、帮助文件;
2、用户手册
3、样本和示例;
4、标签和帖子
5、产品支持信息;
6、图标和标志
7、错误信息----------软件产品最容易忽视的部分。
8、广告和宣传材料
9、安装;
10、说明文件
二、软件开发模式(最常用的4种)
1. 大棒模式(最好避免)
优点:简单
介绍:计划、进度安排和正规开发过程几乎没有,所有精力都花在开发软件和编写代码上。
软件测试的工作:向客户报告发现的问题。
最惨的状态:项目管理员认为产品已经准备完工,因此软件测试员的工作妨碍了交付。
2. 边写边改模式(很常见)
介绍:采用这种方式的小组通常只有粗略的想法,就进行简单的设计,然后开始漫长的来回编写、测试和修复过程。等到实在不堪忍受了,就发布产品。
使用情况:意在快速制作而且用完就扔的小项目。
软件测试员:要清醒的认识到自己将和程序员一道陷入无休止的循环往复,几乎每一天都会拿到新的软件版本。当新版本出来时,旧版本的测试可能尚未完成,而新版本还可能包含新的或者经过修改的功能。最后,终于有机会对几乎所有功能进行测试了,并且发现软件缺陷越来越少,这时某人(或者进度)决定该发布软件了。
3. 流水模式
介绍:采用流水线模式的项目从最初的构思到最终产品要经历一系列步骤。每一个步骤结束时,项目小组进行审查,并决定是否进入下一步。如果项目下一步未就绪,就停滞下来。
流水线方式的重要事项:
(1)非常强调产品的定义。注意:开发或者代码编制阶段只是一个模块。
(2)各步骤是分立的,没有交叉。
(3)无法后退。一旦进入某一个步骤,就要完成该步骤的任务,才能向下继续---不能退缩。
该模式的目标:在编写代码之前解决所有的未知数并明确所有细节。
从测试角度:流水模式比截止到目前为止的其他模式更为有利。所有的一切都有完整细致的说明。当软件提交到测试小组时,所有细节都已确定并有文字资料,而且融入软件之中。由此,测试小组得以制定精确的计划和进度。测试对象非常明确,功能和软件缺陷也不会发生混淆。
但因为测试仅在最后进行,所以一些根本性问题可能在早期被掩盖,直到准备发布产品时才可能发现。(软件缺陷修复费用随着时间推移,费用会数十倍的增长)。
我们需要一个模式在早期费用不大时执行测试任务
4. 螺旋模式
主要思想:开始不必详细定义所有细节。从小开始,定义重要功能,努力实现,接受客户反馈。,然后进入下一阶段。重复上述过程,直至得到最终产品。
每个螺旋包括6个步骤:
(1)确定目标、可选方案和限制条件
(2)指出并解决风险
(3)评估方案
(4)本阶段开始和测试
(5)计划下一阶段
(6)确定进入下一阶段的方法
该模式中包含了一点流水模式(分析、设计、开发和设计步骤)、一点边写边改模式(每次盘旋上升)和一点大棒模式(从外界观察)。
软件测试:通过参与最初的设计阶段,可以尽早地影响到产品。产品的来龙去脉都很清楚。在项目末期,不至于匆匆忙忙在短时间内进行全面测试。测试一直在进行,直到最后宣布全部成功。