测试原理与方法-基础篇.

上传人:我** 文档编号:117886530 上传时间:2019-12-11 格式:PPTX 页数:53 大小:524.99KB
返回 下载 相关 举报
测试原理与方法-基础篇._第1页
第1页 / 共53页
测试原理与方法-基础篇._第2页
第2页 / 共53页
测试原理与方法-基础篇._第3页
第3页 / 共53页
测试原理与方法-基础篇._第4页
第4页 / 共53页
测试原理与方法-基础篇._第5页
第5页 / 共53页
点击查看更多>>
资源描述

《测试原理与方法-基础篇.》由会员分享,可在线阅读,更多相关《测试原理与方法-基础篇.(53页珍藏版)》请在金锄头文库上搜索。

1、测试原理与方法 基础篇 1 内容梗概 测试概念 测试的目的 测试的原则 测试的分类 测试的方法 测试用例 用例的设计方法 2 测试的概念 什么是测试 在IEEE610.12-1990 标准中是这样定义的:测试是在特定条件下操作系 统或组成,观察记录结果,并对该系统或组成各方面做出客观评价的 过程。 它的核心内容:测试是带着“什么应该是”的疑问去比较“是什么” 的过程 3 软件测试 Software Testing 软件测试的经典定义:在规定的条件下对程序进行操作,以发现程序 错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 一种实际输出与预期输出间的审核或者比较过程 一种用来促进鉴

2、定软件的正确性、完整性、安全性和质量的过程 软件测试活动包括:制定计划、分析风险、设计和创建测试用例、关 注测试执行等 4 软件测试的目的 5 u测试的目的:利用最少的时间和付出,系统地揭示不同类型的错误 软件测试是为了发现错误而执行程序的过程 目的是为了: 通过“证明程序有错”,从而排错,最终证明软件功能的实现符合功能需求 定义 验证性能方面的表现是否能够被接受 测试数据可以提供全面、周详的软件可用性和质量方面的评测指标 软件测试的原则 从用户的角度出发 通过软件测试充分暴露软件中存在的问题和缺陷,从而考虑是否可以 接受该产品 从开发者的角度出发 表明软件产品不存在错误,已经正确地实现了用户

3、的需求,确立人们 对软件质量的信心 6 软件测试的特点 测试是不完全的 测试具有免疫性 测试是泛型概念(全程测试) 80-20 原则 为效益而测试 缺陷的必然性 软件测试必须有预期结果 事后分析 7 软件测试的基本流程图 8 软件配置 测试环境配置 测试 测试结果 判断 错误 期望结果 错误率数据 排除程序故障 修改 可靠性模型 预计可靠度 软件测试的分类 从是否需要运行被测软件的角度,分为: 静态测试 动态测试 从是否针对系统的内部结构和具体实现算法的角度,分为 白盒测试 黑盒测试 9 静态测试 不运行被测程序本身,也不需要对代码编译、链接和生成可执行文件,仅通过分析或检查 源程序的文法、结

4、构、过程、接口等来检查程序的正确性,找出欠缺和可疑之处。 例: 不匹配的参数 不适当的循环嵌套和分支嵌套 不允许的递归 未使用过的变量 空指针的引用 可疑的计算 等等 静态测试结果可用于进一步的查错,并为测试用例选取提供指导。 10 静态测试 11 p代码检查 Desk checking 桌面检查 由程序员自己检查自己编写的程序,对源程序代码进行分析,检验,并补充相关的 文档。 检查项目有:检查变量的交叉引用表、检查标号的交叉引用表、检查子程序、宏、 函数、等值性检查、常量检查、标准检查、风格检查和补充文档等 Inspection 代码审查 通过阅读、讲解、讨论和模拟运行的方式,对程序进行静态

5、分析的过程。根据软件 设计文档,通过阅读程序发现软件缺陷 Walk-Through 代码走查 人们借助于测试用例的媒介作用,对程序的逻辑和功能提出各种疑问,结合问题开 展热烈的讨论和争议,以求发现更多的问题 Review 技术评审 开发组、测试组和相关人员(产品经理等)联合进行,也是采用讲解、提问并使用编 码模板进行的查找错误的活动 p静态分析 计算机辅助的静态分析方法。主要对程序进行控制流分析、数据流分析、接口分析 和表达式分析等。 静态分析的对象是软件程序,程序设计语言不同,相应的静态分析工具也就不同。 动态测试 通过运行被测程序,检查运行结果与预期结果的差异, 并分析运行效率和健壮性等性

6、能。 构造测试实例 执行程序 分析程序的输出结果 12 白盒测试 又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。 盒子指的是被测试的软件,白盒指的是盒子是可视的,清楚盒子内部的东西以及里面是如何运作 的。 全面了解程序内部逻辑结构、对所有逻辑路径进行测试。 在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。 白盒测试的主要方法:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试 法、域测试、符号测试、路径覆盖和程序变异。 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取 “ 真 ” 与取 “ 假 ” 的两种情况都至

7、少测试一次; 在循环的边界和运行界限内执行循环体; 测试内部数据结构的有效性等。 13 白盒测试 一些明显且表面的问题能够轻而易举地通过黑盒测试的手段发现, 但对于设计上的缺陷和错误,常规的黑盒测试方法往往显得力不从心, 或是需要巨大地投入才能小有收获。而白盒测试则可以从代码级别对设 计问题进行检查 对逻辑错误和不正确的假设条件错误做原始的排查 发现关于执行路径的条件判断错误和一些设计上的明显错误 发现一些明显的排版错误而导致的逻辑判断上的错误 14 白盒测试方法 方法一:基本路径测试 画出程序控制流图,通过分析控制 构造的环路复杂性,从而设计出测 试用例的方法。 1.流向图符号 2.各种复杂

