软件测试--第2章 软件测试的基本概念

  • 格式:pdf
  • 大小:963.19 KB
  • 文档页数:20

17
4.测试阶段
软件测试的工作流程:
18
5.本章小结
1、软件缺陷 2、验证和确认 3、软件测试的分类 4、测试阶段
19
Q/A

20
14
3.软件测试的分类
软件测试依据测试所使用的方法, 测试的对象或阶段,测试的目标不同 而进行分类,如图所示。
15
4.测试阶段
软件测试贯穿软件开发的整个生命周期整个过 程分成规格说明书审查,系统和程序设计审查, 单元测试,集成测试,功能测试,系统测试,安 装测试和验收测试8个阶段。
16
4.测试阶段
3
1.软件缺陷
1.1 软件质量
软件质量三层模型: 高层—软件质量需求评价准 则(Software Quality Requirement Code,SQRC) 中层—软件质量设计评价准 则(Software Quality Design Code,SQDC) 底层—软件质量度量评价准 则(Software Quality Measurement Code,SQMC)
软件测试各阶段输入和输出标准:
阶段 需求分析 设计审查 功能验证 系统测试 验收测试 版本发布 输入 需求定义,市场分析文档,相 关技术文档 市场需求文档,技术设计文档 代码,详细设计文档,最终技 术文档 修改后代码,测试用例,测试 计划 代码冻结文件,验收测试用例 代码发布文件包,测试计划检 查清单 输出 市场需求分析结果,功能设计,技术设 计 测试计划,测试用例 完整测试用例,测试计划,缺陷报告, 功能测试报告 缺陷分析报告,缺陷状态报告,项目阶 段报告 缺陷状态报告,缺陷报告审查,版本审 查,验收报告 当前版本已知问题清单,版本发布报告
7
1.软件缺陷
1.3 软件缺陷的产生
软件缺陷产生的主要因素有: 技术问题 — 开发人员的技术因素,系统所采用技术本身 的因素,需求中无法实现的技术因素,需求、设计考虑 不全等 软件本身因素— 软件开发标准或流程不完善,文档因素, 软件超负荷运行,程序运行路径考虑不周,与硬件、其 他系统交互的因素等 团队工作 — 团队文化,不同人的理解不同,沟通交流存 在问题等
41.软件缺陷1. Nhomakorabea 软件质量
根据软件质量三层模型,软件产品质量主要有以下几个属性:





功能性—软件所实现的功能达到它的设计规范和满足用户需求的程 度 可用性—用户学习、操作、准备输入和理解输出所做努力的程度, 并能适应不同特点的用户 可靠性—在规定的时间和条件下,软件所能维持其正常的功能操作、 性能水平的程度 性能—在指定条件下,软件对操作的响应速度以及实现某种功能所 需的计算机资源的有效程度 容量—系统的接受力、容纳或吸收的能力,或某项功能的最大数据 量或最大限度
13
2.验证和确认
2.3 质量保证和测试的关系
软件质量保证(Software Quality Assurance,SQA)是 通过对软件产品有计划的进行评审和审计来验证软件是否 合乎标准,通过协调、审查和跟踪以获取有用信息,形成 分析结果以指导软件过程。 SQA指导、监督测试的计划和执行,协助测试流程的 改进;测试是SQA的重要手段之一,为质量评价提供依据。 但SQA侧重对流程的评审和监控,测试侧重对产品的评估 和验证。
5
1.软件缺陷
1.1 软件质量
根据软件质量三层模型,软件产品质量主要有以下几个属性:




可测量性—系统某些特性可以通过一些量化的数据指标描述当前状 态或设定状态 可维护性—当一个软件投入运行后,需求发生变化、环境改变或软 件发生错误时,进行相应修改所做努力的程度 兼容性—软件从一个计算机系统或环境移植到另一个系统或环境的 难易程度,或者是一个系统和外部条件共同工作的容易程度 可扩展性—将来增加新功能、扩充系统能力的难易程度
8
1.软件缺陷
1.4 软件缺陷的构成
软件缺陷是由多个因素造成的,按需求分析 结果进行归类,结果如右图所示。造成这种 问题主要原因是:



用户与开发人员的理解不一致 开发之前存在对特性理解不够清晰 需求变化的不一致 对文档的重视不够 开发团队内部沟通不够
9
1.软件缺陷
1.4 软件缺陷的构成
第2章 软件测试的基本概念
1
0.agenda
1、软件缺陷 2、验证和确认 3、软件测试的分类 4、测试阶段
2
1.软件缺陷
1.1 软件质量
软件产品具有与一般产品相同的共性,因此也 具备与一般产品相似的质量特性:质量是产品或 服务所满足明示或暗示需求能力的固有特性和特 征的集合。 除此以外,软件还具有与其他产品不同的特征: 软件系统的易用性、功能性、有效性、可靠性和 性能等。
按软件开发的不同阶段进行 分类,缺陷的分别如右图所示。 缺陷主要集中在需求分析和系统 设计阶段,而在单元测试和测试 阶段产生的缺陷主要是由于修改 缺陷而引入新的缺陷。
10
1.软件缺陷
1.5 修复软件缺陷的代价
软件缺陷给开发商和用户都造成了极大的损失,修复缺陷 的成本随着缺陷修复的时间不同而发生巨大的变化,如下 图所示。
11
2.验证和确认
2.1 验证和确认
软件缺陷不仅存在于可执行的程序中,还存在 于文档中,因此需要使用验证与确认。 验证(Verification)--Are we building the product right? 确 认 ( Validation ) --Are we building the right product?
6
1.软件缺陷
1.2 软件缺陷
软件缺陷(Bug)是指计算机系统或程序中存在的任何 一种破坏正常运行能力的问题、错误或者隐藏的功能缺陷、 瑕疵,其结果会导致软件产品在某种程度上不能满足用户 的需要。 软件缺陷的表现主要有:

运行出错 功能、特性无法实现或部分实现 运算结果不正确或部分正确 用户界面与设计不符或不完全符合 用户其他的要求 · · · · · · ·
12
2.验证和确认
2.2 评审
评审是对软件元素或项目状态的一种评估手段,以确 定其是否与计划的结果保持一致,并使其得到改进。 软件评审主要分管理评审、技术评审、文档评审和流 程评审。软件测试主要涉及技术评审和文档评审。 技术评审—对产品以及各阶段的输出内容进行评估 文档评审—格式评审和内容评审