软件测试-软件测试分类和分级课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 性能测试(Performance Test) – Measuring of the processing speed and response time for particular use cases, usually dependent on increasing load.
• 容量测试(Volume Test) – Observation of the system behavior dependent on the amount of data (e.g., processing of very large files).
– 在实际测试中并非在每个测试类别上都要完成上述所有的测试种类,也不是对任 何软件都要完成上述所有的测试
– 究竟必须执行哪些测试,应根据软件的复杂性、关键等级和当前的测试类别选定
4.1.2 基于CSCI的软件测试分类
功能测试
• 功能测试主要对软件需求规格说明中的功能需求进行测试,找 出被测软件的实现与需求不一致的地方,确认一致的地方
Requirements-based testing
T 102.1:选中一款汽车型号,其相应
R 100:用户可以从当前的汽车型号列
价格显示在价格框内
表中选择一款汽车型号 R 101:对一款已选择的车型,系统可
T 102.2:选中一款对应的配件,其相 应价格加上汽车价格后显示在价格框
以列出与该车型配套的可选配件供用
• 测试策略 – 白盒测试(White Box Testing) – 测试驱动开发(Test-Driven Development)
4.2.1 单元测试-VSR组件测试
被测函数
Double calculate_price (double baseprice, double specialprice, double extraprice, int extras, double discount) {
目标
-度量系统非功能 性指标,例如: • 性能测试 • 负载测试 • 压力测试 • 可用性测试
4.1.2 非功能测试包括(不限于以下类型)
• 负载测试(Load Test) – Measuring of the system behavior for increasing system loads(e.g., the number of users that work simultaneously, number of transactions.
4.2.1 软件测试分级
• 基于软件生命周期的测试分级
– 针对不同的测试级别,应该明确 • 不同的测试对象 • 每个测试级别的测试目的 • 测试用例设计的基础(所参考的软件产品或测试需求) • 发现的典型缺陷和失效 • 测试工具的需求和支持 • 不同的测试技术和方法
– 测试级别可以根据软件的规模、类型、安全性关键等级进行选择 – 回归测试可出现在上述每个测试级别中,并贯穿于整个软件生命周期
功能多余物 • 验证程序中没有附加的软件需求中没有指明的功能及功能边
测试
界的不适当。所有输出都应有意义并在软件需求中指明
安装性测试
• 安装性测试主要对平台软件配置项的可安装性/可卸载性进行 测试
本地化测试
• 本地化测试的内容,主要对平台软件配置项的本地语言、时 间等本地特色的支持能力进行测试,验证软件配置项是否能 全面、正确地支持、处理本地特色化要素
性能测试
• 主要对软件需求规格说明中定义的性能需求进行测试,费事 在一定工作负荷和配置条件下,系统的响应时间及处理速度 等特性
外部接口和 人机交互界
面测试
• 外部接口和人机交互界面测试主要对平台各个服务域提供的 应用编程接口、应用程序接口、外部环境接口以及人机交互 界面的符合性和可用性进行测试
强度测试
第四章 软件测试分类与分级
本章教学目标及重点
• 教学目标
– 了解计算机软件配置项CSCI概念 – 掌握基于CSCI的软件测试分类方法 – 掌握软件生命周期的软件测试分级方法及相关概念 – 掌握软件测试中的错误分级方法及其应用方法
• 重点
– 软件测试分类 – 软件测试分级 – 软件测试中的错误分级方法及其应用
4.2.1 组件测试介绍 一
• 定义 – 单元测试(Component Testing)是对构成软件最底层的 软件代码进行的测试,这些代码可能是C代码、C++代码、 VB代码等,有时该测试又被叫做单元测试(Unit Testing)。
• 测试对象 – 独立的函数、方法和过程 – 独立的类
4.2.1 组件测试介绍 二
4.2.1 软件生命周期的测试分级(续)
单元测试(续)
– 单元测试中需要考虑各方面的因素有: • 检查单元模块自己的接口相关的参数,是单元测试的基础 • 检查局部数据结构,用来保证临时存储在模块内的数据在程序执行过程中的 完整、正确 • 在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模 块中每条路径至少执行一次 • 比较、判断与控制流常常紧密相关 • 好的软件设计应能预见各种出错条件,并预设各种出错处理路径,出错处理 路径同样需要认真测试
4.2.1 软件测试分级
四种软件测试级别
软件开发过程域
用户
需求
系统设计
设计人员
概要设计
详细设计
编码人员
编码
软件测试过程域
验收测试
系统测试
集成测试
单元(组 件)测 试
4.2.1 软件生命周期的测试分级(续)
单元测试(组件测试):
• 针对单个软件单元的测试都可以称为单元测试
• 在单元测试过程中,经常会用到桩、驱动器、模拟器
户选择
Transformation
R 102:根据用户选择的车型和配置,
内 T 102.3:取消对之前配件的选择,汽 车总价将减去该配件价格并显示在价
计算并显示总价
格框内
T 102.4:选中三款对应的配件,……
➢ 基于功能点的功能测试用来确认系统功能特征是否达到功能说明书中定义的功能需求。
每一个需求至少应该有一个测试与之对应!
– 任何一个软件配置项,一旦形成文档并审议通过,即成为基线 – 对于已经成为基线的软件配置项进行修改时,必须按照特殊的、正式的过程进
行评价,确认其修改 – 对于未成为基线的软件配置项,可以进行非正式的修改
4.1.2 软件测试分类
对于软件测试,可以从不同的角度进行分类
是否关心 内部结构
白盒测 试
黑盒测 试
本章安排
4.1 软件测试分类 4.2 软件测试分级
4.1 软件测试分类
4.1.1 计算机软件配置项
• 软件配置缩写为CSCI(Computer Software Configuration Item),是为 独立的配置管理而设计的且能满足最终用户要求的一组软件,简称软件配置 项。
– 在软件开发过程中,产生的所有信息构成软件配置,它们是:代码、文档、报告 等,统称为配置项(Configuration Item,CI)
灰盒测 试
开发过程 级别
单元测 试
集成测 试
系统测 试
验收测 试
是否执行 程序
静态测 试
动态测 试
执行是否需 要人工干预
手工测 试
自动化 测试
测试实施 组织
开发测 试
用户测 试
第三方 测试
4.1.2 基于CSCI的软件测试分类-功能测试
4.1.2 基于CSCI的软件测试分类
• 基于CSCI的软件测试种类共包含13类:
double addon_discount; double result;
if (extras>=3) addon_discount=10; else if (extras>=5) addon_discount=15; else addon_discount=0;
• 单元测试包括功能测试和特定的非功能测试
• 在写代码之前就开始准备测试和自动化测试用例是单元测试常用的一种方法
• 单元测试的任务包括:模块局部数据结构测试,模块参数边界值测试,模块中 所有独立执行路径测试,以及模块的各条错误处理路径测试等
• 测试环境:当程序代码编写完成并通过评审和编译检查后,便可开始单元测试
4.1.2 非功能测试包括(不限于以下类型)
• 压力测试(Stress Test) – Observation of the system behavior when it is overloaded.
• 稳定性测试(Stability Test) – Test during permanent operation (e.g., mean time between failures or failure rate with a given user profile).
• 强度测试必须在预先规定的一个时期内,在软件设计能力的极 限状态,进而超出此极限状态下,运行软件的所有功能
4.1.2 基于CSCI的软件测试分类
余量测试
• 测试程序全部存储量、输入/输出通道及处理时间的余量满足 需求规格说明的要求
可靠性测试
• 可靠性测试是在有使用代表性的环境中,为进行软件可靠性 估计而对其进行的功能测试
安全性测试
• 安全性测试主要对平台软件配置项的安全性进行测试,包括 系统安全评估和系统侵入测试两个部分
恢复性测试
• 对有恢复或重置(RESET)功能的软件,必须验证恢复或重 置功能,对每一类导致恢复或重置的情况进行测试
Hale Waihona Puke Baidu
4.1.2 基于CSCI的软件测试分类
边界测试
• 测试程序在输入域(或输出域)、数据结构、状态转换、过 程参数、功能界限等的边界或端点情况下运行状态
• 软件配置管理控制这些软件配置项的投放和变更,并且记录并报告配置的状 态和变更要求,验证配置的完整性、正确性和一致性。
4.1.1 计算机软件配置项
• 基线(baseline)即软件技术状态基线:
– 指需受配置管理控制的某个研制阶段的结束点时软件成分的技术状态,是已经 经过正式审核和同意,它是下一步软件开发的基础
• 兼容性测试(Compatibility Test) – Examination of compatibility to given systems, import/export of data etc.
• 文档测试(Documentation Test) – For compliance with system behavior (e.g., user manual and GUI)
• 测试环境 – 开发者环境(Developer’s Desk)
• 测试目标 – 保证测试对象完整地、正确地执行了详细设计中所定义的 功能(Functional Testing) – 进行一些非功能测试(Nonfunctional Testing),例如 Efficiency Testing、Maintainability Testing
4.2 软件测试分级
4.2 软件测试分级
• 对软件测试的要求、目的、关注点、被测对象、工作产品及测试人员不同, 相应的软件测试级别划分或分级是不同的。
– 软件生命周期测试的分级 – 错误及它对软件测试通过影响的分级 – 完整性测试的分级 – 软件测试用例的分级等
• 通过对软件测试进行有目的的分级,使我们能够有效地控制软件的复杂性,强化测 试的针对性或目的性,提高测试管理的科学性,最终确保软件测试的质量
4.1.2 功能测试介绍
– 系统、子系统或组件要实现的功能可以在工作产品中,如需求规格说明书、 用户用例或功能规格说明书予以描述,不过也可能没有相应的文档,功能指 的是系统能做什么。
依据
软件功能规格说明 书(Functional Requirements) -- 业务流程说明 (Business Procedure)
4.1.2 非功能测试介绍
为了测量系统和软件的特征,需要进行的测试这些特征可以用不同尺度 予以量化,比如进行性能测试来检验响应时间。
依据
-软件非功能性说明 书(NonFunctional Requirements)
工具与技术
-黑盒测试技术 (Black Box Testing) -静态测试技术 (Static Testing) -自动化测试工具 (Automation Test Tools)
工具与技术
黑盒测试技术 (Black Box Testing)
目标
验证功能特征是否 符合软件功能规格 说明书 (”What” the system must be able to do)
4.1.2 功能测试
基于需求的软件测试: 功能需求-功能测试
Requirements to the VSR-System
相关文档
最新文档