软件测试技术概论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
便于团队交流、便于重复测试、便于跟踪统计、便 于用户自测,缺点是耗时。
zhoubaogang@zust.edu.cn
软件测试的原则 (3)
zhoubaogang@zust.edu.cn
应当把“尽早和不断地测试”作为测试人员的座 右铭 回归测试的关联性一定要引起充分的注意,修改 一个错误而引起更多错误出现的现象并不少见 测试应从“小规模”开始,逐步转向“大规模”。 不可将测试用例置之度外,排除随意性。 必须彻底检查每一个测试结果。
标准定义
使用人工或自动手段,来运行或测试某个系统的过 程,其目的在于检验它是否满足规定的需求或弄清楚 预期结果与实际结果之间的差别(1983.IEEE软件工 程标准术语)
高质量的软件
应该是相对的无产品缺陷(Bug Free)或只有极少量 的缺陷, 它能够准时递交给用户并且所用的费用都是在 预算内的并且满足客户需求,是可维护的。但是, 有 关质量的好坏最终评价依赖于用户的反馈。
- 软件分析师 Software Analyst
- 软件咨询顾问 Software Consultant - ……
什么是软件
软件 不等于 程序 软件 = 程序 + 文档 软件测试 = 程序测试 + 文档测试
zhoubaogang@zust.edu.cn
软件组成
1. 客户需求 - Customer Requirements
良好测试用例的特征
可以最大程度地找出软件隐藏的缺陷 可以最高效率的找出软件缺陷 可以最大程度地满足测试覆盖要求 既不过分复杂、也不能过分简单 使软件缺陷的表现可以清楚的判定 测试用例包含期望的正确的结果 待查的输出结果或文件必须尽量简单明了 不包含重复的测试用例 测试用例内容清晰、格式一致、分类组织
zhoubaogang@zust.edu.cn
课程目标
本课程是计算机或软件专业课程,重在培 养我们的实践能力,适应软件企业的工作环境 和业界标准,并和国际先进的软件开发理念和 测试技术保持同步。
通过本课程的学习,了解并掌握软件产品 质量保证的基本思想和科学体系、软件测试技 术的基本内容,以及软件测试的方法、技术和 工具的使用,为全面掌握软件技术和软件项目 管理打下坚实的基础
zhoubaogang@zust.edu.cn
必须意识到:“软件” ≠ 编程,它有自己的生 命周期 (life cycle)。大型软件系统的开发与其它 工程项目如建造桥梁、制造飞机、轮船等的开 发是同理的。
软件测试
早期定义
zhoubaogang@zust.edu.cn
软件测试就是为了发现错误而执行程序或系统的过 程。
软件测试技术
- 概论
行业分析
zhoubaogang@zust.edu.cn
行业分析
zhoubaogang@zust.edu.cn
行业分析
zhoubaogang@zust.edu.cn
行业分析
zhoubaogang@zust.edu.cn
国内软件测试现状
(1)软件开发完成后进行软件测试 (2)软件发布后如果发现质量问题,是软件测 试人员的责任 (3)软件测试哪个人员都行 (4)软件测试是测试人员的事情,与程序员无 关 (5)项目进度紧张时少做测试,时间富裕时多 做测试 (6)软件测试是没有前途的工作,只有程序员 才是软件高手
zhoubaogang@zust.edu.cn
误区二:软件测试技术要求不高,至少比编程容易多了
误区三:有时间就多测试一些,来不及就少测试一些
误区四:软件测试是测试人员的事,与开发人员无关
误区五:根据软件开发瀑布模型,软件测试是开发后期的 一个阶段
软件测试的原则
① 所有测试的标准都是建立在用户需求之上。 ② 软件测试必须基于“质量第一”的思想去开展各项工作, 当时间和质量冲突时,时间要服从质量。 ③ 事先定义好产品的质量标准,只有有了质量标准,才能 根据测试的结果,对产品的质量进行分析和评估。
6. 在线帮助 - Online help
7. 产品发布注释 - Release Notes / Read Me 8. 产品软件包 - Release packages
软件产品的其他内容
• 帮助文件 Help files • 示例 Samples and examples to illustrate points • 产品支持文档 Product support information • 错误信息 Error messages • 安装手册 Setup and installation instructions • 用户手册 User manual(s) •… …
Data error
Run error
Limitation in features Difference between actual results and expected results
Unfriendly UI, Low performance
Others
Bug的分类
一定要注意测试中的错误集中发生现象,这和程
序员的编程水平和习惯有很大的关系 对测试错误结果一定要有一个确认的过程。
软件测试环境
定义
zhoubaogang@zust.edu.cn
软件 + 硬件 + 网络
如何搭建测试环境
真实(项目、产品) 干净 无毒 独立(测试与开发)
软件测试环境的分类
软件开发环境
zhoubaogang@zust.edu.cn
软件在开发过程中使用的环境
软件生产环境
最终用户使用的环境。
测试用例概述
如何以最少的人力、资源投入,在最短的时间内完
zhoubaogang@zust.edu.cn
成测试,发现软件系统的缺陷,保证软件的优良品 质,则是软件公司探索和追求的目标。
zhoubaogang@zust.edu.cn
解决问题的想法
• Better management 管理 • Different team organizations 组织 • Better languages & tools 语言和工具 • Uniform coding conventions 编程惯例
zhoubaogang@zust.edu.cn
软件的分类
功能划分
zhoubaogang@zust.edu.cn
系统软件和应用软件
技术架构划分
单机版、C/S、B/S
用户划分
产品软件和项目软件
开发的规模划分
大、中、小
Bug是什么
Any problem/disfigurement/limitation in product design & development
测试用例就是将软件测试的行为活动,做一个科学化的
组织归纳。
软件测试是有组织性、步骤性和计划性的,为了能将软
件测试的行为转换为可管理的、具体量化的模式,需要 创建和维护测试用例
为什么需要测试用例
在开始实施测试之前设计好测试用例,避免盲目测试并
zhoubaogang@zust.edu.cn
……
课程服务于
- 测试工程师 Test engineer
- QA工程师/经理 QA Engineer/Manager - 软件工程过程组成员 The member of SEPG - 项目经理 Project manager - 程序员 Programmer
zhoubaogang@zust.edu.cn
zhoubaogang@zust.edu.cn
测试用例的组成元素与范例
测试用例编号ID
测试用例标题 测试的模块
zhoubaogang@zust.edu.cn
• 测试输入条件 • 期望的输出结果 • 其它说明
ID 001
类型 登录
标题 输入正确密码
测试步骤
期望的结果
说明
用户在登录界面输入正确的密码后, 程序提示登录成功 按回车键
002
登录
输入错误密码
用户在登录界面输入错误的密码后, 程序提示输入密码 按回车键 错误,请重新输入
用户在登录界面没有输入任何密码 使密码为空后,按回车键 程序提示用户没有 输入密码,请输入 程序应该告知用 户没有输入密码, 而不是密码错误
003
登录
不输入的空密 码
测试用例编写注意事项
为什么要写用例
zhoubaogang@zust.edu.cn
“客户”广义定义 :
-内在的定义 : 下一个环节/工序的接收者,更广的服
务的对象,周围有任何联系或影响的团队、人。
软件的设计者,程序的检测者,项目管理者,品质管理人员 …
- 广泛的定义 : 最终用户,客户管理,
软件测试误区
误区一:如果发布出去的软件有质量问题,都是软件测试 人员的错
功能模块的测试用例的通用化和复用化则会使软件测试
zhoubaogang@zust.edu.cn
易于开展,并随着测试用例的不断细化其效率也不断攀
升;
根据测试用例的操作步骤和执行结果,为分析软件缺陷
和程序模块质量提供依据;可以方便地书写软件测试缺 陷报告;
可以根据测试用例的执行等级,实施不同级别的测试; 便于大型软件测试项目外包测试指导基础;
分类一(广义上,软件生命周期,与用户需求不
符的问题)
1)完全没有实现的功能 2)基本实现功能,但有功能上或性能上的问题 3)实现了用户不需要的功能
分类二
(测试执行阶段的问题)
问题出在哪里?
• 项目没有被很好地理解;计划不 周,最终导致进度拖延。 • 没有充分的文档资料。 • 人与人的交流比写程序困难得多。 • 软件可靠性缺少度量的标准,质 量无法保证。 • 软件难以维护、不易升级。
Feature or function can’t work Unreasonable design
zhoubaogang@zust.edu.cn
任何程序、系统中的问题,和产品设计书 的不一致性,不能满足用户的需求
Partly realization in function
什么是 Bug?
zhoubaogang@zust.edu.cn
课程目标
通过本课程的学习,我们还可以了解并掌握:
zhoubaogang@zust.edu.cn
有效的测试策略、方法和技术 测试计划和测试用例的设计 测试自动化的引入、应用 测试团队的建立和测试项目的管理 更清楚、准确地报告测试缺陷 对软件产品质量的正确评估 软件测试和质量保证的关系和区别
提高测试效率,减少测试的不完全性;
测试用例的使用令软件测试的实施重点突出、目的明确 根据测试用例的多少和执行难度,估算测试工作量,便
于测试项目的时间和资源管理与跟踪;
减少回归测试的复杂程度,在软件版本更新后只需修正
Hale Waihona Puke Baidu
少量的测试用例便可展开测试工作,降低工作强度、缩 短项目周期;
为什么需要测试用例(2)
测试用例是测试工作的指导,是软件测试的必须遵
守的准则,更是软件测试质量稳定的根本保障。
什么是测试用例
测试用例可以独立进行测试执行的最小单元 测试内容的一系列情景和每个情景中必须依靠输入和输
zhoubaogang@zust.edu.cn
出,而对软件的正确性进行判断的测试文档,称为测试 用例。
zhoubaogang@zust.edu.cn
④ 软件项目一启动,软件测试也就是开始,而不是等程序
写完,才开始进行测试。 ⑤ 穷举测试是不可能的。甚至一个大小适度的程序,其路
径排列的数量也非常大,因此,在测试中不可能运行路
径的每一种组合。
软件测试的原则 (2)
⑥ 第三方进行测试会更客观,更有效。 ⑦ 软件测试计划是做好软件测试工作的前提。 ⑧ 测试用例是设计出来的,不是写出来的,所以要根据测 试的目的,采用相应的方法去设计测试用例,从而提高 测试的效率,更多地发现错误,提高程序的可靠性。 ⑨ 对发现错误较多的程序段,应进行更深入的测试。一般 来说,一段程序中已发现的错误数越多,其中存在的错 误概率也就越大。 ⑩ 重视文档,妥善保存一切测试过程文档(测试计划、测 试用例、测试报告等)
2. 市场需求文档 - MRD (Marketing Requirement
zhoubaogang@zust.edu.cn
Document)
3. 软件规格说明书 - Specifications
4. 技术设计文档 – Technical Design Docs 5. 测试文档 Test Documents
zhoubaogang@zust.edu.cn
软件测试的原则 (3)
zhoubaogang@zust.edu.cn
应当把“尽早和不断地测试”作为测试人员的座 右铭 回归测试的关联性一定要引起充分的注意,修改 一个错误而引起更多错误出现的现象并不少见 测试应从“小规模”开始,逐步转向“大规模”。 不可将测试用例置之度外,排除随意性。 必须彻底检查每一个测试结果。
标准定义
使用人工或自动手段,来运行或测试某个系统的过 程,其目的在于检验它是否满足规定的需求或弄清楚 预期结果与实际结果之间的差别(1983.IEEE软件工 程标准术语)
高质量的软件
应该是相对的无产品缺陷(Bug Free)或只有极少量 的缺陷, 它能够准时递交给用户并且所用的费用都是在 预算内的并且满足客户需求,是可维护的。但是, 有 关质量的好坏最终评价依赖于用户的反馈。
- 软件分析师 Software Analyst
- 软件咨询顾问 Software Consultant - ……
什么是软件
软件 不等于 程序 软件 = 程序 + 文档 软件测试 = 程序测试 + 文档测试
zhoubaogang@zust.edu.cn
软件组成
1. 客户需求 - Customer Requirements
良好测试用例的特征
可以最大程度地找出软件隐藏的缺陷 可以最高效率的找出软件缺陷 可以最大程度地满足测试覆盖要求 既不过分复杂、也不能过分简单 使软件缺陷的表现可以清楚的判定 测试用例包含期望的正确的结果 待查的输出结果或文件必须尽量简单明了 不包含重复的测试用例 测试用例内容清晰、格式一致、分类组织
zhoubaogang@zust.edu.cn
课程目标
本课程是计算机或软件专业课程,重在培 养我们的实践能力,适应软件企业的工作环境 和业界标准,并和国际先进的软件开发理念和 测试技术保持同步。
通过本课程的学习,了解并掌握软件产品 质量保证的基本思想和科学体系、软件测试技 术的基本内容,以及软件测试的方法、技术和 工具的使用,为全面掌握软件技术和软件项目 管理打下坚实的基础
zhoubaogang@zust.edu.cn
必须意识到:“软件” ≠ 编程,它有自己的生 命周期 (life cycle)。大型软件系统的开发与其它 工程项目如建造桥梁、制造飞机、轮船等的开 发是同理的。
软件测试
早期定义
zhoubaogang@zust.edu.cn
软件测试就是为了发现错误而执行程序或系统的过 程。
软件测试技术
- 概论
行业分析
zhoubaogang@zust.edu.cn
行业分析
zhoubaogang@zust.edu.cn
行业分析
zhoubaogang@zust.edu.cn
行业分析
zhoubaogang@zust.edu.cn
国内软件测试现状
(1)软件开发完成后进行软件测试 (2)软件发布后如果发现质量问题,是软件测 试人员的责任 (3)软件测试哪个人员都行 (4)软件测试是测试人员的事情,与程序员无 关 (5)项目进度紧张时少做测试,时间富裕时多 做测试 (6)软件测试是没有前途的工作,只有程序员 才是软件高手
zhoubaogang@zust.edu.cn
误区二:软件测试技术要求不高,至少比编程容易多了
误区三:有时间就多测试一些,来不及就少测试一些
误区四:软件测试是测试人员的事,与开发人员无关
误区五:根据软件开发瀑布模型,软件测试是开发后期的 一个阶段
软件测试的原则
① 所有测试的标准都是建立在用户需求之上。 ② 软件测试必须基于“质量第一”的思想去开展各项工作, 当时间和质量冲突时,时间要服从质量。 ③ 事先定义好产品的质量标准,只有有了质量标准,才能 根据测试的结果,对产品的质量进行分析和评估。
6. 在线帮助 - Online help
7. 产品发布注释 - Release Notes / Read Me 8. 产品软件包 - Release packages
软件产品的其他内容
• 帮助文件 Help files • 示例 Samples and examples to illustrate points • 产品支持文档 Product support information • 错误信息 Error messages • 安装手册 Setup and installation instructions • 用户手册 User manual(s) •… …
Data error
Run error
Limitation in features Difference between actual results and expected results
Unfriendly UI, Low performance
Others
Bug的分类
一定要注意测试中的错误集中发生现象,这和程
序员的编程水平和习惯有很大的关系 对测试错误结果一定要有一个确认的过程。
软件测试环境
定义
zhoubaogang@zust.edu.cn
软件 + 硬件 + 网络
如何搭建测试环境
真实(项目、产品) 干净 无毒 独立(测试与开发)
软件测试环境的分类
软件开发环境
zhoubaogang@zust.edu.cn
软件在开发过程中使用的环境
软件生产环境
最终用户使用的环境。
测试用例概述
如何以最少的人力、资源投入,在最短的时间内完
zhoubaogang@zust.edu.cn
成测试,发现软件系统的缺陷,保证软件的优良品 质,则是软件公司探索和追求的目标。
zhoubaogang@zust.edu.cn
解决问题的想法
• Better management 管理 • Different team organizations 组织 • Better languages & tools 语言和工具 • Uniform coding conventions 编程惯例
zhoubaogang@zust.edu.cn
软件的分类
功能划分
zhoubaogang@zust.edu.cn
系统软件和应用软件
技术架构划分
单机版、C/S、B/S
用户划分
产品软件和项目软件
开发的规模划分
大、中、小
Bug是什么
Any problem/disfigurement/limitation in product design & development
测试用例就是将软件测试的行为活动,做一个科学化的
组织归纳。
软件测试是有组织性、步骤性和计划性的,为了能将软
件测试的行为转换为可管理的、具体量化的模式,需要 创建和维护测试用例
为什么需要测试用例
在开始实施测试之前设计好测试用例,避免盲目测试并
zhoubaogang@zust.edu.cn
……
课程服务于
- 测试工程师 Test engineer
- QA工程师/经理 QA Engineer/Manager - 软件工程过程组成员 The member of SEPG - 项目经理 Project manager - 程序员 Programmer
zhoubaogang@zust.edu.cn
zhoubaogang@zust.edu.cn
测试用例的组成元素与范例
测试用例编号ID
测试用例标题 测试的模块
zhoubaogang@zust.edu.cn
• 测试输入条件 • 期望的输出结果 • 其它说明
ID 001
类型 登录
标题 输入正确密码
测试步骤
期望的结果
说明
用户在登录界面输入正确的密码后, 程序提示登录成功 按回车键
002
登录
输入错误密码
用户在登录界面输入错误的密码后, 程序提示输入密码 按回车键 错误,请重新输入
用户在登录界面没有输入任何密码 使密码为空后,按回车键 程序提示用户没有 输入密码,请输入 程序应该告知用 户没有输入密码, 而不是密码错误
003
登录
不输入的空密 码
测试用例编写注意事项
为什么要写用例
zhoubaogang@zust.edu.cn
“客户”广义定义 :
-内在的定义 : 下一个环节/工序的接收者,更广的服
务的对象,周围有任何联系或影响的团队、人。
软件的设计者,程序的检测者,项目管理者,品质管理人员 …
- 广泛的定义 : 最终用户,客户管理,
软件测试误区
误区一:如果发布出去的软件有质量问题,都是软件测试 人员的错
功能模块的测试用例的通用化和复用化则会使软件测试
zhoubaogang@zust.edu.cn
易于开展,并随着测试用例的不断细化其效率也不断攀
升;
根据测试用例的操作步骤和执行结果,为分析软件缺陷
和程序模块质量提供依据;可以方便地书写软件测试缺 陷报告;
可以根据测试用例的执行等级,实施不同级别的测试; 便于大型软件测试项目外包测试指导基础;
分类一(广义上,软件生命周期,与用户需求不
符的问题)
1)完全没有实现的功能 2)基本实现功能,但有功能上或性能上的问题 3)实现了用户不需要的功能
分类二
(测试执行阶段的问题)
问题出在哪里?
• 项目没有被很好地理解;计划不 周,最终导致进度拖延。 • 没有充分的文档资料。 • 人与人的交流比写程序困难得多。 • 软件可靠性缺少度量的标准,质 量无法保证。 • 软件难以维护、不易升级。
Feature or function can’t work Unreasonable design
zhoubaogang@zust.edu.cn
任何程序、系统中的问题,和产品设计书 的不一致性,不能满足用户的需求
Partly realization in function
什么是 Bug?
zhoubaogang@zust.edu.cn
课程目标
通过本课程的学习,我们还可以了解并掌握:
zhoubaogang@zust.edu.cn
有效的测试策略、方法和技术 测试计划和测试用例的设计 测试自动化的引入、应用 测试团队的建立和测试项目的管理 更清楚、准确地报告测试缺陷 对软件产品质量的正确评估 软件测试和质量保证的关系和区别
提高测试效率,减少测试的不完全性;
测试用例的使用令软件测试的实施重点突出、目的明确 根据测试用例的多少和执行难度,估算测试工作量,便
于测试项目的时间和资源管理与跟踪;
减少回归测试的复杂程度,在软件版本更新后只需修正
Hale Waihona Puke Baidu
少量的测试用例便可展开测试工作,降低工作强度、缩 短项目周期;
为什么需要测试用例(2)
测试用例是测试工作的指导,是软件测试的必须遵
守的准则,更是软件测试质量稳定的根本保障。
什么是测试用例
测试用例可以独立进行测试执行的最小单元 测试内容的一系列情景和每个情景中必须依靠输入和输
zhoubaogang@zust.edu.cn
出,而对软件的正确性进行判断的测试文档,称为测试 用例。
zhoubaogang@zust.edu.cn
④ 软件项目一启动,软件测试也就是开始,而不是等程序
写完,才开始进行测试。 ⑤ 穷举测试是不可能的。甚至一个大小适度的程序,其路
径排列的数量也非常大,因此,在测试中不可能运行路
径的每一种组合。
软件测试的原则 (2)
⑥ 第三方进行测试会更客观,更有效。 ⑦ 软件测试计划是做好软件测试工作的前提。 ⑧ 测试用例是设计出来的,不是写出来的,所以要根据测 试的目的,采用相应的方法去设计测试用例,从而提高 测试的效率,更多地发现错误,提高程序的可靠性。 ⑨ 对发现错误较多的程序段,应进行更深入的测试。一般 来说,一段程序中已发现的错误数越多,其中存在的错 误概率也就越大。 ⑩ 重视文档,妥善保存一切测试过程文档(测试计划、测 试用例、测试报告等)
2. 市场需求文档 - MRD (Marketing Requirement
zhoubaogang@zust.edu.cn
Document)
3. 软件规格说明书 - Specifications
4. 技术设计文档 – Technical Design Docs 5. 测试文档 Test Documents