软件测试概论
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
New light, New life
软件测试流程
软件测试的起源
New light, New life
软件测试基本概念
经典定义
软件测试的经典定义在规定的条件下对程序进行操作, 以发现程序错误,衡量软件质量,并对其是否能满足 设计要求进行评估的过程。
软件测试概念
广义
广义上讲,测试是指软件产品生存周期内所有的检 查 、 评审和确认活动 。如 :设计评审、 系统测试
软件测试与软件质量区别
质量保证
质量保证(QA):通过预防、检查与改进来保证软件 质量。所关注的是软件质量的检查与测量,主要着眼 于软件开发活动中的过程、步骤和产物。
软件测试
软件测试:关注的不是过程的活动,而是对过程的产物 及开发出的软件进行剖析。
New light, New life
软件测试基本概念
软件测试的类型
按 是 否 查 按是否查看代码划分 看 代 码 划 分
按是否运行程序划分
按阶段划分
按 是 否 查 看 代 码 划 分
按 是 否 其它划分 查 看 代 码 划 分
按 是 否 查 看 代 码 划 分
灰 盒 测 试
黑 盒黑 测盒 试测 试
百度文库白 盒 测 试
静 态 测 试
黑 盒黑 测盒 试测 试
BVT测试:Build Verification Test
冒烟测试
冒烟测试的对象:是每一个新编译需要正式测试的版本,目的是确认软件基本 功能正常,可以进行后续的正式测试工作
强调从客户的角度,即是从使用系统的用户的角度,来测试系统
敏捷测试
重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段
特点:高度迭代,有周期性,并且能够及时、持续地响应客户的频繁反馈
New light, New life
软件测试的类型
问题:软件测试类型总结?
软件测试类型
按测试阶段划分
按是否运行程序划分
按是否查看代码划分
其它划分
单 元 测 试
集 成 测 试
系 统 测 试
验 收 测 试
静 态 测 试
动 态 测 试
白 盒 测 试
软件测试的类型
测试名称 单元测试 集成测试 系统测试
测试对象
最小模块如函数
模块间的接口如参 数传递 整个系统如软硬件 整个系统如软硬件
测试依据
《详细设计》 《概要设计》 《需求规格说明书》 《需求规格说明书》 +《验收标准》
测试人员
白盒测试工程师或 开发人员 白盒测试工程师或 开发人员 黑盒测试工程师 主要是用户,还可 能有测试/开发人 员
灰 盒 测 试
黑 盒 测 试
回 归 测 试
冒 烟 测 试
敏 捷 测 试
非 正 式 验 收 测 试
正 式 的 验 收 测 试
功 能 测 试
性 能 测 试
黑 盒 测 试
白 盒 测 试
单 元 测 试
集 成 测 试
静 态 测 试
动 态 测 试
功 能 测 试
性 能 测 试
New light, New life
优 点
为项目提供了按阶段划分 的检查点。 当前一阶段完成后,只需 要去关注后续阶段。 可在迭代模型中应用瀑布 模型。 它提供了一个模板,这个 模板使得分析、设计、编码、 测试和支持的方法可以在该 模板下有一个共同的指导。
缺 点
各个阶段的划分完全固定, 阶段之间产生大量的文档, 极大地增加了工作量。 由于开发模型是线性的, 用户只有等到整个过程的末 期才能见到开发成果,从而 增加了开发风险。 通过过多的强制完成日期 和里程碑来跟踪各个项目阶 段。 瀑布模型的突出缺点是不 适应用户需求的变化。
New light, New life
软件测试基本概念
定义
综合来说是程序中存在一种破坏系统正常运行能力的问 题、错误或瑕疵,导致系统软件产品在某种程度上不能 满足用户的需求 软件在从需求、设计、编码、测试一直到交付用户公开 使用后的过程中,都有可能产生和发现缺陷。随着整个 开发过程的时间推移,更正缺陷或修复问题的费用呈几 何级数增长。
ß(beta) 开发公司组织各方面的的典型客户在日常工作中实际使用,并要求用户报告异常情况、提出改进意见,然后公 司再进行完善
正式的验收测试:有正规的测试过程,需要制定测试计划、定义测试方案、选择测试用例,进行测试, 结果提交。着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确,人机界面和其他方面。 New light, New life
H模型
H 模型的软件 测试过程强调测 试活动完全是独 立的,与开发等 其他流程可以并 发地进行,只要 某个测试点准备 就绪时,就可以 进行一个阶段的 测试活动,并且 这样的过程在整 个软件生命周期 中随时可以开始
X模型
X 模型是将程 序抽离成程序片 段进行测试,然 后通过各种的交 接活动,最终集 成为可执行的程 序 目前X 模型还 是一种未成熟的 模型,没有被文 档化,但是在X 模型中提出探索 性测试等理论也 是值得学习和借 鉴的
软件测试基本概念
原则1
所有的软件测试都应追溯到用户需求 应该尽早地和不断地进行软件测试 测试的规模由小而大,从单元测试到系统测试
软件测试的原则
原则2
完全测试是不可能的,测试需要终止 测试无法显示软件潜在的缺陷
原则3
充分注意测试中的群集现象(二八原则) 程序员要避免检查自己的程序 尽量避免测试的随意性
狭义
狭义上讲,测试是对软件产品质量的检验和评价。 它一方面检查软件产品质量中存在的质量问题, 同 时对产品质量进行客观的评价
New light, New life
软件测试基本概念
任务
软件测试人员的任务就是提高软件质量,但并不等同于 软件测试人员就是软件质量保证人员,因为测试只是质 量保证工作中的一个环节。
V模型
现有的模型中 最有代表性的是 V模型,20世 纪80年代后期 由Paul R ook提出。V 模型反映了测试 过程与分析、设 计阶段之间的关 系,认为测试的 过程存在不同级 别,并描述各个 阶段之间的对应 关系
W模型
W 模型是在V 模型的基础上发 展起来的,增加 开发阶段的同步 测试,形成W模 型,软件的错误 具有传递性,在 需求分析阶段产 生的错误会传递 到设计编码阶段 强调测试计划 等工作的先行和 对系统需求和设 计的测试,有利 于尽早发现问题
集成测试
目的:一些模块虽然能够单独地工作,但并不能保证连接起来也能正常工作。程序 在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。 方法:非增量式集成(自顶向下增量式)和增量式集成(自底向上增量式) 将已经确认的软件/硬件/外设等其他元素结合一起,进行各种组装测试和确认测试.
系统测试
又称为功能测试、数据驱动测试或者基于规格说明书的测试
黑盒测试
针对测试软件的功能需求进行测试。该测试不考虑软件的内部运作原理 方法:功能划分、等价类划分、边界值分析、决策表、错误推测等
New light, New life
软件测试的类型
静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估
软件测试概论
部门:DQA 姓名:吴丹阳 日期:2017/11/23
目录
目 录
1
软件测试基本概念 软件测试类型 软件测试模型 软件测试流程
2 3 4
New light, New life
01
软件测试基本概念
S t r o n g P r e p a r a t i o n 合作QQ: 243001978
目的1
软件测试的目的是为了发现尽可能多的缺陷 是为了证明软件有缺陷,而不是证明软件中没有缺陷
软件测试的目的
目的2
以较少的用例/时间和人力找出软件中的各种错误和缺陷 一个成功的测试是指揭示了迄今为止尚未发现的错误
目的3
最终目的是确保软件的功能符合用户的需求,把尽可能 多的问题在发布或交付前发现并改正
New light, New life
New light, New life
软件测试的模型
瀑布模型
该阶段完成后生 成需求说明书
设计说 明书
源程序 清单 测试 报告
特点: 上一阶段的变 换结果是下一 阶段的变换的 输入,相邻两个 阶段具有因果关 系,紧密相联。
软件维护报 告
New light, New life
软件测试的模型
瀑布模型的优缺点
动 态 测 试
单 元 测 试
集 成 测 试
系 统 黑 测 盒 试 测 试
系 统 测 试
回 归 测 试
冒 烟黑 测盒 试测 试
随 机 测 试
New light, New life
软件测试的类型
又称结构测试、逻辑驱动测试或基于程序代码的测试
白盒测试
通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例 方法:语句覆盖法、判定(分支)覆盖法、条件覆盖法、分支-条件覆盖、路径覆盖
Bug的定义
修复成本
New light, New life
软件测试基本概念
素质1
具有责任心、有担当、细心、认真
测试人员素质
素质2
具有探索精神和坚持不懈的精神 具有创造性和追求完美的意识
素质3
良好的沟通能力和风险预估能力
New light, New life
02
软件测试的类型
S t r o n g P r e p a r a t i o n 合作QQ: 243001978
介于白盒测试与黑盒测试之间的,灰盒测试关注输出对于输入的正确性,同时也 关注内部表现
灰盒测试
结合白盒测试和黑盒测试的要素。考虑用户端、特定的系统知识和操作环境。 它在系统组件的协同性环境中评价应用软件的设计 由方法和工具组成,这些方法和工具取材于应用程序的内部知识和与之交互的环 境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率
静态测试
包括代码检查、程序结构分析、代码质量度量等。它可以由人工进行,也可以借助软 件工具自动进行
方式名称 桌面检查
执行人员 程序员 程序员和测试 员组成的审查 小组
检查内容
检查过程
???
对源程序代码进行分析、检验,并补充相关文档,发 现程序中的错误 通过阅读、讨论和 争议,以程序进行 静态分析的过程 第一步:小组成员提前阅读设计 规格书、程序文 本等相关文档 第二步:召开程序审查会,开发 人员读程序,审查小组讨论、发 现、解决问题
测试名称
白盒测试 白盒测试和白盒测 试相结合 黑盒测试 黑盒测试
验收测试
New light, New life
03
软件测试的模型
S t r o n g P r e p a r a t i o n 合作QQ: 243001978
软件测试的模型
模型的演变过程
瀑布模型
在20世纪70 年代,瀑布 模型一直是 惟一被广泛 采用的软件 过程模型, 现在它仍然 是软件工程 中应用得非 常广泛的过 程模型 瀑布模型是 一种线形的、 顺序的软件 开发模型
目的:验证系统是否满足了需求规格的定义,找出与需求规格不符或矛盾的地方,从 而提出更加完善的方案
范围:功能、界面、性能、安全性、安装、卸载、易用性、兼容性等
是一项确定产品是否能够满足合同或用户所规定需求的测试
验收测试
分类:非正式的验收测试:А(alpha) 开发公司组织内部人员模拟各类用户行为对即将上市的产品进行测试。
软件测试的类型
New light, New life
软件测试的类型
新版本测试时,重复执行上一个版本测试时使用的测试用例。防止出现“以前应用没有 的问题现在出问题了”
回归测试
回归测试是指重复以前的全部或部分的测试用例,以关键性模组为核心 新加入测试的模组,可能对其他模组产生副作用,故须进行某些程度的回归测试
代码审查
动态测试
动态测试需要在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查 找软件缺陷 包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等
New light, New life
软件测试的类型
又称结构测试、逻辑驱动测试或基于程序代码的测试
单元测试
通过逻辑覆盖、路径覆盖等方式选择测试用例,可以用测试覆盖率评价测试用例 方法:语句覆盖法、判定(分支)覆盖法、条件覆盖法、分支-条件覆盖、路径覆盖 又称组装测试或联合测试,在单元测试的基础上,将所有模块按照设计要求(如 根据结构图〕组装成为子系统或系统,进行集成测试
原型模型
原型开发指的 是建立一个系统 的早期版本的演 习(practice), 它不必反映最终 产品的所有性能, 而只要反映感兴 趣的一些方面
螺旋模型
1988年,巴 利·玻姆 (Barry Boehm) 正式发表了软件 系统开发的“螺 旋模型”,它将 瀑布模型和快速 原型模型结合起 来,强调了其他 模型所忽视的风 险分析,特别适 合于大型复杂的 系统