




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
带上眼罩测试软件,动态黑盒测试,黑盒测试,黑盒测试是最常用和最有效的软件测试技术 有效的黑盒测试需要软件的文档 需求文档或者产品说明书,通过这些了解输入什么能得到什么或者操作的结果 没有产品说明书时使用探索测试了解软件、设计测试、执行测试同时执行,测试用例的设计,软件测试中最重要的因素是设计和生成有效的测试用例 完全发现软件中的错误是不可能的,那么如何发现尽可能多的错误? 软件测试最关键的问题 在给定的时间和成本约束下,在所有可能的测试用例中,哪个子集最有可能发现最多的错误? 采用某种策略设计测试用例 随机输入测试:低效 有策略的黑盒测试和白盒测试,黑盒测试用例设计方法,黑盒测试 边界值分析 等价类划分 因果图 判定表 错误猜测,通过性测试和失效性测试,通过性测试:确认软件至少能作什么(软件的基本功能),而不会考验其能力。软件测试员并不需要想尽办法使软件崩溃,紧紧运用最简单、最直观的测试用例。 失效性测试:纯粹为了破坏软件而设计和执行的测试用例称为实效性测试(错误强制测试),它是蓄意攻击软件的薄弱环节。,等价划分,要从所有可能的测试用例中要找出某个小的子集,而且是可能发现最多错误的子集,精心挑选的测试用例还应该具备两个特征: 它覆盖了大部分其他可能的测试用例对程序输入范围进行划分,将其划分为有限数量的等价类,就可以合理地假设测试每个等价类的代表性数据等同于测试该类的其他任何数据。即,如果等价类的某个输入发现了某个错误,该等价类的其他数据也应该能发现同样的错误,反之如果等价类的某个输入不能发现错误,那么该等价类中的其他数据也不能发现错误。 严格控制测试用例的增加每个测试用例必须体现尽可能多的不同的输入情况,等价划分法设计测试用例,第一步:确定等价类 选取每个输入条件(通常是规格说明中的一个句子或短语),并将其划分为两个或多个组:有效等价类代表对程序的有效输入,无效等价类代表其他任何可能的输入。 根据输入条件确定等价类的指导原则 取值范围:一个有效等价类,两个无效等价类 取值个数:一个有效等价类,两个无效等价类 输入值的集合,且每个值处理不同:为每个值确定一个有效等价类和一个无效等价类 “必须是”:一个有效等价类,一个无效等价类 如果有任何理由可以认为程序并未等同地处理等价类中的元素,那么应该将这个等价类再划分为小一些的等价类,等价划分法设计测试用例(CONT),第二步:生成测试用例 为每个等价类设置一个不同的编号; 编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,直到所有等价类都被测试用例所覆盖; 编写新的用例,覆盖一个且仅一个尚未被覆盖的无效等价类,直到所有无效等价类都被测试用例所覆盖。,一个范例,例: 某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。 系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例,来测试程序的日期检查功能?,一个范例(CONT)等价类划分,一个范例(CONT)有效等价类设计测试用例,对表中编号为1,2,3的3个有效等价类用一个测试用例覆盖:,(1) 6位数字字符 (2) 年在20032008之间 (3) 月在112之间,一个范例(CONT)为每一个无效等价 类至少设计一个测试用例,边界值分析,等价划分虽然优于随机选取用例,但不足之处在于忽略了某些特定类型的高效测试用例 经验证明,考虑了边界条件的测试用例与其他测试用例相比,具有更高的测试回报率 边界条件:输入和输出等价类中那些恰好处于边界、或超过边界、或在边界以下的状态P4849 边界值分析与等价划分的不同 边界值分析需要选取一个或多个元素(而不是选任一个代表元素),以便等价类的每个边界都经过一次测试 边界值分析不仅关注输入条件,还考虑从输出等价类设计测试用例,边界值分析(CONT),边界值分析的通用指南 输入条件规定了一个输入值范围:针对范围的边界设计测试用例,针对刚刚越界的情况设计无效测试用例 输入条件规定了输入值的数量:针对最小数量、最大数量、最小数量少一、最大数量多一的情况设计测试用例 对每个输出条件应用1;是否产生超过输出范围的结果 对每个输出条件应用2; 如果程序的输入或输出是一个有序序列,则应该特别注意序列的第一个和最后一个元素 边界值分析是具有创造性的方法,发挥聪明才智找出其他的边界条件,其他特殊测试数据,次边界值(内部边界条件) 普通的边界值在软件产品说明书或者在软件的使用过程中容易发现。而有些边界值在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查,称为次边界条件,如数据的表示范围的边界。 默认、空白、空值、零值和无 当软件要求输入时,根本没有输入任何内容,通常用默认值处理,或提示错误信息 这些值与合法值和非法值都不同,应对它们建立单独的等价区间 无效数据非法、错误、不正确和垃圾数据 这些数据是失败测试的对象,没有实际的测试规则。,“报表日期”边界值分析法测试用例,判定表,边界值分析和等价划分的弱点是没有对输入条件的组合进行分析 判定表适合描述不同输入条件的组合,被测软件有以下特征时可以使用判定表 输入变量之间存在逻辑关系 输入与输出之间存在因果关系 判定表的结构 条件部分(输入):列出条件和条件的组合,条件是根据输入和环境因素归结为真或假的判定变量。 动作部分(输出):列出了相应的条件组合下产生的响应。,判定表(CONT),构造判定表 确定判定变量输入 确定要选择或控制的结果动作输出 确定对特定的条件组合将产生哪些动作规则 n个条件的判定表,理论上规则共有2n条,但是因为存在无关条件和不可能发生的条件,判定表的实际大小通常比理论上小。 从判定表得到测试用例 规则中的条件部分对应输入,动作部分对应预计输出,判定表例子,三角形问题的判定表(假设a,b,c都是范围内正数),判定表例子,从判定表得到的测试用例,因果图,因果图的特点 与判定表一样,因果图考虑了输入的组合,有助于用一种系统的方法选择出高效的测试用例集 因果图还可以指出规格说明的不完整性和不明确之处 不能生成全部应该被确定的有效测试用例,没有充分考虑边界条件,因此在由因果图生成测试用例时,可以一并考虑边界条件分析 因果图转换为判定表的过程比较复杂,可以借助自动化的工具,使用因果图生成测试用例,因果图不善于处理较大的规格说明。 确定规格说明中的因果关系,并对每个因果编号 因:一个明确的输入条件或输入条件的等价类 果:一个输出条件或系统转换 分析规格说明的语义内容,并将其转换为连接因果关系的布尔图,即因果图 给图加上注解符号,即约束符号(某些原因/结果的组合在现实中不可能存在,需要对此进行说明) 仔细跟踪图中的状态变化情况,将因果图转换为一个有限项的判定表,表中的每一列代表一个测试用例 将判定表中的列转换成测试用例,因果图的符号,基本符号 identity, NOT, AND, OR(图4-5 p36) 例子 (图4-6 p36) 约束符号 E约束(不同时为真),I约束(不能同时为零),O约束(有且仅有一个为真),R约束(输入a为1b必为1)(图4-8 p37) M约束(图4-9 p38) 建立结果之间的约束关系(结果a为0b必为0),因果图例子,处理单价为5角钱的饮料自动售货机软件的规格说明:若投入5角或1元的硬币,压下橙汁或啤酒的按钮。若售货机没有零钱找,则零钱找完红灯亮,如果投入1元硬币并压下按钮后,饮料不送出而且1元硬币也退出来;若有零钱找,则零钱找完红灯灭,送出饮料同时还退还5角硬币。,(1)分析原因、结果 原因: 1.售货机有零钱找 2.投入1元 3.投入5角 4.压下橙汁按钮 5.压下啤酒按钮,因果图例子(CONT),结果: 21.售货机零钱找完灯亮 22.退还1元 23.退还5角 24.送出橙汁饮料 25.送出啤酒,(2)画出因果图,因果图例子(CONT),(3)转换成判定表,因果图例子(CONT),错误猜测,错误猜测是一种依赖直觉的非正规的过程,很难描述这种方法的规程 错误猜测的基本思想 列举出可能犯的错误或错误易发情况的清单,然后依据清单来编写测试用例。 在阅读规格说明时联系程序员可能做的假设来确定测试用例,如忽略了规格说明中的某些内容。 例:测试一个排序程序,可能猜测出错的情况 输入列表为空 输入列表仅包含一项 输入列表所有条目的值都相同 输入列表已经是有序的,测试软件的逻辑流程,建立状态转换图 状态图可能有不同的画法,关键是项目组成员看懂 如果状态转换图很复杂,找一些商业软件来绘制和管理 状态转换图应该表示出以下项目: 软件间可能进入的每一种独立状态 状态转换时所需要的输入和条件 从用户的角度建立状态图,5.5.1.2减少要测试的状态及转换的数量,为大型软件产品建立状态转换图将是一个复杂的任务,而且测试每一条线路组合,但可用以下五种方法减少测试的数量 每种状态至少访问一次 测试看起来最常见最普遍的状态转换 测试状态之间最不常用的分支 测试所有错误状态及其返回值 测试随机状态转换,5.5.1.3 怎样进行具体测试,测试状态及其转换包括检查所有的状态变量-与进入和退出相关的静态条件、信息、值、功能等。 Windows画图程序示例,5.5.2 失败状态测试,竞争条件和时序错乱 许多操系统都是多任务的,设计多任务的操作系统并不繁琐,设计充分利用多任务的软件才是艰巨的任务。在真正的多任务环境中,软件设计绝对不能想当然,必须随时处理被中断的情况,能够与其他软件在系统中同时运行,并且共享内存、磁盘、通信以及其他硬件资源。 上面的结果可能导致竞争条件问题。由于软件未预料到运行过程会被中断,以致造成混乱,也就是时序错乱。,5.5.2 失败状态测试,竞争条件和时序错乱 竞争条件难以设计,最好首先查看状态转换图中的每一种状态,以找出哪些外部影响会中断该状态。考虑眼使用数据如果没准备好,或者在甬道式发生了变化,状态会怎么样? 两个不同的程序同时打开或保存同一个文档 共享同一台打印机等其他外围设备 当软件处于读取或改变状态时按键或单击鼠标 同时关闭和启动软件的多个实例 同时使用不同的程序访问同一个数据库,5.5.2.2 重复、压迫和重负,重复测试是不断地执行同样的操作,目的检查内存泄漏的问题。 压迫测试时使软件在不够理想的条件下运行。有点像边界条件测试 重负测试,尽量提供条件任其发挥 重复、压迫和重负测试应联合使用,同时进行,这是找出其他方式难以发现的严重缺陷的一个可靠的方法,其他黑盒测试技术,像笨拙的用户那样做 在已经找到的软件缺陷的地方再找找 错误会集中出现 程序员倾向于只修复报告出来的软件缺陷 像黑客一样考虑问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保健知识培训开头课件
- 企业节前安全培训检查表课件
- 企业的安全管理培训文件课件
- 烟草执法徽章管理办法
- 物业项目督查管理办法
- 新质生产力发展新动能
- 2025年全国中级导游等级考试(汉语言文学知识)自测试题及答案
- 2025年全民实践乡村振兴战略知识竞赛题库及含答案
- 出租车驾驶员培训教学课件
- 出租房安全知识培训课件
- 2025年城市燃气储气罐采购安装与运营维护服务合同范本
- 2025年国家公务员考录《行测》真题及参考答案
- 艾滋病科普宣传课件
- 江苏省淮阴县2025年上半年公开招聘村务工作者试题含答案分析
- 心脏解剖课件模板
- 中国系统性红斑狼疮诊疗指南(2025版)解读
- 2025年湖北城市建设专业国土空间规划高、中级职务水平能力测试(城乡规划)历年参考题库含答案详解(5卷)
- 2025-2026学年冀教版(2024)小学数学一年级上册教学计划及进度表
- 2025年福建省机关事业单位工勤人员技能等级考试(财务会计员·技师)历年参考题库含答案详解(5套)
- 2025年全国通信专业技术人员职业水平考试(通信专业实务·初级)历年参考题库含答案详解(5套)
- 2025年国企财务招聘笔试题和答案(基础知识测试题)
评论
0/150
提交评论