软件测试概述

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

基本的测试过程
测试计划和控制
测试计划的主要活动: 识别测试任务; 定义测试目标; 为了实现测试目标和任务确定必要的测试活动 ……
基本的测试过程
测试计划和控制:
测试控制是持续进行的活动:
基本的测试过程
测试分析和设计
测试分析和设计是将概括的测试目标转化为具 体的测试条件和测试用例的一系列活动。
缺陷相关术语的定义
故障/缺陷(Fault/Defect) 可能会导致软件组件或系统无法执行其定 义的功能的瑕疵
缺陷相关术语的定义
失效/失败(FAILURE) 组件/系统与预期的交付、服务或结果存在 的偏差
术语之间的关系
术语之间的关系
术语之间的关系
缺陷是由于人为错误或者环境因素导致软件系统 中存在的瑕疵; 运行存在缺陷的软件系统,并不一定会产生运行 错误或对用户产生消极的影响,即失效; 假如运行存在缺陷的软件系统,发生了错误或对 用户产生消极的影响,这就是失效 一个缺陷的存在并不一定会产生失效,但是有的 缺陷可以产生非常多的失效; 缺陷屏蔽:一个缺陷会被测试对象中的另外缺陷 所屏蔽。
原则七:不存在缺陷就是有用系统的谬论
假如系统无法使用,或不能完成用户的需求和期望, 发现和修改缺陷是没有任何意义的。
基本的测试过程
知识点:
认识从计划开始到结束过程的五个基本测试活 动和各自的任务(牢记)
基本的测试过程
测试计划和控制
测试分析和设计 测试实现和执行 评估出口准则和报告 测试结束活动
www.beyondtest.com 25
什么是软件测试
软件测试反向思维
代表人物:Glenford· J· Myers • 测试不应该着眼于验证软件是工作的,相反应该首 先认定软件是有错误的,然后用逆向思维去发现尽 可能多的缺陷 • 将验证软件可以正常工作作为测试目的,非常不利 于测试人员发现软件中的缺陷 三个重要观点 • 测试是为了证明程序有错,而不是证明程序无错误 • 一个好的测试用例在于它能发现以前未发现的错误 • 一个成功的测试是发现了以前未发现的错误的测试
20
CMM级别
CMM1:初始级,Initial,不可预测并且缺乏控制; CMM2:可重复级:Repeatable,可重复以前的主要经验; (关键过程区域:需求管理;软件项目计划;软件项目跟踪和监 督;软件子合合管理;软件质量保证;软件配置管理) CMM3:已定义级:Defined,过程被描述,并得到良好理解; (关键过程区域:组织过程定义;组织过程焦点;培训大纲;集 成软件管理;软件产品工程;组际协调;同行评审) CMM4:已管理级:Managed,过程被测量并受控; (关键过程区域:定量的过程管理;软件质量管理) CMM5:优化级,Optimizing,关注过程改进 (关键过程区域:缺陷预防;技术变更管理;过程变更管理)
什么是软件测试
软件测试的正向思维
出发点:使自己确信产品是能够正常工作的 主要代表人物:Bill Hetzel博士 • 测试就是建立一种信心,确信程序能够按期望的设 想进行(1973) • 评价一个程序和系统的特性或能力,并确定它是否 达到期望的结果。软件测试就是以此为目的的任何 行为(1983) 核心思想:测试方法是试图验证软件是工作的,即软 件的功能是按照预先的设计执行的,以正向思维,针 对系统的所有功能,逐个验证其正确性 一种狭义的软件测试定义
软件测试的对象
软件=程序+数据+文档
各个阶段有不同的测试对象 需求分析、概要设计、详细设计以及程序编码 等各个阶段所得到的文档,都应成为软件测试 的“对象”
• • • • 需求规格说明 概要设计规格说明 详细设计规格说明 源代码
测试与调试
www.beyondtest.com
31
测试的基本原则
软件测试的目的
以最少的人力、物力和时间找出软件中潜在的各 种错误和缺陷 通过修正各种错误和缺陷提高软件质量,避免软 件发布后由于潜在的软件错误和缺陷造成的隐患 所带来的商业风险 利用测试过程中得到的测试结果和测试信息,作 为后续项目开发和测试过程改进的重要输入,避 免在将来的项目开发和测试中重复同样的错误 采用更加高效的测试管理手段,提高软件测试的 效率和软件产品的质量
基本的测试过程
测试实现和执行
测试实现和执行阶段的主要活动包括:通过特 定的顺序组织测试用例来完成测试规程和脚本 的设计,并且包括测试执行所需的其他任何信 息,以及测试环境的搭建和运行测试。
基本的测试过程
测试实现和执行
主要任务: 测试用例的开发、实现并确定他们的优先级 开发测试规程并确定优先级,创建测试数据, 同时也可以准备测试用具和设计自动化测试脚 本开发; 根据测试规程创建测试套件,以提高测试执行 的效率; 确认已经正确搭建了测试环境; 确认并更新测试依据和测试用例间双向可追溯 性
可靠性
软 件 质 量
可使用性
效率
度 量 由 使 用 单 位 自 行 决 定
可维护性
可移植性
www.beyondtest.com
17
软件质量模型
功能性:当软件在制定条件下使用时,软件产品提供满足 明确和隐含需求的功能的能力。包括:适合性、准确性、 互操作性、安全性等; 可靠性:当软件在制定条件下使用时,软件产品维持规定 的性能级别的能力。包括成熟性、容错性、易恢复性等; 易用性:当软件在制定条件下使用时,软件产品被理解、 学习、使用和吸引用户的能力。包括:易理解性、易学性 、易操作性、吸引性等; 效率:在规定条件下,相对于所用资源的数量,软件产品 可提供适当性能的能力,包括:时间特性、资源利用性等
www.beyondtest.com
18
软件质量模型
维护性:软件产品可被修改的能力。修改 可能包括修正、改进或软件对环境、需求 和功能规格说明变化的适应。包括:易分 析性、易改变性、稳定性、可测试性等 可移植性:软件产品从一种环境迁移到另 外一种环境的能力。包括:适应性、易安 装性、共存性、易替换性等
人们本身容易犯错误 时间的压力 代码过于复杂 复杂的系统架构 技术的革新 多系统之间的交互 开发人员的技术能力 ……
为什么会存在缺陷
其Hale Waihona Puke Baidu环境的因素
辐射、电磁场和污染等
硬件年老失修或更换 系统不断的增加模块
缺陷相关术语的定义
错误(ERROR) 人为的产生不正确结果的行为
www.beyondtest.com
21
SQA和测试
SQA:Software Quality Assurance SQA:它所关注的是对质量的测量及检查 ,还有通过改进过程来提高软件的质量, 依次来指导软件的发行。采用“全面质量 管理”和“过程改进”的原理开展质量保 证工作
www.beyondtest.com
LOGO
第一章 软件测试概述
www.beyondtest.com
本章内容
为什么要测试 什么是测试 软件测试的目的与对象 测试的基本原则与过程 软件测试的误区 软件测试与质量
为什么要测试
知识点
通过具体的例子描述软件中的缺陷会以什么样 的方式损害个人、环境或者公司利益(理解) 区分引起缺陷的根本原因及其影响(理解) 通过举例的方式说明为什么需要测试(理解) 描述为什么测试是质量保证的一部分,通过举 例说明测试是如何来提高软件质量(理解) 理解术语:错误、缺陷、故障、失效的概念以 及相应的定义(牢记)
www.beyondtest.com 26
什么是测试
IEEE的定义:
在规定条件下运行系统或构件的过程。观察和 记录结果,并对系统或构件的某些方面给出评 价; 分析软件项目的过程。检测现有状况和所需状 况之间的不同,并评估软件项目的特性。 通过手工或自动化手段来检测软件中存在的缺陷 的过程。
www.beyondtest.com
19
CMM简介
CMM:Capability Maturity Model 能力成熟度模型
The CMM focuses on the process aspects of a Total Quality Management effort
www.beyondtest.com
22
SQA与测试
项目 工作性质 对象 焦点 范围 软件测试 技术性工作 软件产品 事后检验 在R&D部门或技术部门 SQA 管理性工作 软件过程 强调预防 在公司层次,跨所有部门,包括市 场、销售、客户服务、行政、后勤、 人事等部门
www.beyondtest.com
23
什么是测试
知识点
认识测试的总体目标(牢记) 举例说明软件生命周期中不同阶段的测试目标 (理解) 区分测试与调试的不同(理解)
软件产品质量满足用户要求的程度 软件各种属性的组合程度 用户对软件产品的综合反映程度 软件在使用过程中满足用户要求的程度
www.beyondtest.com
16
ISO软件质量模型
质量特性 质量子特性 适合性 准确性 互操作性 依从性 安全性 成熟性 容错性 易恢复性 易理解性 易学习性 易操作性 时间特性 资源特性 易分析性 稳定性 易变更性 易测试性 适应性 易安装性 遵循性 易替换性 度量 功能性
基本的测试过程
测试设计和分析
主要任务: 评审测试依据 评估测试依据和测试对象的可测性 识别测试条件并确定优先级 设计测试用例并确定优先级 确定测试条件和测试用例所需要的测试数据 规划测试环境的搭建和确定测试需要的基础设 施和工具 创建测试依据和测试用例间的双向可追溯性
基本的测试过程
测试实现和执行
根据测试计划的执行顺序,通过手工或使用测 试执行工具来执行测试规程; 记录测试执行的结果,以及被测软件、测试工 具和测试件的标识和版本; 将实际结果和预期结果进行比较; 提交缺陷 缺陷修正后,重新进行测试活动
软件测试在开发、运行和维护中的角色
软件测试是软件质量保证的一个重要环节 可以减少软件系统在运行环境中的风险 通过修改缺陷可以提高软件系统的质量 为项目成员提供信息 可以改进软件开发过程 为了满足合同或法律法规的要求,或为了 满足行业标准的要求
测试与质量
软件质量的定义
软件产品满足规定的和隐含的与需求能力 全部特征和特性,包括:
什么是测试
狭义的测试
一般指只包含了运行软件系统进行的测试,也 就是执行软件的过程
广义的测试
测试贯穿整个软件生命周期
测试的活动包含了测试执行之前和之后的所有的阶段 活动,包括测试计划和控制、测试分析和设计、测试 实现和执行、测试评估和报告、测试结束活动等 整个测试活动中除了进行动态测试外,还将进行静态 测试,比如静态分析、文档或代码的评审等
测试的基本原则
原则三:测试尽早介入
测试的基本原则
原则四:缺陷群集性 二八原则:80%的缺陷集中在20%的模块
测试的基本原则
原则五:杀虫剂悖论
采用同样的测试用例多次重复进行测试,最后将不再 能够发现新的缺陷
原则六:测试活动依赖于测试背景
针对不同的测试背景,进行不同的测试活动。比如对 安全性的软件进行测试,与对一般的软件的测试不一 样
知识点
说明测试的七个基本原则(理解)
测试的基本原则
原则一:测试显示存在缺陷
测试可以显示存在缺陷,但不能证明系统不存 在缺陷。测试可以减少软件中存在未被发现缺 陷的可能性,但即使测试没有发现任何缺陷, 也不能证明软件或系统是完全正确的
测试的基本原则
原则二:穷尽测试是不可行的
现在要测试计算器的加法功能: 1+1 1+2 1+3 1+4 …… …… 1+1000000 …… 显然需要测试的数据是个天文数字
软件系统的重要性
银行系统 在当今的生活中, 电子商务系统 各种各样软件系统 火车控制系统 已经成为了我们生 活中不可或缺的一 GPS导航系统 部分 各种缴费系统倘若这些软件或系统 没有按照预期进行工 作,将会产生什么样 …… 的后果
为什么会存在缺陷
为什么会存在缺陷
人为因素----所有人都会犯错误的
相关文档
最新文档