文档详情

《第五章带上眼罩测试软件》-公开课件.ppt

发布:2019-12-15约1.49万字共108页下载文档
文本预览下载声明
第五章带上眼罩测试软件 例子:自动柜员机(SATM) 欢迎使用 简单自动柜员机 请插入ATM卡 现金给付口 存款信封口 收据口 插卡口 1 2 3 4 5 6 7 8 9 0 取消 B1 B2 B3 空闲 等待PIN 等待交易选择 存款 结束会话 余额 取款 坏卡 取消或PIN失败 取消 卡正常 PIN无问题,显示屏幕 是 否 B1 B2 B3 上层状态机 2. 将大量可能性减少到可操作的测试用例集合。要点: 每种状态至少访问一次 测试看起来是 最常见和最普遍的状态转换 测试状态之间最不常用的分支 测试所有错误状态及其返回值 测试随机状态转换 第五章带上眼罩测试软件 3. 怎样进行具体测试 确定要测试的状态及其转换后,即可定义测试用例 测试状态及其转换包括检查所有的状态变量(state variables),即与进入和退出状态相关的静态条件、信息、值、功能等。 第五章带上眼罩测试软件 第五章带上眼罩测试软件 把状态及其转换的假定同产品说明书作者和程序员讨论是一个很好的方法,他们可以提供软件测试员可能想不到的,表面现象之后的状态内幕。 以上探讨的状态测试都是通过性测试,下面讨论失效性测试 第五章带上眼罩测试软件 二、失败状态测试 竞争条件和时序错乱 (race condition) 多数操作系统具备多任务执行能力 设计多任务OS并不繁琐,设计充分利用多任务的软件才是艰巨的工作 在多任务中,绝不能想当然,必须处理随时被中断、和其他软件共同在系统中运行、共享内存、磁盘和通信等硬件资源 第五章带上眼罩测试软件 这一切的结果就是可能导致竞争条件的问题 可能会面临竞争条件的例子 两个不同的程序同时保存和打开同一个文档 共享同一台打印机、通信端口或者其他外设 当软件在被读取或者改变状态时按键或者点击鼠标 同时关闭或者启动软件的多个实例 同时使用不同的程序访问一个共同数据库 竞争条件测试难以设计。应仔细查看状态转换图中每个状态,找出哪些外部条件会中断该状态 第五章带上眼罩测试软件 重复、压迫和重负 这三个测试的目标是处理程序员没考虑到,但在极端恶劣条件下可能发生问题的状态 重复测试(repetition testing) ——检查内存泄漏(memory leak)其方式是不断执行同样操作。最简单的就是不停启动和关闭程序。还可以反复读写数据和反复选择同一个操作。也许几次就可以,也许要成千上万次。 第五章带上眼罩测试软件 压迫测试(strees testing)——软件对外部资源的要求和依赖的程度。方式是使软件在不够理想的条件下运行:内存小,磁盘空间少,CPU慢等等。尽可能限制软件的必要条件。类似边界测试 重负测试(load testing) ——软件处理尽可能大的数据文件的能力。与压迫测试相反,尽量提供条件任其发挥,最大限度发掘软件能力。 三者应联合使用、同时进行 注意沟通 第五章带上眼罩测试软件 §6 其他黑盒测试技术 一、像笨拙的用户那样做 。 二、在已经找到的软件缺陷的地方再找找 。 三、像黒客一样考虑问题 。 四、凭借经验、直觉和预感 。 小结 动态黑盒测试技术 依据:需求文档或者产品说明书 测试用例 通过性测试和失效性测试 最重要的方法:等价类划分 等价类划分实质 关键:确定等价关系 划分等价类的规则:有效,无效 等价类划分法测试用例设计原则(编号,有效,无效) 第五章带上眼罩测试软件 等价类划分法的进一步讨论 单缺陷假设与多缺陷假设 弱一般等价类测试 强一般等价类测试 弱健壮等价类测试 强健壮等价类测试 第五章带上眼罩测试软件 数据测试 边界条件 次边界条件 默认、空白、空值、零值和无 非法、错误、不正确和垃圾数据 边界值分析方法 边界值分析测试 健壮性边界值测试 因果图方法 第五章带上眼罩测试软件 状态测试 测试软件的逻辑流程 运用等价划分技术选择状态和分支 失败状态测试 竞争条件和时序错乱 重复、压迫和重负 其他黑盒测试技术 第五章带上眼罩测试软件 三、默认、空白、空值、零值和无 要建立处理默认值、空白、空值、零值或者无输入等条件的等价划分 因为通常这些值在软件中是专门处理的,因此不要将其和合法以及非法情况混在一处 一种常被开发人员遗忘的缺陷:当需要输入时用户根本没有输入任何内容,例如只是按了ENTER键。 例子:画笔程序的属性设置 P52 第五章带上眼罩测试软件 第五章带上眼罩测试软件 四、非法、错误、不正确和垃圾数据 之所以要对这类数据进行测试,是因为软件要应付用户千奇百怪的使用方 式。如果操作错误导致崩溃或数据丢失,用户只会责怪软件而不会责怪自己 此类测试没有实际的规则,只是设法破坏软件。要发挥创造力,要会走偏门 这类数据的属于失效性测试的对象 五、测试边界
显示全部
相似文档