怎样提升软件产品质量PPT(44张)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
200
100
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Total Inser ti on 2 41 50 59 64 79 93 118 159 207 263 320 378 420 485 536 579 593 630 662 679 702 706
注:其中位于右边的内容虽然也有其价值,但是左 边的内容最为重要。
敏捷软件开发新挑战
越来越多的企业希望采用,但没有把握 习惯于传统的瀑布式产品开发流程已不满足快速发展需要,
但大规模改动不现实 缺少敏捷软件开发专家和人才 技术人员需要观念的转变和方法培训 缺乏相应的质量控制方法 需要经常的和及时的质量度量、测试、决策
◦ 程序设计师团队与业务专家之间的紧密协作 ◦ 面对面的沟通(认为比书面的文档更有效) ◦ 频繁交付新的软件版本 ◦ 紧凑而自我组织型的团队 ◦ 能够很好地适应需求变化的代码编写和团队组织
敏捷软件开发宣言
敏捷开发模式的最佳表述:
◦ 人和交互 重于 过程和工具。 ◦ 可以工作的软件 重于 求全责备的文档。 ◦ 客户协作 重于 合同谈判。 ◦ 随时应对变化 重于 循规蹈矩。
软件测试
测试成本过高 无法做到回归测试
维护成本过高
因软件质量而导致的重大事故
1961年,一个简单的软件错误导致美国大力神洲际 导弹助推器的毁灭.
2007年4月,某软件缺陷导致某地铁系统的火灾. 2007年3月,成千上万台某种型号的医疗设备被召
回,只是为了修正一个软件错误 2007年某天,深圳某银行软件出错,柜员机吐出2
◦ 软件开发过程规范 ◦ 需求管理 ◦ 变更管理 ◦ Java编码规范,…… ◦ 测试用例编写规范
审查软件开发活动
审查每个活动是否遵循软件开发过程规范
◦ 审查每个活动的输入条件是否都得到满足 ◦ 审查活动的执行是否遵循规范 ◦ 审查每个活动的输出是否都已经产生
测试源程序代码
制定测试计划对软件进行测试
We care you!
Question: 谁应对产品质量负责?
1. QA人员 2. 测试人员 3. 开发人员 4. 项目管理人员 5. 需求人员 6. All above
什么是软件质量
用户对软件质量的评价
◦ 没有××功能(功能) ◦ 运行速度太慢(性能) ◦ 有太多的错误(故障) ◦ 软件不好改动(维护) ◦ 界面不美观(人机界面) ◦ 这个软件不好使用(易用性) ◦ ……
Total Fi xed
0 0 9 20 20 20 20 20 20 25 54 109 186 265 313 379 443 499 568 605 648 685 688
Total Inser ti on
Total Fi xed
如何提升软件产品质量
产品技术部 杨学明
2008年6月26日
决定一个软件项目成败的关键三要素
不同角色
传统的瀑布模型
收集需求
传统的V 模型
收集需求
传统的增量开发 – 迭代模型
收集需求
敏捷软件开发(Agile Development)
20世纪90年代逐渐引起广泛关注的新型软件开发 方法
它们的具体名称、理念、过程、术语都不尽相同, 但是都强调
传统的QA方法程序怎样适应敏捷软件开发?
问题的提出
需求分析
与用户存在语义分歧 对问题域缺乏全面的认识 多变的需求导致效率低下
功能实现
周期过长 与分析设计脱节 版本之间管理混乱
产品
质量不可靠 BUG太多 重用性低
可维护性差 兼容性差 文档混乱
开发设计
无法预知和降低风险 没有清晰的架构思路 与实现难以平滑衔接
◦ 单元测试 ◦ 集成测试 ◦ 确认测试 ◦ 系统测试
记录开发活动和软件产品的偏差
形成报告
◦ 记录软件开发活动的偏差 ◦ 记录软件产品的偏差-软件测试报告
目的
◦ 发现问题,纠正偏差,提高质量
报告高级管理者
目的
◦ 为管理者管理了解软件的质 量提供可视性
800
700
600
500
400 300
从哪些方面关注软件质量(1/3)
标准和规范
需求分析 开发活动
软件设计 编码 测试
wk.baidu.com
软件产品
文档
程序代码
从哪些方面关注软件质量(2/3)
软件产品
◦ 软件需求基线文档 ◦ 软件设计文档 ◦ 源程序代码,….
开发活动
◦ 需求分析 ◦ 软件设计 ◦ 编码
标准和规范
从哪些方面关注软件质量(3/3)
组织内部或者在项目开始之时要制定软件开发的标 准和规范
软件产品
◦ 文档类:审核,产生评审报告(Review) ◦ 代码类:测试,产生测试报告(Test Report)
开发活动
◦ 审查,产生审查报告 (Review)
构架是软件的蓝图
谁来执行和实施软件质量保证
软件项目质量保证小组(SQA小组) 独立于项目开发小组 具有比较大的权限
倍的金额给客户,客户排队取款。
妈妈网站质量的挑战
每天线上都有问题产生 经常有用户投诉,交易出现异常 代码可维护性差 缺乏统一架构设计,对将来的扩展是一个很大挑战 缺乏业务文档,很多业务流程只有少数人知道 流程刚刚建立,存在质量控制方面的漏洞 需求、开发和测试缺乏共识,需要培训 传统的QA方法程序怎样适应敏捷软件开发?
如何保证软件质量
项目一开始测试人员应该进入 正确理解用户的要求 制定标准和规范,Team统一执行 审查软件开发活动 测试源程序代码 记录开发活动和软件产品的偏差 记录所有不符合项,报告高级管理者
正确理解用户的要求
理解客户的要求和需要 让客户参与开发,随时和客户交流,验证客户的需
求
◦ 形成文字 ◦ 软件原型 ◦ 用不同的形式表达需求
需求质量是软件质量的基础
修复软件的代价 – 高成本
在产品化阶段,
失去机会的代价 – 低营业额 修复软件错误的成本 成本 失去客户的代价 – 低营业额 将高出100到1000倍!
需求
设计
测试
产品化
制定标准和规范
在组织内部或者项目组内部制定标准和规范,限制 和约束软件开发活动,有助于得到规范化的软件产 品,从而提高软件质量