测试策略

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
修复率达到标准
2020/5/26
1 软件测试的策略——单元测试
• 单元测试针对的程序规模较小,易于 查错
• 发现错误后容易确定错误的位置,易 于排错
• 多个模块可以并行测试
2020/5/26
1 软件测试的策略
• 单元测试 • 集成测试 • 系统测试
2020/5/26
1 软件测试的策略——集成测试
❖集成工作版本应分析其类协作与消息序列,从 而找出该工作版本的外部接口
❖由集成工作版本的外部接口确定集成测试用例 ❖测试用例应覆盖工作版本每一外部接口的所有
消息流序列
2020/5/26
1 软件测试的策略——集成测试
• 具体来说,集成测试要考虑的问题
❖各个模块连接时,穿越模块接口的数据是否会 丢失
❖一个模块的功能是否会对另一个模块的功能产 生不利影响
1 软件测试的策略——系统测试
• 系统测试需提交的文档
❖系统测试计划 ❖系统测试用例 ❖系统测试过程 ❖测试脚本(可选) ❖测试结果 ❖测试分析报告
2020/5/26
集成与系统测试
• 软件测试的策略 • 测试层次 • 集成测试 • 系统测试 • 交互测试
2020/5/26
2020/5/26
1 软件测试的策略——单元测试
• 边界测试
❖特别注意数据流、控制流中刚好等于、 大于或小于确定的比较值时出错的可能 性
2020/5/26
1 软件测试的策略——单元测试
• 若对模块运行时间有要求,还要专门进 行关键路径测试,确定最坏情况下和平 均意义下影响模块运行时间的因素,以 利于性能评价
❖运算方式错,即运算对象彼此在类型上不 相容
❖算法错误 ❖初始化不正确 ❖运算精度不够 ❖表达式符号表示不正确 ❖。。。
2020/5/26
1 软件测试的策略——单元测试
• 路径测试——常见的比较和控制流错误包括
❖不同数据类型量的相互比较 ❖不正确的逻辑运算符号或优先次序 ❖因浮点数运算精度问题而造成两值比较不等 ❖关系表达式中不正确的变量和比较符 ❖不正确的多循环一次或少循环一次 ❖错误的或不可能的循环终止条件 ❖当遇到发散迭代时不能终止的循环 ❖不适当地修改了循环变量 ❖。。。
2020/5/26
1 软件测试的策略——单元测试
• 局部数据结构测试
❖不正确或不一致的数据类型说明 ❖错误的初始值或错误的缺省值 ❖使用尚未赋值或尚未初始化的变量 ❖变量名拼写错误或书写错误 ❖不一致的数据类型 ❖除局部数据之外的全局数据对模块的影响也
需要查清
2020/5/26
1 软件测试的策略——单元测试
• 路径测试
❖由于无法穷举测试,所以只能测试重要的 执行路径
❖应设计测试用例查找由于错误的计算、不 正确的比较、或不正常的控制流而导致的 错误
❖对基本执行路径和循环进行测试可以发现 大量的路径错误
2020/5/26
1 软件测试的策略——单元测试
• 路径测试——常见的不正确计算包括
❖运算优先次序不正确或误解了运算的优先 次序
测试策略
2020年5月26日星期二
集成与系统测试
• 软件测试的策略 • 测试层次 • 集成测试 • 系统测试 • 交互测试
2020/5/26
1 软件测试的策略
• 软件测试从软件层次划分可分为:单元 测试、集成测试、系统测试
❖单元测试:对程序单元的测试 ❖集成测试:对程序单元接口之间的测试 ❖系统测试:对整个软件系统进行测试
试的顺序一致 ❖测试过程中是否需要专门的硬件设备
2020/5/26
1 软件测试的策略——集成测试
• 集成测试的停止标准
❖集成测试用例设计已经通过评审 ❖按照集成构件计划及增量集成策略完成了整个系统
的集成测试 ❖达到了测试计划中关于集成测试所规定的覆盖率的
要求 ❖被测试的集成工作版本每千行代码必须发现2个错误 ❖集成工作版本满足设计定义的各项功能、性能要求 ❖在集成测试中发现的错误已经得到修改,各级缺陷
2020/5/26
1 软件测试的策略——单元测试
• wk.baidu.com误处理测试
❖完善的模块设计要求能预见出错的条件,并设 置适当的出错处理,以便于在一旦程序出错时 ,能对出错程序重做安排,保证逻辑正确性
❖若出现下列情况之一,则表明模块的错误处理 功能包含错误或缺陷
➢出错的描述难以理解 ➢出错的描述不足以对错误定位,不足以确定出错原因 ➢显示的错误与实际错误不符 ➢对错误条件的处理不正确 ➢对错误处理之前,错误条件已引起系统的干预
• 单元测试需从程序内部结构出发设计测 试用例
• 多个模块可以平行独立地进行单元测试 • 大多数软件测试方法,基本都适用于单
元测试 • 功能性测试和结构性测试要结合起来
2020/5/26
1 软件测试的策略——单元测试
• 单元测试的内容
❖模块接口测试 ❖局部数据结构测试 ❖路径测试 ❖错误处理测试 出错处理 ❖边界测试
• 系统测试
• 在实际运行环境下,对计算机系统进行 一系列的测试,目的在于通过与系统的 需求定义作比较, 发现软件与系统的定义 不符合或与之矛盾的地方
• 系统测试是用户能理解的活动,常与客户验收 结合在一起进行
• 通常是功能性测试,而不是结构性测试,主要 依据系统需求规格说明进行测试
2020/5/26
被测模块 单元 测试
……
被测模块 单元 测试
已集成的 已确认的
集成 模块 系统 模块 验收
测试
测试
测试 可交付的
软件
已测试的 模块
2020/5/26
1 软件测试的策略
• 单元测试 • 集成测试 • 系统测试
2020/5/26
1 软件测试的策略——单元测试
• 单元测试 • 对用源代码实现的每一个程序单元进行
测试,检查各个程序模块是否正确地实 现了规定的功能,目的是发现各模块内 部可能存在的各种差错
2020/5/26
1 软件测试的策略——单元测试
• 程序单元
❖较小的程序模块 ❖可以单独完成一项功能的程序模块 ❖函数 ❖类的方法 ❖类 ❖几个紧密相关的类
2020/5/26
1 软件测试的策略——单元测试
修复率达到标准
2020/5/26
1 软件测试的策略——集成测试
• 集成测试需提交的文档
❖集成测试计划 ❖集成测试用例 ❖测试过程 ❖测试脚本 ❖测试日志 ❖集成测试分析报告 ❖测试评估概要
2020/5/26
1 软件测试的策略
• 单元测试 • 集成测试 • 系统测试
2020/5/26
1 软件测试的策略——系统测试
• 集成测试 • 在单元测试的基础上,测试单元组装
时是否出现问题
• 集成测试需求所确定的是对某一集成工 作版本的测试的内容,即测试的具体对 象
• 集成测试需求主要来源于设计模型( Design Model)和集成构件计划( Integration Build Plan)
2020/5/26
1 软件测试的策略——集成测试
正确 ❖全局量的定义在各模块中是否一致 ❖限制是否通过形式参数来传送
2020/5/26
1 软件测试的策略——单元测试
• 当模块通过外部设备进行输入输出操作时, 还续附加如下测试项目
❖文件属性是否正确 ❖Open语句与close语句是否正确 ❖规定的I/O格式说明与I/O语句是否匹配 ❖缓冲区容量与记录长度是否匹配 ❖在进行读/写操作之前是否打开了文件 ❖结束文件处理时是否关闭了文件 ❖正文书写/输入错误 ❖I/O错误是否检查并做了处理
2020/5/26
1 软件测试的策略——单元测试
• 单元测试的停止标准
❖单元测试用例设计已经通过评审 ❖按照单元测试计划完成了所有规定单元的测试 ❖达到了测试计划中关于单元测试所规定的覆盖率的
要求 ❖被测试的单元每千行代码必须发现至少3个错误 ❖软件单元功能与设计一致 ❖在单元测试中发现的错误已经得到修改,各级缺陷
• 在单元测试的同时可进行集成测试,发现并 排除在模块连接中可能出现的问题,最终构 成要求的软件系统
• 集成测试中单元模块的集成顺序:大爆炸、 自底向上、自顶向下、三明治方式
2020/5/26
1 软件测试的策略——集成测试
• 集成测试着重于集成版本的外部接口的行 为,测试需求应具有可观测、可测评性
• 最初在瀑布模型中提出,在不同的开发 模型中有所变化
2020/5/26
1 软件测试的策略
• 软件测试层次“V”形图(对应软件瀑布开发模
型)
需求规格说明
系统需求说明
系统测试
概要设计
概要设计说明
集成测试
单元实现说明
详细设计
单元测试
2020/5/26
编码实现
1 软件测试的策略
• 软件测试的过程
被测模块 单元 测试
模块接口
模块
局部数据 结构
独立路径
边界条件
2020/5/26
1 软件测试的策略——单元测试
• 模块接口测试
❖调用所测模块时的输入参数与模块的形式参数在个 数、属性、顺序上是否匹配
❖所测模块调用子模块时,输入给子模块的参数与子 模块中的形式参数在个数、属性、顺序上是否匹配
❖是否修改了只做输入用的形式参数 ❖输出给标准函数的参数在个数、属性、顺序上是否
2020/5/26
1 软件测试的策略——系统测试
• 缺陷修复率标准
❖一、二级错误修复率应达到100% ❖三、四级错误修复率应达到80%以上 ❖五级错误修复率应达到60%以上
• 覆盖率标准
❖语句覆盖率最低不能小于80% ❖测试用例执行覆盖率应达到100% ❖测试需求覆盖率应达到100%
2020/5/26
1 软件测试的策略——系统测试
• 系统测试停止标准
❖系统测试用例设计已经通过评审 ❖按照系统测试计划完成了系统测试 ❖达到了测试计划中关于系统测试所规定的覆盖率的
要求 ❖被测试的系统每千行代码必须发现1个错误 ❖系统满足需求规格说明书的要求 ❖在系统测试中发现的错误已经得到修改,各级缺陷
修复率达到标准
❖各个子功能组合起来,能否达到预期要求的父 功能
❖全局数据结构是否有问题 ❖单个模块的误差累积起来,是否会放大,从而
达到不能接受的程度
2020/5/26
1 软件测试的策略——集成测试
• 集成测试的组织和实施 • 制定集成测试计划应考虑如下因素
❖采用何种系统集成方法来进行集成测试 ❖集成测试过程中连接各个模块的顺序 ❖模块代码编制和测试进度是否与集成测
相关文档
最新文档