【读书笔记】软件测试技术大全:第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.敏捷开发与软件测试:敏捷测试认为要持续的测试,不断的回归测试,快速的测试,测试人员需要多点借鉴上下文驱动测试的方法,适当采用自动化的方式加快测试的速度。
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.敏捷开发与软件测试:敏捷测试认为要持续的测试,不断的回归测试,快速的测试,测试人员需要多点借鉴上下文驱动测试的方法,适当采用自动化的方式加快测试的速度。
相关文章推荐
- 软件测试技术大全——测试基础 流行工具 项目实践
- 《软件测试实践-微软技术专家经验总结》读书笔记-1001
- 《软件测试方法和技术》 读书笔记
- 软件测试技术大全
- 【读书笔记】软件测试的艺术第4章
- 《软件测试技术大全》(第二版)目录
- 《软件测试实践-微软技术专家经验总结》读书笔记-100201
- 《软件测试实践-微软技术专家经验总结》读书笔记-1002
- 国内软件测试中文书籍大全
- 软件系统的主要测试内容及技术
- [导入]白话软件工程 - 小强, 拖鞋,和软件测试
- 国内软件测试中文书籍大全
- 国内软件测试中文书籍大全
- 国内软件测试中文书籍大全
- 国内软件测试中文书籍大全
- 笔记本购机测试软件大全
- 最全,最强的软件测试资料汇总 (性能测试,性能调优,功能测试,自动化测试,测试管理,测试工具,测试用例设计,缺陷分析预防,前沿测试技术...)
- 国内软件测试中文书籍大全
- 《软件测试管理》第14章软件测试常见问题——(四)测试技术常见问题
- [软件项目管理与测试论坛]技术是什么?技术永远是为产品服务