1.等价类划分法:
等价类划分法是把所有可能的输入划分成若*分(子集),然后从每一个子集中选取具有代表性的数据作为测试用例。
有效等价类:有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。
无效等价类:无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。
2.边界值分析法:
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充(即等价类划分法与边界值分析法配合着一起使用,可以减少测试次数,又可以做到更精准的测试),其测试用例来自等价类的边界。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据。
在进行测试时,应先使用等价类划分法根据输入的特性,首先将其分为有效等价类跟无效等价类,然后再用边界值分析法选取有效等价类还有无效等价类的边界值,最后对这些边界值进行测试。(除了边界值之外,还可以再每一等价类中多选几个数据)
例如:闹钟在8:00响铃,则先使用等价类划分法将其划分为有效等价类:8:00;无效等价类:0:00~7:59及8:01~24:00。然后用边界值分析法对其进行补充,选取边界值,提高测试准确度:7:59,8:00,8:01。除此之外还可以在无效等价类中多选几个值,比如:8:10,9:40等。
3.错误猜测法:
错误猜测法基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
例如:
-
新增动画,在动画过程中能否被打断,有没有对其他操作进行屏蔽,例如:Home、返回键、来电、短信提示、屏保、快速操作;
-
挂载SD卡,取消挂载SD卡;
-
内存不足;
-
程序异常停止,正在运行杀死后台进程、Eclipse、最近运行等;
-
2D/3D设置项数据是否有同步;
-
同一数据源的不同模块,在修改后是否有同步;
-
数据下载过程中,网络突然中断了会怎么样;
-
输入框中只输入空格或换行,会不会被当成有效输入;
-
更新软件后,功能表程序图标是否有更新;
-
横竖屏切换后,界面是否能够还原,数据是否可以保存;
错误推测法即思考一些特殊的情况(外部环境的突然改变;用户的一些可能性操作),这些特殊的情况会带来什么影响,然后根据这些特殊情况设计测试用例。
例如:在DarlingAlarm项目中,用错误推测法可以猜测一下用户是否会无意间设计了两个相同类型(都是健康睡眠)的闹钟,而且内容也都一样,对手机或者这个app有什么影响。
4.场景法:
场景法一般包含基本流和备用流,从一个流程开始,通过描述经过的路径来确定的过程,经过遍历所有的基本流和备用流来完成整个场景。
基本流:是经过用例的最简单的路径,需求分解后的基本用例;
备选流:备选流从基本流开始,跳到其他界面完成用例、基本流执行时回到开始、基本流执行时打断结束,备选流执行时打断。
5.因果图/判定表
如果在测试时必须考虑输入条件的各种组合,就可使用因果图来设计测试用例。它适合于描述对于“多种条件的组合,会相应产生多个动作”的情况。
因果图– 基本符号:
用场景法及因果图/判定表对下列案例进行测试用例设计:
案例描述:GGBook电子书购买测试用例的设计。
其规格说明如下:
1点击付费电子书,若登录账号,账号余额充足,点击确定购买,扣款成功,则电子书可读。
2若没有登录账号,则提示登录账号。
3若账号余额不足,则提示充值。
4扣款失败,账户余额不变,电子书不可读。
场景法:
(1)购买电子书示意图
user 购买电子书 GGBook
(2)用例图
基本流 |
1.输入帐号,密码,检查是否正确(对此事件流,帐号是有效的,成功登录) 2.用户选择电子书,选择购买并付款,检查余额是否充足(对此事件流,用户余额充足) 3.外部环境良好,扣款成功,并据此更新用户余额,成功购买电子书 |
备选流1;帐号无效 |
在基本流步骤1中,验证账户;验证出账户无效,并给出相关提示 |
备选流2:余额不足 |
在基本流步骤2中,检查出余额不足并给出相应提示,提示用户充值 |
备选流3:扣款失败 |
在基本流步骤3中,由于其他原因,导致没有扣款成功,并给出相应提示,如未链接网络 |
(3)场景设计
场景描述 |
基本流 |
备选流 |
场景一:成功购买 |
基本流 |
|
场景二:帐号无效 |
基本流 |
备选流1 |
场景三:余额不足 |
基本流 |
备选流2 |
场景四:扣款失败 |
基本流 |
备选流3 |
(4)用例设计
序号 |
场景 |
描述 |
结果 |
1 |
一 |
成功登录,余额充足,扣款成功 |
成功购买 |
2 |
二 |
登录失败,账户无效 |
帐号无效 |
3 |
三 |
登录成功,余额不足 |
余额不足 |
4 |
四 |
登录成功,余额充足,但是外部环境不够良好 |
扣款失败 |
因果图/判定表:
(1)、分析原因和结果
原因:
c1、登录账号
c2、余额充足
c3、扣款成功
结果:
e1、提示登录
e2、提示充值
e3、电子书可读
e4、电子书不可读
(2)、画出因果图(所有原因结点列在左边,所有结果结点列在右边)
(3)、转换成因果图判定表
结合上面两个的测试案例的设计,场景法跟因果图/判定表有时候是可以相互转换的。因此当要考虑条件的多种组合情况时并且条件组合情况较多,采用因果图/判定表较为合适。但是当条件组合较少,可以采用场景法,这样有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
6.用例测试的综合策略:
-
使用等价类划分各个区间和简化用例;
-
在任何情况下都必须使用边界值分析方法;
-
使用错误推测法追加一些测试用例;
-
对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度;
-
程序功能说明中输入条件组合情况较为复杂,可选用因果图法;
-
业务流很清晰的系统,可用场景法贯穿整个测试案例过程;
-
进行用例评审,保证用例完善度