8、嵌套条件的组合 3.导出用例 4.图表矩阵 方法二:控制结构测试 条件测试 数据流测试 循环测试 15 白盒测试方法:基本路径测试 16 基本流向图符号 白盒测试方法:基本路径测试 17 流向图组合符号 白盒测试方法:基本路径测试 18 嵌套流向图符号 白盒测试方法:基本路径测试 19 流向图连接矩阵 白盒测试方法:控制结构测试 定义: 关系式 简单条件:布尔变量和关系式 复合条件:两个或更多的简单 条件和布尔运算和符号等 布尔公式:没有关系式的条件 测试策略: 分支测试:测每一个分支 范围测试:测每一个关系运算 分支和关系运算测试 20 条件测试:目的是演练程序模块中的所有逻辑条件 白盒测试

9、方法:控制结构测试 21 数据流测试: 按照定义变量的位置和用途选择测试路径 白盒测试方法:控制结构测试 22 常见循环模型 Concatenate 嵌套的连接的无组织的 软件测试的分类:黑盒测试 黑盒测试也称功能测试或数据驱动测试。 在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使 用。在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部 结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能 是否按照需求说明的规定正常使用,程序是否能适当地接收输入数锯而产生 正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。 可以发现的问题 没实现或实现不正确

10、的功能 界面错误 数据结构或外部数据访问错误 性能错误等等 23 常规黑盒测试方法介绍 功能测试 (functional testing) 系统测试(System testing) 端到端测试 (end-to-end testing) 兼容性测试 (Compability testing) 负荷试验 (load testing) 压力测试 (stress testing) 性能测试 (performance testing) 可用性测试 (usability testing) 恢复测试 (recovery testing) 安全测试 (security testing) 测试 (alpha t

11、esting) 测试 (beta testing) 24 测试用例 指对某一功能点如何进行测试的描述。 一般多个测试用例的集合称之为测试用例集,或者测试规 格。 测试用例应该包含的元素: 所属模块 相关需求 用例标题 前置条件 步骤 预期结果 用例类型 优先级 25 测试用例在软件测试中的作用 1、指导测试的实施 2、规划测试数据的准备 3、编写测试脚本的设计规格说明书 4、评估测试结果的度量基准 5、分析缺陷的标准 26 黑盒用例的设计方法 1. 等价类划分法 2. 边界值分析法 3. 因果图法 4. 对比测试法 5. 错误推测法 6. 逻辑覆盖法 27 等价类划分法 等价类划分:是一种完全

12、不考虑程序的内部结构,只依据程序的 规格说明来设计测试用例。等价类是指某个输入域的子集合。在该子 集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值 ,对于测试来说是等价的。因此,可以把全部的输入数据划分成若干 的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较 少的具有代表性的数据进行测试,而取得较好的测试效果。 28 边界值分析法 对取值范围两边的值进行检查 例:变量的取值范围定义为1100,那我们对于其边界 值得检查即为0,1,n(1100之间数值的等价类), 100, 101(100的等价类) 29 因果图法 提供一

13、种简明的逻辑 关系表示和相对应的响应 30 因果图法 31 因果关系图的简化符号 比较法 排查版本问题的方法: 用同样的测试数据对不同版本的输出结果进行比较 很多版本平行测试实时的比对测试结果 排查软件还是硬件问题的方法: 不同的硬件相同的软件比较 相同的硬件不同的软件比较测试排查 32 黑盒用例设计的常规策略 用边界值分析法和等价分类法提出基本的测试用例; 用猜测法补充新的测试用例; 如果在程序的功能说明中含有输入条件的组合,宜在一开 始就用因果图法,然后再按以上1、2两步进行。 33 软件生存期模型 n n 常用的软件生存期模型有常用的软件生存期模型有 uu 瀑布模型瀑布模型 uu 快速快

14、速原型模型原型模型 uu 演化模型演化模型 uu 螺旋模型螺旋模型 uu 增量模型增量模型 uu喷泉模型喷泉模型 uu智能模型智能模型 uu构件集成模型构件集成模型 uuV V模型模型 uu迭代式模型迭代式模型 34 瀑布模型 n各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下 落。每项活动均处于一个质量环(输入-处理-输出-评审)中。 35 需求定义 系统与软件设计 集成与系统测试 实现与单元测试 运行与维护 快速原型模型 特点 快速开发工具 循环 低成本 种类 渐进型 抛弃型 36 需求分析 原型开发 最终系统设计 原型评价 最终系统实现 用户 反馈 演化模型 n n 先开发一个先开

15、发一个“原型原型”软件,完成部分主要功能,展示给用户并征软件,完成部分主要功能,展示给用户并征 求意见,然后逐步完善,最终获得满意的软件产品。求意见,然后逐步完善,最终获得满意的软件产品。 37 需求的采集需求的采集 与细化与细化 客户评价原型 快速设计 建造原型建造原型 加工原型加工原型 产生样品产生样品 停止 开始 螺旋模型 38 螺旋模型 n螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽 略了的风险分析。 n螺旋模型沿着螺线旋转,自内向外每旋转一圈便开发出更完善的一 个新版本。 u制定计划 确定软件目标,选定实施方案,弄清项目开发的限 制条件; u风险分析 分析所选方案,考虑如何识别和消除风险; u实施工程 实施软件开发 u客户评估 评价开发,提出修正建议。 39 增量模型 n把软件产品分解成一系列的增量构件,在增量开发迭代中逐步加 入。 n每个构件由多个相互作用的模块构成,并且能够完成特定的功能。 n增量开发方法的新演进版本叫做 “极限程序设计(eXtreme Programming)”。 40 定义 基本需求 将需求赋予 增量构件 设计系统 体系结构 开发 增量构件 确认 增量构件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号