精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 系统分析>>讨论-软件生命周期中的测试

主题:讨论-软件生命周期中的测试
发信人: fan_ya(海底之风)
整理人: leeyg(2001-06-05 20:46:25), 站内信件
刚刚做完一个项目。与以前不同的是这次接触测试的比较多。想跟大家讨论一下一个完整测试的一般步骤和发展方向,以及最符合Profit/Cost的方法。希望能抛砖引玉。

1 需求分析阶段(Requirement Analysis)
  用需求分析书与用户进行需求核对(Requirement Analysis Review)

2 概要设计阶段(Basic Design)
  用概要设计书与用户进行总体功能核对(Basic Design Review)

3 详细设计阶段(Detail Design)
  用详细设计属于用户进行逐个功能核对(Detail Design Review)
(2、3两个阶段如果采用原型模型的话可以用原型(Prototype)核对功能需求)

4 编码阶段(Coding)
  最好由程序员在完成每一个子模块的编码后进行跟踪级检测,主要是找出程序本身的bug和子模块功能与式样书不符的地方。

5 测试阶段(Testing)
  平常意义上讲,只有这个阶段开始一直到软件进入正式运行的测试才叫测试。

5.1 单元测试(Unit Test)
  每一个子模块完成之后进行单元测试,主要是找出程序本身的bug和子模块功能与式样书不符的地方。
  如果模块很小,可以做白盒全分支测试或关键分支、关键值测试。如果再复杂,就只能做黑盒的关键值之类的了。不过子模块的复杂性应该到不了这个程度。至少对关键逻辑部分做一定程度的白盒测试是有意义的。在测试中,需要调用子模块的驱动(driver)模块和被子模块调用的桩(stub)模块。需要注意的是错误处理部分,因为调用的很少,所以在以后的黑盒测试中,发现的概率就更小了。

5.2 结合测试
  一个模块的所有子模块都完成后,对模块做结合测试。主要目的是检测模块功能,发现子模块间接口不匹配的问题。
  比较理想的是黑盒关键值测试测试、如果由余力的话也可以做一部分白盒测试或关键分支、关键值测试。还可以重点对控制子模块、接口部分进行比较细的测试。如果负载需求,做负载测试。

5.3 总体测试
  在全部系统开发完毕以后,作总体测试。主要目的是检察完成了的系统是否具备完善的所有用户手册中的功能,各主要模块之间是否协作正常,对于系统负载-机器需求的估计是否正确。
  主要是黑盒测试。需要发售的软件,一般在这个阶段做Alpha测试-把经过开发人员测试的系统小范围发给协作厂商进行测试。

5.4 现场测试
  把系统安装到用户现场的机器上,进行最后一次测试,主要是看系统是否因为环境不同“水土不服”,还可以做一个训练环境可以让用户以真实的操作最终测试系统。
  主要是黑盒测试。需要发售的软件,一般在这个阶段做Beta测试-把经过开发人员测试的系统小范围发给最终用户进行测试。
  
6 系统维护
  发现问题以后,现场的维护人员把Bug报告送回开发组,模拟现场环境,寻找原因。最终再把patch送回给现场的维护人员作现场测试。




----
如果,人的心像海洋一样深,
那,  我能到达你的海底吗?  

[关闭][返回]