浅谈测试用例方法
9种测试用例方法:
1.等价类 2.边界值
3.因果图 4 判定表
5场景法
6状态转换图
7大纲法
8正交排列法
9错误推测法
1等价类:
有效等价类:取值范围之内的属于有效
无效等价类:取值范围之外的属于无效
优点:清晰地梳理被测对象
2边界值:(+1和-1的区别)
上点:
离点:
内点:
3.因果图:通过画图的方式表达输入条件和输出条件之间的约束关系
因果图的优点:可以快速的梳理业务逻辑、条件、组合、限制关系
因果图的缺点:每个人的想法有差异,导致用例的条数不一样
因果图的基本符号:
1.恒等:当输入条件发生时,结果一定会出现; 当输入条件不发生时,结果一定不会出现
2.非:取反 当输入条件发生时,结果一定不会出现 当输入条件不发生时,结果一定会出现
3.或:当多个输入条件,只要有一个条件满足,结果才出现
4.与:若几个输入条件都满足,结果才出现
因果图的约束条件:
1.互斥(异):如果选只能选1个,但可以不选
2.包含(或):至少要选1个(可以多选但不能不选)
3.唯一:必须选,且只能选1个
区别(唯一与互斥):唯一是必须要选一个;互斥是可以不选,如果选只能选一个
4.要求:如果a=1,则要求b必须是1
5.屏蔽(非):取反
4.判定表:
1.分析和表述若干输入条件下,被测对象针对这些输入做出的响应一种工具判定表属于工具,它是由开发设计方式方法引申到了测试领域
2.遇到复杂的业务逻辑,可以使用该表理清业务逻辑
判定表的优点:所有的测试可以通过公式计算出来,覆盖全面,不会遗漏测试场景
判定表的缺点:
1.输入条件之间的限制条件不好表达,解决方案:填写备注,来描述限制关系
2.当输入次数过多,规则以2的N次方剧增时,判定表就会很庞大,这时候判定表就会造成逻辑缺失,业务混乱,所以需要细致分析,尽可以划分多个需求项,再使用到判定表
3.有重复的测试场景,解决方案:简化判定表
判定表的特点:
1.输入条件的顺序是无关紧要的
2.输出结果的顺序是无关紧要的
3.先测哪种组合,后测哪种组合是无关紧要的
4.每种组合之间是相互独立的
5.场景法
基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)
备选流:导致程序出现错误的操作流程(模拟错误的操作流程)
6.状态转换图:关注被测对象的状态变化,在需求规格中是否有不可达到的状态和非法的状态
状态:在被测对象在特定输入的条件下,能不能保持响应形式
方法流程:
1.分析需求,找出状态
2.画出状态图
3.画出状态树--要有起始点和终止点
4.抽取测试用例
7.大纲法:在一个程序或程序的某个模块中,涉及到多个窗口,每个窗口中能够完成多个动作,这些窗口又相互联系。为了弄清窗口之间的关系,或者说动作和动作之间的关系,可以使用测试大纲方法。
8.正交排列法--正交实验法--优选法:
因子:所有参与试验的影响试验结果的条件,称为因子
水平:影响试验因子的取值或输入,称为水平
优点:经过严格的数学推理而来,可以提高效果,正交排列法计算的测试用例是最优的,因此也叫优选法
缺点:会遗漏一些测试场景,解决方案:根据错误推断法增加测试用例
9.错误推断法-错误推测法:在测试程序时,可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法
要素有三点:经验、知识、直觉
经验的优点:
1.充分发挥人的直觉和经验
2.集思广益
3.方便使用
4.快速容易切入
经验的缺点:
1.难以知道测试的覆盖率
2.可能丢失大量未知的区域
3.带有主观性且难以复制