软件测试基础理论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
十、软件测试的生命周期
软件测试的生命周期可以分为以下4个阶段: 软件测试的生命周期可以分为以下4个阶段: 分析和计划阶段—— ——测试需求是整个测试过程的基 分析和计划阶段——测试需求是整个测试过程的基 确定测试对象以及测试工作的范围和作用。 础,确定测试对象以及测试工作的范围和作用。 测试设计阶段——包括测试计划,测试策略制定, ——包括测试计划 测试设计阶段——包括测试计划,测试策略制定, 测试时间安排,测试用例编写等。 测试时间安排,测试用例编写等。 测试执行阶段——已经按照测试计划进行展开了, ——已经按照测试计划进行展开了 测试执行阶段——已经按照测试计划进行展开了, 比如手工测试,自动化测试等。 比如手工测试,自动化测试等。 测试评估阶段——对版本测试覆盖率,测试质量, ——对版本测试覆盖率 测试评估阶段——对版本测试覆盖率,测试质量, 人员测试工作以及前期的一些工作制定情况进行评 评估。 价、评估。
20
十三、软件测试中的心理学 十三、
人类行为具有高度目标性, 人类行为具有高度目标性,确立一个正确的目 标有着重要的心理学影响。 标有着重要的心理学影响。软件测试的心理学 问题就是如何摆正测试的两个目标的关系, 问题就是如何摆正测试的两个目标的关系,使得 测试活动更加富有成效。 测试活动更加富有成效。 程序测试的过程具有破坏性 程序员应避免测试自己的程序 程序设计组织不应测试自己的程序
19
十二、软件测试人员的职业要求和素质 十二、
责任心 善于说服, 善于说服,有良好的沟通能力 团队合作精神 耐心、 耐心、细心和信心 时时保持怀疑态度, 时时保持怀疑态度,并且有缺陷预防的意识 不断学习的能力 测试的专业技能 具有编程方面的知识,不害怕进入陌生环境 具有编程方面的知识, 网络、系统、数据库) 能够搭建测试环境(网络、系统、数据库)
软件测试
0
一、软件测试的定义
使用人工或者自动手段来运行或测试某个系统程 序的过程,检验它是否满足规定的需求或弄清预 序的过程, 期结果与实际结果之间的差别. 期结果与实际结果之间的差别 (官方定义) 软件测试就是为了发现软件中的错误而审查软件 文档、 文档、检查软件数据和执行程序代码的过程
1
二、软件测试的目的
18
十一、测试结束的标准 十一、
测试超过了预定时间,则停止测试。 测试超过了预定时间,则停止测试。 执行了所有的测试用例,但并没有发现故障, 执行了所有的测试用例,但并没有发现故障, 则停止测试。 则停止测试。 使用特定的测试用例设计方案作为判断测试停 止的基础。 止的基础。 正面指出停止测试的具体要求, 正面指出停止测试的具体要求,即停止测试的 标准可定义为查出某一预订数目的故障。 标准可定义为查出某一预订数目的故障。 根据单位时间内查出故障的数量决定是否停止 测试。 测试。
5
为什么会出现软件缺陷
导致软件缺陷最大的原因是产品说明书( 导致软件缺陷最大的原因是产品说明书(需求 分析) 分析) 软件缺陷的第二大来源是设计 代码错误可以归咎于软件的复杂性、文档不足、 代码错误可以归咎于软件的复杂性、文档不足、 进度压力或者普通的低级错误,与一、二有关。 进度压力或者普通的低级错误,与一、二有关。 其他原因,如误解, 其他原因,如误解, 重复错误, 重复错误,测试 错误等只占极小的比例 。
4
软件缺陷的定义( 软件缺陷的定义(续)
软件未实现产品说明书要求的功能。 软件未实现产品说明书要求的功能。 软件出现了产品说明书指明不会出现的错误。 软件出现了产品说明书指明不会出现的错误。 软件实现了产品说明书未提到的功能。 软件实现了产品说明书未提到的功能。 软件未实现产品说明书虽未明确提及但应该实 现的目标。 现的目标。 软件难以理解、不易使用、运行缓慢或者—— 软件难以理解、不易使用、运行缓慢或者 从测试员的角度看——最终用户会认为不好。 最终用户会认为不好。 从测试员的角度看 最终用户会认为不好
其目的在于在软件交付使用前充分发现缺陷并协 助相关部门定位、解决缺陷, 助相关部门定位、解决缺陷,最后交付一个高质 量的软件给用户
2
三、软件缺陷
下面是一些软件失败的术语 缺点(defect) 偏差(variance) 缺点 偏差 故障(fault) 失败(failure) 故障 失败 问题(problem) 矛盾 矛盾(incosistency) 问题 错误(error) 特性殊(feature) 错误 特性殊 事件(incident) 缺陷 缺陷(bug) 事件 异常(anomaly) 异常
14
测试的分类(4) 测试的分类( 还可以动手程度就行分类: 还可以动手程度就行分类: 手动测试 自动化测试
15
八、软件测试的流程
需求测试 确认测试 集成测试 回归测试 单元测试 集成测试 性能测试 用户测试
16
九、软件测试中涉及的文档
软件测试过程中涉及的主要文档有: 软件测试过程中涉及的主要文档有: 测试计划 测试方案 测试用例 测试报告
21
谢
谢!
22
3
软件缺陷的定义
软件缺陷( ),常常又被叫做 软件缺陷(Defect),常常又被叫做 ),常常又被叫做Bug。所 。 谓软件缺陷, 谓软件缺陷,即为计算机软件或程序中存在的 某种破坏正常运行能力的问题、错误, 某种破坏正常运行能力的问题、错误,或者隐 藏的功能缺陷。 藏的功能缺陷。缺陷的存在会导致软件产品在 某种程度上不能满足用户的需要。 某种程度上不能满足用户的需要。IEEE7291983对缺陷有一个标准的定义:从产品内部看, 对缺陷有一个标准的定义: 对缺陷有一个标准的定义 从产品内部看, 缺陷是软件产品开发或维护过程中存在的错误、 缺陷是软件产品开发或维护过程中存在的错误、 毛病等各种问题;从产品外部看, 毛病等各种问题;从产品外部看,缺陷是系统 所需要实现的某种功能的失效或违背。 所需要实现的某种功能的失效或违背。
其他 设计 需求分析 代码编写
6
四、软件测试的目标
发现尽可能多的错误 发现可以通过测试避免的开发风险的规模和来源 实施测试来降低所发现的风险 确定测试何时可以结束 在开发项目的过程中将测试看作是一个标准项目。 在开发项目的过程中将测试看作是一个标准项目。
7
五、软件测试的原则
软件开发人员即程序员应当避免测试自己的程序 应尽早地和不断地进行软件测试 对测试用例要有正确的态度 一定要充分注意软件测试中的群集现象 严格执行测试计划,排除测试的随意性, 严格执行测试计划,排除测试的随意性,以避免 发生疏漏或者重复无效的工作 应当对每一个测试结果进行全面检查 妥善保存测试用例、测试计划、 妥善保存测试用例、测试计划、测试报告和最终 分析报告, 分析报告,以备回归测试及维护之用
9
七、软件测试的分类
软件测试是一项复杂的系统工程, 软件测试是一项复杂的系统工程,从不同的角 度考虑可以有不同的划分方法, 度考虑可以有不同的划分方法,对测试进行分 类是为了更好的明确测试的过程, 类是为了更好的明确测试的过程,了解测试究 竟要完成哪些工作, 竟要完成哪些工作,尽量做到测试的全面性
11
测试的分类(1) 测试的分类(
按是否需要执行被测软件来划分: 按是否需要执行被测软件来划分: 静态测试 动态测试
12
测试的分类(2) 测试的分类( 按阶段划分: 按阶段划分: 单元测试 集成测试 系统测试 验收测试 回归测试
13
测试的分类(3) 测试的分类(
按测试方法划分: 按测试方法划分: 黑盒测试 灰盒测试 白盒测试
10
软件测试类型总结
黑盒测试、白盒测试、灰盒测试、 黑盒测试、白盒测试、灰盒测试、单元测试 集成测试、功能测试、系统测试、 集成测试、功能测试、系统测试、回归测试 验收测试、负载测试、压力测试、 验收测试、负载测试、压力测试、性能测试 易用性测试、安装与反安装测试、 易用性测试、安装与反安装测试、恢复测试 安全性测试、兼容性测试、 安全性测试、兼容性测试、比较测试 Alpha测试 Beta测试 测试、 Alpha测试、Beta测试
8
ຫໍສະໝຸດ Baidu
六、软件测试的基本内容 软件测试主要工作内容是验证(verification) 软件测试主要工作内容是验证 和确认(validation ) 和确认
验证是保证软件正确地实现了一些 特定功能的一 系列活动, 系列活动, 即保证软件以正确的方 式来做了这个事 件 确认是一系列的活动和过程,目的是想证实在一个 确认是一系列的活动和过程, 给定的外部环境中软件的逻辑正确性, 给定的外部环境中软件的逻辑正确性,即保证软件 做了你所期望的事情