2.软件工程与软件测试理论

1.软件生命周期

3.软件开发模式

线性模型
渐进式模型
变换模型

线性模型

一般在软件需求完全确定的情况下,会采用线性模型,最具代表性的是“瀑布模型”。瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每一个阶段都只执行一次因此是线性顺序进行的软件开发模式。

瀑布模型的一个最大的缺陷:可以运行的产品很迟才能被看到,这会给项目带来很大的风险:尤其是集成风险,“集成之日就是爆炸之日”。另一个风险:在前期阶段未发现的bug会传递并扩散到后面阶段,而在后面阶段发现这些错误时,可能已经很难回头修正,从而导致项目失败;很多沿用瀑布模型的企业,可通过细化各个阶段,在某些重点关注的阶段之间参入迭代的思想进行修正。

增量与迭代的区别:
– 增量是逐块建造的概念;
– 迭代是反复求精的概念。

变换模型是机遇模型设计语言的开发模式,是目前软件学者们在努力研究的方向。变换模型的主要思想是省略编码和测试阶段,代之以自动化的程序变换过程,而主要集中精力在前面的需求分析和建模上。

变换模型开发模式是要把测试人员提到原型验证阶段。

注:每一次迭代原型出来后,测试人员都需要从原型界面、系统主要功能、性能等方面对原型进行评审。

软件开发模式的发展

软件开发大致经历了3个阶段:
1.一软件需求完全明确为前提的第一代软件过程模型,如瀑布模型;
2.在初始阶段需求不明朗的情况下采用的渐进式开发模型,如螺旋模型和原型实现模型;
3.已体系结构为基础的机遇构件组装的开发模型,如基于构件的开发模型和基于体系结构的开发模型。

3.RUP(Rational Unified Process, Rational统一过程)

业界普遍认为,开发复杂的软件项目必须采用基于UML的、以构架为中心的、用例驱动与风险驱动相结合的迭代式增量开发过程,这一过程通常被称为RUP。

RUP过程模型下的软件测试

RUP过程模型强调6项最佳实践。

RUP工具

(1)初始级:软件质量由个人的开发经验来保证;
(2)可重复级:实施了基本的项目管理和过程控制,依赖以往项目的成功经验来确保新的类似项目的成功;
(3)已定义级:所有项目遵循一定的标准进行管理,具备可量化的、文档化的过程管理。进一步减少了项目成功对于人的依赖性;
(4)已管理级:加入了评估和度量机制,利用评估和度量来对软件过程以及产品做出合理的判断和控制;
(5)优化级:关注改进的持续性,融入了技术改革、缺陷预防等理念。

注:测试的管理是否完善直接关系到测试执行的效果。因此,测试组织必须确保形成了完善的测试策略和测试计划、测试完成的标准以及测试 告的形成和内容。

ISO与软件测试

敏捷开发中的软件测试

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年1月15日
下一篇 2017年1月15日

相关推荐