您的位置:首页 > 其它

【读书笔记】软件测试技术大全:第4章 软件工程与软件测试

2014-10-06 14:47 357 查看
4.1 软件工程简介

1. 软件的生命周期:计划--需求分析--设计--编码--测试--运行维护

2. 软件工程研究领域: 人员管理、项目管理、可行性分析、需求分析、系统设计、程序设计与编码、测试、质量管理和配置管理等

3. 软件工程的发展史:

(1).初始阶段;

(2).工程化阶段:瀑布模型的提出:分析-设计-编码-测试-维护;

(3).工厂化阶段:软件过程和软件复用展开研究,提出了面向对象的编程思想;

(4).过程管理阶段:以过程为中心,提出过程能力成熟度模型CMM、个体软件过程PSP、群组软件过程TSP等模型。快速原型法、螺旋模型、喷泉模型对“瀑布式”生命周期模型的补充.

(5).关注个体阶段;

4. 软件过程相关方法和工具:一些常见的SDLC(Software Development Life Cycle 软件开发生命周期)或者ALM(Application Life Management 应用生命周期管理)管理工具有:微软的VSTS(Visual Studio Team Suite)、IBM的JAZZ平台、惠普的BTO解决方案、MicroFocus(原Borland)的Open ALM 解决方案等。

5.软件工程发展新趋势:敏捷开发成为一颗软件工程耀眼的新星:强调“轻量级”的以人为中心的开发方式。

6.软件工程的目的:提高软件的质量和生产率;软件工程项目的成功3要素铁三角:成本、进度、质量;软件测试主要考虑的是质量方面。

4.2 软件开发模式

1.常见的软件开发模式:线性模型、渐进式模型、变换模型;

2.线性模型:软件需求完全确定下采用,典型代表:瀑布模型,前期阶段未发现的错误会传递并扩赛到后面的阶段,很难再回头!其最大缺陷为:可以运行的产品很迟才能被看到:“集成之日就是爆炸之日”。

3.渐进式模型:软件开发初期阶段需求不是很明确时采用,典型代表:螺旋模型,即在瀑布模型的每一个阶段引入严格的需求分析和风险管理;增量开发模型:RUP、敏捷开发都包含增量开发,迭代。

4.变换模型:省略编码和测试阶段,以自动化的程序变换过程代替,主要集中精力在前面的需求分析和建模。

5.软件开发模式的发展:线性模式-渐进模式-模型驱动模式

6.RUP:Rational Unified Process:6项最佳实践:1.迭代的开发软件;2.管理需求;3.应用基于构件的架构;4.为软件建立可视化的模型.;5.不断的验证软件质量;6.控制软件的变更。

7.RUP将测试分为单元测试、集成测试、系统测试、验收测试4大阶段,涵盖软件的可靠性、功能、性能测试,具体分为:

可靠性:完整性测试、结构性测试;

功能:配置测试、功能测试、安装测试、安全测试、容量测试;

性能:基准测试、竞争测试、负载测试、性能曲线测试、强度测试;

8.RUP重型 VS 敏捷过程的 轻量:轻量模型代表:XP(极限编程)模型,其追求的4个价值目标是:沟通、简化、反馈、勇气;遵循13个核心实践:团队合作、规划策略、结对编程、测试驱动开发、重构、简单设计、代码集体所有权、持续集成、客户测试、小型发布、每周40小时工作制、编码规范、隐喻;

4.3 不同软件开发模式下的软件测试

1.流程派:CMM和ISO为代表,强调按既定的流程工作

2.个体派:敏捷开发为代表,强调人在过程中发挥的价值

3.CMM与软件测试

CMM把软件企业的过程管理能力分为5个等级:初始级、可重复级、已定义级、已管理级、优化级。

4.ISO与软件测试:ISO基于PDCA的循环提出了测量、分析和改进的重要性,使测试作为软件测量的重要手段。ISO非常强调缺陷的控制。

5.敏捷开发与软件测试:敏捷测试认为要持续的测试,不断的回归测试,快速的测试,测试人员需要多点借鉴上下文驱动测试的方法,适当采用自动化的方式加快测试的速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: