CH1课程背景及介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013-7-31 33
1、软件测试工程师职责
依据测试主管编制的“软件测试计划”进行软 件测试工作 编写测试用例 掌握并使用自动化软件测试工具进行测试工作 编写测试脚本 开发测试工具 填写并提交测试记录 对软件问题进行跟踪
34
2013-7-31
2、软件测试工程师在项目组中的位置
2013-7-31
28
软件测试员究竟做些什么
有人说,软件测试员的认为是检查和批评同 事的工作,挑毛病,公布发现的问题。 哦!做这些工作不受人欢迎!? 大家要理解测试人员在项目组中的角色; 测试人员也要注意交往的技巧,也不要总是 报告坏消息。
2013-7-31
29
对软件测试的误解1
误解一:
如果发布出去的软件有质量问题,那是 软件测试人员的错; 软件的质量是"做"出来的,而不是"测"出 来的
细心及责任心; 与开发人员及用户保持良好的关系并进行有效的沟通; 具有以往的开发经验; 可判断一个软件的高危险区在何处。 自信心 逆向思维能力 沟通能力 怀疑精神 很强的记忆力 技术能力
2013-7-31 40
6、测试工程师的职业发展
发展过程 发展阶段
2013-7-31
41
测试职业发展过程
6
2013-7-31
课程由来
软件工程
目标:解决沟通和集成问题 策略:控制错误 方法:
预防错误
规范化 流程、职责、角色、模式:RUP、CMM、Pattern 表达语言:UML、Pattern 文档化 迭代与软件体系结构 带着指南针,摸着石头过河
7
2013-7-31
课程由来
2013-7-31
19
测试方法应与开发生命周期相适应. 测试需要有序、有步骤地展开,这要 求首先明确测试的目标范围,确定如何 测试,建立测试程序,审查测试结果。 保证应用的各个方面都被测试覆盖, 从而保证应用的质量
2013-7-31
20
软件测试现状-现状3
测试人员的配备不合理 没有专门的测试人员,设计和测试不 分开,对现有项目和未来项目缺乏分析, 不能预计所需人员。人员也没有很好的 培训 .
2013-7-31
21
软件测试现状-现状4
缺乏测试技术 缺乏测试工具,忽视不同类型的测试。 伴随着软件设计的复杂化,开发及分发软 件所使用的技术,如图形用户界面GUI、分布 式处理、庞大的分散网络和Web技术等的更新, 通过手工方式实现测试较为困难,软件测试面 临新的机遇,软件测试的实施需要一种明确的 方法和所需的自动支持。
2013-7-31
38
5、合格的软件测试工程师应具备的条件
掌握软件测试基本理论; 本着找出软件存在的问题的态度进行 测试; 可熟练阅读需求规格说明书等文档; 以用户的观点看待问题; 有着强烈的质量意识;
39
2013-7-31
5、合格的软件测试工程师应具备的条件(续)
wk.baidu.com
2013-7-31
23
软件测试现状-现状5
领导层、项目经理对测试缺乏正确认识 测试经费不足,导致测试工作难以顺利进 行,造成成本急剧上升、测试不完全等后 果.据统计,国外软件开发机构40%的工作 量花在软件测试上,软件测试费用占软件开发 费用的30%到50%。对于一些要求高可靠、 高安全的软件,测试费用可能相当于软件工程 所有费用总和的3-5倍。
软件工程
目标:解决沟通和集成问题 策略:控制错误 方法:
预防错误: 规范化
文档化 迭代与体系结构 测试 调试 培训 使用指南
8
纠正错误:
减少错误损失
2013-7-31
课程由来
SQA:软件质量保证
过程改进:预防错误
规范化:流程 文档化 错误发现的越早,解决的代价越小 Alpha测试/Beta测试
2013-7-31
11
软件测试的发展
2013-7-31
12
70年代以前--Ad-hoc testing,与调试没有 区分 Debug的由来
2013-7-31
13
70年代~80年代中期--测试基础理论和实用技 术形成,测试作为软件质量保证(SQA)的主 要职能
2013-7-31
14
80年代后期~90年代中期--测试工具在质量和 数量上不断增长,测试与SQA(注重于过程和 质量监督)分离,注重于工具对测试效率的影 响
测试/编程负责人
4-10年资历,监管4-8人,安排和领导任务完成, 提出技术方法 8年以上资历,负责8名以上人员的一个或多个项目, 负责全生存期管理 15年以上资历,负责多个项目的人员管理,负责项 目方向和业务盈亏
43
测试/质量保证/项目经理
业务/产品经理
2013-7-31
测试职业发展计划
2013-7-31
30
对软件测试的误解2
误解二、软件测试技术要求不高,比编 程容易多了; 很多人认为软件测试就是运行一下软件, 然后看看结果对不对。 但实际上,如何在有限的投入下,提高 软件测试的效率和产出是一件很见功底 的事情。
2013-7-31 31
对软件测试的误解2(续)
所以,好的测试人员不仅要掌握各种测 试技术和测试工具,还要具备丰富的编 程经验和对BUG的敏感。 另外,测试统计技术也是一项很特别的 技术。 事实上,测试工作所需的艰苦和投入不 亚于开发工作。
2013-7-31
24
总之,要成功开发出高质量的软件产 品,使软件产品尽快上市,提高企业的 竞争力,必须改变上述现状,重视并加 强测试工作。只有充分测试才能确保质 量。
2013-7-31
25
10个典型的测试问题
10、测试工程师未经过足够的培训 9、”Us vs. Them” 心理 8、缺少测试工具知识 7、缺少管理层理解和对测试的支持 6、缺少与客户及用户的沟通
2013-7-31 32
对软件测试的误解3
误解三:设计-实现-测试,软件测试是开发后期的一 个阶段; 实际上,软件测试贯穿整个软件产品生命期。 一方面,软件测试也要经历测试计划、测试用例的 设计和实现,以及测试运行一系列的阶段,因此, 早在软件需求阶段,甚至更早,软件测试的工作就 要开始了。 另一方面,软件测试越早进行越好,因为BUG越早 发现,BUG造成的影响和修改的代价就越小。而且, 软件测试并不仅仅针对程序,软件的需求、设计等 等也要被测试。
设计技术
2013-7-31
5
课程由来
软件工程
目标:解决沟通和集成问题 策略:控制错误
错误
缺陷/Bug/Defect/Error 狭义: 软件定义、设计、实现、打包/部署、使用过程中出现 的与明确的需求不一致:不能正确完成任务、完成多 余的任务 广义: 还包括:改善产品的建议;与用户隐含的需求不一致
2013-7-31
4
课程由来
软件危机(1960s)
表现:软件质量不高、超出预算 根源:软件系统复杂性提高、多人合作 解决:
软件工程
Team 项目组 用户和Stakeholder 计算机系统 控制复杂:人的思维极限 抽象/建模 分解 重用:质量和效率 语言与开发包 OO
Modeling
开发人员核心技术
Testing
未来对于软件开发人员的技术要求
软件项目延期
成本增加 需求变化 质量不稳定 成本增加 项目中止
3
2013-7-31
课程由来
软件危机(1960s)
表现:软件质量不高、超出预算 根源:
硬件越来越复杂,摩尔定律
对软件在应用领域和规模上的期望越来越高 真实世界与计算机世界的映射 靠人来生产 多人开发
软件的发展速度落后于硬件的发展速度
软件测试:发现错误
2013-7-31
9
课程由来
SQA涉及的工作岗位
过程改进工程师
过程改进
测试工程师
软件测试
软件测试
开发工程师
软件调试
测试流程管理 测试度量
10
测试经理
2013-7-31
软件测试
目前越来越多的软件开发机构认识到 测试的重要性,并且成立了相应的测试 机构,如QA小组,并且配有专门的测试 人员。但从总体上来说,对测试的认识 程度仍旧不够,还存在以下诸多问题:
2013-7-31
15
90年后期~目前--关注有效的过程管理对于软 件测试的重要性,形成各种测试模型、测试能 力成熟度模型。 TMM(Testing Maturity Model)
2013-7-31
16
软件测试现状-现状1
测试工作滞后 大多数的错误都是在编码阶段产生的,但 也可能出现在整个项目生命周期中的其它地方。 SPR .75%的错误来自编码错误,10%的错误 来自分析,15%来自设计。 应该尽早发现错误,因为每迟一步,发现 错误所需时间就会越长。消除错误的成本就会 增加。
高级软件测试技术
Chapter 1 课程背景及介绍
2013-7-31
1
内容
课程的由来
软件危机 软件工程 软件质量保证 软件测试 目标 内容 形式和要求 参考书目
课程的介绍
2013-7-31
2
课程由来
软件危机(1960s)
表现:
软件质量不高
成本增加 项目延期
36
3、软件测试工程师与软件测试主管的区别
是否进行“测试计划”的编写 是否进行“测试总结报告”的编写 是否进行系统测试
2013-7-31
37
4、软件测试工程师与软件质量保证(SQA)人 员的区别
关注点不同(程序/过程) 手段及方法不同(测试/评审) 显现效果不同(显著/不显著)
初级测试工程师
初级职位,开发测试脚本,执行测试
测试工程师/程序分析员
1-2年资历,编写自动测试脚本程序
3-4年资历,确定测试过程并指导初级测试工程师 2-6年资历,监管1-3人工作,否则规模/成本估算
42
高级测试工程师/程序分析员
测试组负责人
2013-7-31
测试职业发展过程(续)
2013-7-31
22
Gartner Group公布的一项调查表明,一个 机构在进行标准的单元测试、集成测试和系统 测试阶段,即使做的再好,也还会有20%的错 误存在。到了审查和验收测试阶段,缺陷消除 率才最终上升到90%以上。这一调查结果意味 着必须将各种技术结合起来使用,并贯穿于整 个开发生命周期之中。
软件项目中的不同角色: 项目经理 系统分析人员 系统设计人员 程序员 配置管理员 测试人员(测试主管、测试开发工程师、测试 工程师) 质量保证人员
2013-7-31 35
2、软件测试工程师在项目组中的位置
矛盾体:时间、成本和质量 测试人员在开发小组中接受挑战
2013-7-31
2013-7-31
26
10个典型的测试问题(续)
5、没有足够的测试时间 4、对测试过分依赖 3、软件变更过快 2、测试处于无须状态 1、测试总是说“不”
2013-7-31
27
1.6软件测试员究竟做些什么
• 软件测试员的目标是发现软件缺陷。 常犯错误:产品团队要测试人员是为了 证实软件可以运行。 • 近一步,尽可能早地发现软件缺陷。 • 更近一步,并确保其得以修复。 • 其它任务:文档、技术支持…
45
2013-7-31
计算机技术知识
DB OO
程序语言 数据结构 Algorithm
开发人员核心技术
Patterns
以往对于软件开发人员的技术要求
2013-7-31
Modeling
46
计算机技术知识
Integration
DB
Architecture
OO 程序语言 数据结构 Algorithm
Patterns
2013-7-31
17
尽早测试,设计时顾及测试. 通过对实际工程的统计,发现在不同 阶段发现和更改一个错误的费用不同, 下表表明了具体的数据:
软件开发阶段 发现和更改错误的费用 编码阶段 1倍 测试阶段 4倍 维护阶段 16倍
2013-7-31
18
软件测试现状-现状2
缺乏合适的测试方法, 传统上的测试往往通过运行应用程序 的方法进行,没有一个系统的对测试实 施步骤的考虑。
技术技能 测试过程 测试组工作 技术管理 测试/项目管理 业务/产品管理
2013-7-31
44
技术技能
熟悉测试生存期 参与被测应用业务领域 评估/使用自动测试工具 开发、执行测试脚本 了解测试自动化编程技术 其他方面如OS、PL、NETWORK、 DATABASE
1、软件测试工程师职责
依据测试主管编制的“软件测试计划”进行软 件测试工作 编写测试用例 掌握并使用自动化软件测试工具进行测试工作 编写测试脚本 开发测试工具 填写并提交测试记录 对软件问题进行跟踪
34
2013-7-31
2、软件测试工程师在项目组中的位置
2013-7-31
28
软件测试员究竟做些什么
有人说,软件测试员的认为是检查和批评同 事的工作,挑毛病,公布发现的问题。 哦!做这些工作不受人欢迎!? 大家要理解测试人员在项目组中的角色; 测试人员也要注意交往的技巧,也不要总是 报告坏消息。
2013-7-31
29
对软件测试的误解1
误解一:
如果发布出去的软件有质量问题,那是 软件测试人员的错; 软件的质量是"做"出来的,而不是"测"出 来的
细心及责任心; 与开发人员及用户保持良好的关系并进行有效的沟通; 具有以往的开发经验; 可判断一个软件的高危险区在何处。 自信心 逆向思维能力 沟通能力 怀疑精神 很强的记忆力 技术能力
2013-7-31 40
6、测试工程师的职业发展
发展过程 发展阶段
2013-7-31
41
测试职业发展过程
6
2013-7-31
课程由来
软件工程
目标:解决沟通和集成问题 策略:控制错误 方法:
预防错误
规范化 流程、职责、角色、模式:RUP、CMM、Pattern 表达语言:UML、Pattern 文档化 迭代与软件体系结构 带着指南针,摸着石头过河
7
2013-7-31
课程由来
2013-7-31
19
测试方法应与开发生命周期相适应. 测试需要有序、有步骤地展开,这要 求首先明确测试的目标范围,确定如何 测试,建立测试程序,审查测试结果。 保证应用的各个方面都被测试覆盖, 从而保证应用的质量
2013-7-31
20
软件测试现状-现状3
测试人员的配备不合理 没有专门的测试人员,设计和测试不 分开,对现有项目和未来项目缺乏分析, 不能预计所需人员。人员也没有很好的 培训 .
2013-7-31
21
软件测试现状-现状4
缺乏测试技术 缺乏测试工具,忽视不同类型的测试。 伴随着软件设计的复杂化,开发及分发软 件所使用的技术,如图形用户界面GUI、分布 式处理、庞大的分散网络和Web技术等的更新, 通过手工方式实现测试较为困难,软件测试面 临新的机遇,软件测试的实施需要一种明确的 方法和所需的自动支持。
2013-7-31
38
5、合格的软件测试工程师应具备的条件
掌握软件测试基本理论; 本着找出软件存在的问题的态度进行 测试; 可熟练阅读需求规格说明书等文档; 以用户的观点看待问题; 有着强烈的质量意识;
39
2013-7-31
5、合格的软件测试工程师应具备的条件(续)
wk.baidu.com
2013-7-31
23
软件测试现状-现状5
领导层、项目经理对测试缺乏正确认识 测试经费不足,导致测试工作难以顺利进 行,造成成本急剧上升、测试不完全等后 果.据统计,国外软件开发机构40%的工作 量花在软件测试上,软件测试费用占软件开发 费用的30%到50%。对于一些要求高可靠、 高安全的软件,测试费用可能相当于软件工程 所有费用总和的3-5倍。
软件工程
目标:解决沟通和集成问题 策略:控制错误 方法:
预防错误: 规范化
文档化 迭代与体系结构 测试 调试 培训 使用指南
8
纠正错误:
减少错误损失
2013-7-31
课程由来
SQA:软件质量保证
过程改进:预防错误
规范化:流程 文档化 错误发现的越早,解决的代价越小 Alpha测试/Beta测试
2013-7-31
11
软件测试的发展
2013-7-31
12
70年代以前--Ad-hoc testing,与调试没有 区分 Debug的由来
2013-7-31
13
70年代~80年代中期--测试基础理论和实用技 术形成,测试作为软件质量保证(SQA)的主 要职能
2013-7-31
14
80年代后期~90年代中期--测试工具在质量和 数量上不断增长,测试与SQA(注重于过程和 质量监督)分离,注重于工具对测试效率的影 响
测试/编程负责人
4-10年资历,监管4-8人,安排和领导任务完成, 提出技术方法 8年以上资历,负责8名以上人员的一个或多个项目, 负责全生存期管理 15年以上资历,负责多个项目的人员管理,负责项 目方向和业务盈亏
43
测试/质量保证/项目经理
业务/产品经理
2013-7-31
测试职业发展计划
2013-7-31
30
对软件测试的误解2
误解二、软件测试技术要求不高,比编 程容易多了; 很多人认为软件测试就是运行一下软件, 然后看看结果对不对。 但实际上,如何在有限的投入下,提高 软件测试的效率和产出是一件很见功底 的事情。
2013-7-31 31
对软件测试的误解2(续)
所以,好的测试人员不仅要掌握各种测 试技术和测试工具,还要具备丰富的编 程经验和对BUG的敏感。 另外,测试统计技术也是一项很特别的 技术。 事实上,测试工作所需的艰苦和投入不 亚于开发工作。
2013-7-31
24
总之,要成功开发出高质量的软件产 品,使软件产品尽快上市,提高企业的 竞争力,必须改变上述现状,重视并加 强测试工作。只有充分测试才能确保质 量。
2013-7-31
25
10个典型的测试问题
10、测试工程师未经过足够的培训 9、”Us vs. Them” 心理 8、缺少测试工具知识 7、缺少管理层理解和对测试的支持 6、缺少与客户及用户的沟通
2013-7-31 32
对软件测试的误解3
误解三:设计-实现-测试,软件测试是开发后期的一 个阶段; 实际上,软件测试贯穿整个软件产品生命期。 一方面,软件测试也要经历测试计划、测试用例的 设计和实现,以及测试运行一系列的阶段,因此, 早在软件需求阶段,甚至更早,软件测试的工作就 要开始了。 另一方面,软件测试越早进行越好,因为BUG越早 发现,BUG造成的影响和修改的代价就越小。而且, 软件测试并不仅仅针对程序,软件的需求、设计等 等也要被测试。
设计技术
2013-7-31
5
课程由来
软件工程
目标:解决沟通和集成问题 策略:控制错误
错误
缺陷/Bug/Defect/Error 狭义: 软件定义、设计、实现、打包/部署、使用过程中出现 的与明确的需求不一致:不能正确完成任务、完成多 余的任务 广义: 还包括:改善产品的建议;与用户隐含的需求不一致
2013-7-31
4
课程由来
软件危机(1960s)
表现:软件质量不高、超出预算 根源:软件系统复杂性提高、多人合作 解决:
软件工程
Team 项目组 用户和Stakeholder 计算机系统 控制复杂:人的思维极限 抽象/建模 分解 重用:质量和效率 语言与开发包 OO
Modeling
开发人员核心技术
Testing
未来对于软件开发人员的技术要求
软件项目延期
成本增加 需求变化 质量不稳定 成本增加 项目中止
3
2013-7-31
课程由来
软件危机(1960s)
表现:软件质量不高、超出预算 根源:
硬件越来越复杂,摩尔定律
对软件在应用领域和规模上的期望越来越高 真实世界与计算机世界的映射 靠人来生产 多人开发
软件的发展速度落后于硬件的发展速度
软件测试:发现错误
2013-7-31
9
课程由来
SQA涉及的工作岗位
过程改进工程师
过程改进
测试工程师
软件测试
软件测试
开发工程师
软件调试
测试流程管理 测试度量
10
测试经理
2013-7-31
软件测试
目前越来越多的软件开发机构认识到 测试的重要性,并且成立了相应的测试 机构,如QA小组,并且配有专门的测试 人员。但从总体上来说,对测试的认识 程度仍旧不够,还存在以下诸多问题:
2013-7-31
15
90年后期~目前--关注有效的过程管理对于软 件测试的重要性,形成各种测试模型、测试能 力成熟度模型。 TMM(Testing Maturity Model)
2013-7-31
16
软件测试现状-现状1
测试工作滞后 大多数的错误都是在编码阶段产生的,但 也可能出现在整个项目生命周期中的其它地方。 SPR .75%的错误来自编码错误,10%的错误 来自分析,15%来自设计。 应该尽早发现错误,因为每迟一步,发现 错误所需时间就会越长。消除错误的成本就会 增加。
高级软件测试技术
Chapter 1 课程背景及介绍
2013-7-31
1
内容
课程的由来
软件危机 软件工程 软件质量保证 软件测试 目标 内容 形式和要求 参考书目
课程的介绍
2013-7-31
2
课程由来
软件危机(1960s)
表现:
软件质量不高
成本增加 项目延期
36
3、软件测试工程师与软件测试主管的区别
是否进行“测试计划”的编写 是否进行“测试总结报告”的编写 是否进行系统测试
2013-7-31
37
4、软件测试工程师与软件质量保证(SQA)人 员的区别
关注点不同(程序/过程) 手段及方法不同(测试/评审) 显现效果不同(显著/不显著)
初级测试工程师
初级职位,开发测试脚本,执行测试
测试工程师/程序分析员
1-2年资历,编写自动测试脚本程序
3-4年资历,确定测试过程并指导初级测试工程师 2-6年资历,监管1-3人工作,否则规模/成本估算
42
高级测试工程师/程序分析员
测试组负责人
2013-7-31
测试职业发展过程(续)
2013-7-31
22
Gartner Group公布的一项调查表明,一个 机构在进行标准的单元测试、集成测试和系统 测试阶段,即使做的再好,也还会有20%的错 误存在。到了审查和验收测试阶段,缺陷消除 率才最终上升到90%以上。这一调查结果意味 着必须将各种技术结合起来使用,并贯穿于整 个开发生命周期之中。
软件项目中的不同角色: 项目经理 系统分析人员 系统设计人员 程序员 配置管理员 测试人员(测试主管、测试开发工程师、测试 工程师) 质量保证人员
2013-7-31 35
2、软件测试工程师在项目组中的位置
矛盾体:时间、成本和质量 测试人员在开发小组中接受挑战
2013-7-31
2013-7-31
26
10个典型的测试问题(续)
5、没有足够的测试时间 4、对测试过分依赖 3、软件变更过快 2、测试处于无须状态 1、测试总是说“不”
2013-7-31
27
1.6软件测试员究竟做些什么
• 软件测试员的目标是发现软件缺陷。 常犯错误:产品团队要测试人员是为了 证实软件可以运行。 • 近一步,尽可能早地发现软件缺陷。 • 更近一步,并确保其得以修复。 • 其它任务:文档、技术支持…
45
2013-7-31
计算机技术知识
DB OO
程序语言 数据结构 Algorithm
开发人员核心技术
Patterns
以往对于软件开发人员的技术要求
2013-7-31
Modeling
46
计算机技术知识
Integration
DB
Architecture
OO 程序语言 数据结构 Algorithm
Patterns
2013-7-31
17
尽早测试,设计时顾及测试. 通过对实际工程的统计,发现在不同 阶段发现和更改一个错误的费用不同, 下表表明了具体的数据:
软件开发阶段 发现和更改错误的费用 编码阶段 1倍 测试阶段 4倍 维护阶段 16倍
2013-7-31
18
软件测试现状-现状2
缺乏合适的测试方法, 传统上的测试往往通过运行应用程序 的方法进行,没有一个系统的对测试实 施步骤的考虑。
技术技能 测试过程 测试组工作 技术管理 测试/项目管理 业务/产品管理
2013-7-31
44
技术技能
熟悉测试生存期 参与被测应用业务领域 评估/使用自动测试工具 开发、执行测试脚本 了解测试自动化编程技术 其他方面如OS、PL、NETWORK、 DATABASE