软件测试工程师培训

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件测试的目的
2. 通过分析错误产生的原因还可以帮助发现 当前开发工作所采用的软件过程的缺陷, 以便进行软件过程改进。同时通过对测试 结果的分析整理,还可以修正软件开发规 则,并为软件可靠性分析提供依据。
软件测试的目的
3. 测试是以评价一个程序或者系统属性为目 标的一种活动,测试是对软件质量的度量 与评估,以验证软件的质量满足用户的需 求,为用户选择与接受软件提供有力的 依据。
软件生存周期
理解正确性 设计正确性 表达正确性
需求规格说明书 分析员:我可以提供 什么? 设计说明书 设计员:我要让软件 怎么做?
理解正确性 编码正确性
源程序 程序员:我要让计算 机怎么做?
理解正确性 表达正确性
软件需求 用户:我要 什么?
输入正确性 运行正确性
运行结果 计算机:程序运行 得到什么?
软件测试的原则
• 充分注意群集现象。 • 完全测试是不可能的,测试需要终止。 • 测试无法显示软件潜在的错误 • 妥善保存一切测试过程文档。
培训内容
• 软件测试的定义 • 软件测试的模型 • 测试策略
软件测试的模型
• • • • V模型 W模型 H模型 其他模型
V模型
用户需求 软件产品 验收测试 需求分析 确认和系统测试 概要设计 集成测试 详细设计 单元测试 ——制定测试案例 编码
软件测试的目的
• ×证明程序的正确性——除非仅处理有限种情 况 • √发现程序错误——直接目标 • √检查系统是否满足需求——期望目标
软件测试的目的
• 测试目的延伸(软件工程):
1. 测试的目的是想以最少的人力、物力和时 间找出软件中潜在的各种错误和缺陷,通 过修正各种错误和缺陷提高软件质量, 回避软件发布后由于潜在的软件缺陷和错 误造成的隐患带来的商业风险。
软件测试工程师培训 测试技术基础
中国软件评测中心 www.cstc.org.cn
培训内容
• 软件测试的定义 • 软件测试的模型 • 测试策略
ห้องสมุดไป่ตู้
软件测试的定义
• • • • • • 软件生存周期 软件测试的概念 软件测试的对象 软件测试的分类 软件测试的目的 软件测试的原则
软件生存周期
• 软件生存周期:项目规划、需求定义和需求 分析、软件设计、程序编码、软件测试、运 行维护。 • 问题:需求定义与需求分析?
软件测试的概念
• 确认:保证所生产的软件可追溯到用户需求 的一系列活动。(生产的软件是否正确) • 确认(validation):are we building the right product ? • 验证:保证软件正确地实现了特定功能的一 系列活动。(生产软件的步骤是否正确) • 验证(verification):are we building the product right ?
V模型-应用
• 需求、设计和编码的开发活动随时间而进行, 而相应的测试活动(即针对需求、设计和编 码的测试)开展的次序正好相反。 • 成功应用V模型的关键因素是设计测试案例 的时机。
V模型-问题
• 测试是开发之后的一个阶段。 • 测试的对象就是程序本身。 • 实际应用中容易导致需求阶段的错误一直到 最后系统测试阶段才被发现。
相符吗?
软件测试的概念
• 软件生存期的各个阶段都可能产生错误。而 软件需求分析、设计和实现阶段是软件的主 要错误来源。 • 问题:需求分析、设计都可能引入什么错误; 其严重性如何?
软件测试的概念
• 经典定义:
– 在规定的条件下对程序进行操作,以发现错误和 对软件质量进行评估
A+B+C=>D
– 使用人工或自动化手段来运行或测定某个系统的 过程,其目的在于检验它是否满足规定的需求或 是发现预期结果与实际结果之间的差别。
软件测试的概念
• 扩展定义:
– 软件测试就是在软件投入运行前,对软件需求分 析、设计规格说明和编码的最终复审,是软件质 量保证的关键步骤。 – 软件测试是根据软件开发各阶段的规格说明和程 序的内部结构而精心设计一批测试用例(包括输 入数据与预期输出结果),并利用这些测试用例 运行软件,以发现软件错误的过程。
软件测试的分类
• 按测试用例设计方法:白盒测试、黑盒测试。 • 按测试策略和过程:单元测试、集成测试、 确认测试、系统测试、验收测试。 • 按实施对象:企业内部测试、最终用户测试、 第三方测试。
软件测试的目的
• 测试的最直接的目的是寻找错误,并且是尽 最大可能找出最多的错误。 • 观点1:好的测试方案是极可能发现迄今为止 尚未发现的错误的测试方案。 • 观点2:成功的测试是发现了至今为止尚未发 现的错误的测试。 • 测试方案1、测试方案2 • 测试方案3
W模型
用户需求 用 户 需 求 V&V 验收测试设计 交付 需求分析 与系统设计
软件测试的概念
• 广义的软件测试是由确认、验证、测试3个方 面组成。
– 确认:评估将要开发的软件产品是否正确无误、 可行和有价值的。确认意味着确保一个待开发软 件是正确无误的,是对软件开发构想的检测。 – 验证:检测软件开发的每个阶段、每个步骤结果 是否正确无误,是否与软件开发各阶段的要求或 期望的结果相一致。验证意味着确保软件会正确 无误地实现软件的需求,开发过程是沿着正确的 方向进行的。 – 测试:与狭隘的测试概念统一。
软件测试的目的
验证用户需求
发现软件缺陷
目的:在软件分 发到最终用户手 中之前,发现并 解决软件缺陷
改进开发过程
软件测试的原则
• 所有的软件测试都应追溯到用户需求。 • 尽早地和不断地进行软件测试。 • 程序员应避免检查测试自己编写的程序。 • 执行测试计划,尽量避免测试的随意性。 • 增量测试,由小到大。
软件测试的概念
• 确认主要体现在计划阶段、需求分析阶段, 也会出现在测试阶段;验证主要体现在设计 阶段、编码阶段;测试主要体现在编码阶段 和测试阶段。 • 确认、验证与测试是相辅相成的。确认产生 验证和测试的标准,验证和测试帮助完成确 认。
软件测试的对象
• 软件测试不等于程序测试。 • 软件测试贯串于软件定义和开发的整个期间。 • 需求规格说明、概要设计说明、详细设计说 明、程序、用户文档都是软件测试的对象。
相关文档
最新文档