《黑盒用例设计方法》_第1页
《黑盒用例设计方法》_第2页
《黑盒用例设计方法》_第3页
《黑盒用例设计方法》_第4页
《黑盒用例设计方法》_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、深 圳 市 泽 林 信 息 咨 询 有 限 公 司 Shenzhen Zelin Information Consulting Co . , LTD黑盒用例设计方法黑盒用例设计方法Chapter 1 黑盒测试的概念Chapter 2 黑盒测试的实施过程课程目 录Chapter 3 黑盒用例设计技术 (重点)Chapter 4 测试方法选择的综合策略 黑盒测试 黑盒测试的概念 什么是黑盒测试? 黑盒测试又称功能测试、数据驱动测试或基于规格说明书的测试,是一种从用户观点出发的测试。 黑盒测试示意图 测试人员把被测程序当作一个黑盒子。黑盒测试l 黑盒测试主要测试的错误类型有:不正确或遗漏的功能;接口

2、、界面错误; 性能错误;数据结构或外部数据访问错误;初始化或终止条件错误等等。黑盒测试l 用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。但这是不可能的,因为穷举测试数量太大,无法完成。黑盒测试假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:可能采用的测试数据组: 232232264如果测试一 组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。因此,我们只能在大量可能的数据中,选取其中一部分作为测试用例。黑盒用例设计技术p 等价类划分方法 (重点)p 边

3、界值分析方法 (重点)p 错误推测方法 (了解)p 因果图方法 (了解)p 判定表驱动分析方法 (重点)p 正交试验设计方法 (了解)p 场景法 (重点)等价类划分 p 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.等价类划分 p 方法简介(1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个

4、数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.等价类划分p 有效等价类 是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。p 无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 等价类划分

5、(2) 划分等价类的标准:完备测试、避免冗余划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合并是整个集合:完备性子集互不相交:保证一种形式的无冗余性同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到“相同的执行路径”等价类划分(3) 划分等价类的方法下面给出六条确定等价类的原则在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是01000 100 有效有效等价类等价类11成绩成绩100100无效等价类无效等价类 成绩成绩100100 无效等价类无效等价类 成绩成绩06个字符国家

6、1、中国2、美国3、英国4、肯尼亚5、尼日利亚1、第一个无效值2、不输入1、请选择或者全选2、为空测试数据查找-单选和多项按钮页面元素页面元素需求定义需求定义有效集合有效集合有效数据有效数据无效集合无效集合无效数据无效数据单选按钮1、默认为是2、还有一个或者多个为否,或者其他等有效值是无效值否多选按钮1、列表页面中有多条数据2、支持多项3、有选项的功能1. 选中2项2. 选中页面上最后一项3.选中页面上的一个选项4.全选1. 选中诺基亚和三星2. 选中小米4. 选中华为5.勾选所有选项不选择任何项目不勾选任何选项测试数据查找-日期控件页面元素页面元素需求定义需求定义有效集合有效集合有效数据有效

7、数据无效集合无效集合无效数据无效数据日期控件1.一个开始日期2.一个结束日期3.选择,不可输入1. 开始日期结束日期2013/12/5 到2013/12/181. 开始日期结束日期2.日期中不合法的数据3. 日期为空4. 开始日期=结束日期1. 2013/12/15 到2013/12/82. 1990/11/23. 不选择日期4.2013/12/15 到2013/12/15日期控件升级版1.一个开始日期2.一个结束日期3.可输入1.选择 开始日期结束日期2. 输入日期2013/12/5 到2013/12/181. 开始日期结束日期2.日期中不合法的数据3. 日期为空4. 开始日期=结束日期5.

8、 输入日期格式错误6. 输入日期中含有英文1. 2013/12/15 到2013/12/82. 1990/11/23. 不选择日期4.2013/12/15 到2013/12/155. 2013-12-36. 2014-Aug-2测试数据查找-翻页控件页面元素页面元素需求定义需求定义有效集合有效集合有效数据有效数据无效集合无效集合无效数据无效数据翻页上一页,列表中有6页数据1. 在第中间页,点击上一页2. 在最后一页,点击上一页3. 在第二页,点击上一页1. 在第3页,点击上一页2. 在6,点击上一页3. 在2页,点击上一页1. 在第一页,点击上一页2. 列表中无数据,点击上一页1. 在第1页,

9、点击上一页2. 当列表中无数据,点击上一页下一页,列表中有6页数据1. 在第中间页,点击下一页2. 在第一页,点击下一页3. 在第二页,点击下一页1. 在第3页,点击下一页2. 在1,点击下一页3. 在2页,点击下一页1. 在最后一页,点击下一页2. 列表中无数据,点击下一页1. 在第6页,点击下一页2. 当列表中无数据,点击下一页因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况

10、也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图( Cause一Effect Graphics )方法。采用因果图方法能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题。 因果图方法 因果图方法最终生成的是判定表。它适合于检查程序输入条件的各种组合情况。利用因果图生成测试用例的基本步骤:(1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。(2) 分析软件规格说明描述中的语义.找出原因与结

11、果之间, 原因与原因之间对应的关系. 根据这些关系,画出因果图。(3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不不可能出现. 为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。(4) 把因果图转换为判定表。(5) 把判定表的每一列拿出来作为依据,设计测试用例。因果图方法小结 因果图方法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能力强的测试用例,而且对输入、输出同时进行了分析。 从因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE与取FALSE的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而

12、线性地增加。 如果哪个开发项目在设计阶段就采用了判定表,也就不必再画因果图,而是可以直接利用判定表设计测试用例了。判定表驱动测试方法 判定表的建立步骤:(根据软件规格说明)确定规则的个数.假如有n个条件。每个条件有两个取值(0,1),故有2n种规则。列出所有的条件桩和动作桩。填入条件项。填入动作项。等到初始判定表。简化.合并相似规则(相同动作)。判定表在功能测试中的应用 判定表的优点和缺点 优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。 缺点:不能表达重复执行的动作,例如循环结构。判定表在功能测试中的应用B. Beizer 指出了适合使用判定表设计测试用例的

13、条件:规格说明以判定表形式给出,或很容易转换成判定表。条件的排列顺序不会也不影响执行哪些操作。规则的排列顺序不会也不影响执行哪些操作。每当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要。B。Beizer提出这5个必要条件的目的是为了使操作的执行完全依赖于条件的组合。其实对于某些不满足这几条的判定表,同样可以借以设计测试用例,只不过尚需增加其它的测试用例罢了。因果图/判定表应用-新增页面 寻找被测试页面的组合控件,一般为必填写,或者用户经常使用的控件 上述页面,有2个元素,我们假定一个为下拉框(不可输入),一个文本框

14、因果图/判定表应用-新增页面 按照等价类,边界值和错误猜错法,找到数据。页面元素页面元素需求定义需求定义有效数据有效数据无效数据无效数据下拉框1、下拉框中有很多值2、下拉框没有滚动条3、下拉框中第一个元素为请选择或者全选4、默认为空1、578949442、4332568793、465768771、请选择或者全选2、为空文本框1、长度限制为6为数字1、1234561、泽林信息ee 网销2、为空3、123因果图/判定表应用-新增页面 用2n生成判定表原因用户名1100密码1010结果YN1N2N2备注:因01和00,得到同样的结果,我们简化测试用例,看成是一种情况 生成有效用例的输入和输出为1.

15、57894944, 123456=系统应成功登陆,并且进入57894944此账户2. 433256879 , 123456=系统应成功登陆,并得到此433256879账户数据3. 46576877 , 123456=系统应成功登陆,并得到此465768779账户数据因果图/判定表应用-新增页面 生成无效用例的输入和输出为1. 57894944,泽林信息ee 网销=系统登陆不成功,且有错误提示弹出2. 57894944,为空=系统登陆不成功,且有错误提示弹出3. 57894944,123=系统登陆不成功,且有错误提示弹出4. 请选择或者全选,123456=系统登陆不成功,且有错误提示弹出5. 用

16、户名为空,123456=系统登陆不成功,且有错误提示弹出备注:红色字体部分可删除,因在实际测试中,我们出备注:红色字体部分可删除,因在实际测试中,我们出现现bugbug很少,故我们在书写测试用例时,可选很少,故我们在书写测试用例时,可选1 1到到2 2条条无效的就可以。无效的就可以。因果图/判定表应用-搜索页面 某搜索功能,实现了对商品名称和关键字的过滤。假设我们的数据库已经成功添加了足够多的数据 找到页面元素为: 商品名称,关键字 确定有效值和无效值页面元素页面元素需求定义需求定义有效数据有效数据无效数据无效数据商品名称1、下拉框中有很多值2、下拉框没有滚动条3、下拉框中第一个元素为请选择或

17、者全选4、默认为空1、小米2、三星3、苹果1、请选择或者全选2、为空关键字字符串1.淘宝(此数据在数据库中已存在)1、xx(此关键字在数据库中不存在)2、为空因果图/判定表应用-搜索页面 用2n生成判定表原因商品名称1100关键字1010结果YYYN备注:如果测试搜索,我们因为搜出结果为真,搜不到结果为假 生成有效用例的输入和输出为1. 小米,淘宝=搜索到小米关键字为淘宝的所有数据。2. 三星,淘宝=搜索到小米关键字为淘宝的所有数据。3. 苹果,淘宝=搜索到小米关键字为淘宝的所有数据。4. 小米,为空=搜索到小米的所有数据。5. 全选,淘宝=搜索到关键为淘宝的所有数据因果图/判定表应用-搜索页

18、面 生成无效的用例为6. 全选,xx=搜索不到任何数据,页面有提示弹出正交试验设计法 利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。正交试验设计法步骤1. 提取功能说明,构造因子-状态表 把影响实验指标的条件称为因子.而影响实验因子的条件叫因子的状态. 首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子,而把各个因子的取值当

19、作状态.2. 加权筛选,生成因素分析表 对因子与状态的选择可按其重要程度分别加权.可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。4. 利用正交表构造测试数据集 正交表的推导依据Galois理论(这里省略,需要时可查数理统计方面的教材)。正交试验法正交实验法得出用例的个数为:要素的最大有效数+(要素数-1)(每个都为无效)例如 登陆框中有用户名和密码,如果用户名中有效值为5,密码有效值为3个,那么用例为5+2=7场景法 场景法也叫流程分析法,是将软件系统的某个流程看成路径,用路径分析的方法来设计测试用例。根据流程的顺序依次进行组合,使得流程的各个分支都能走到。 现

20、在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。场景法应用 基本流和备选流:如下图所示,图中经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流1和3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2和

21、4)场景法应用场景法应用 每个经过用例的可能路径,可以确定不同的用例场景。从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景: 场景 1 基本流 场景 2 基本流 备选流 1 场景 3 基本流 备选流 1 备选流 2 场景 4 基本流 备选流 3 场景 5 基本流 备选流 3 备选流 1 场景 6 基本流 备选流 3 备选流 1 备选流 2 场景 7 基本流 备选流 4 场景 8 基本流 备选流 3 备选流 4场景法设计步骤1.根据说明,描述出程序的基本流及各项备选流2. 根据基本流和各项备选流生成不同的场景3. 对每一个场景生成相应的测试用例4. 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测试用例确定测试数据值场景法例子2-在线购物系统 我们都在当当网或china-pub华章网上书店都订购过书籍,整个订购过程为:用户登录到网站后,进行书籍的选择,当选好自己心仪的书籍后进行订购,这时把所需图书放进购物车,等进行结帐的时候,用户需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论