测试理论02-测试用例方法
开发过程模型(瀑布模型,快速原型,螺旋模型)
测试模型(V模型,W模型,H模型)
软件测试分类(按阶段,按覆盖源代码,按照运行,按照自动化,其他)
测试用例(定义,八大要素)
等价类划分法(概念,有效,无效)
学习目标
掌握边界值法与划分等价类的区别
掌握边界值中常见的三个点
上点,离点,内点
掌握离点的划分方法
说出判定表中条件桩、条件项、动作桩、动作项的定义
掌握因果图法与判定表之间的区别
因果图是使用图解方法描述因果关系,判定表是使用表格方式描述输入与输出之间的关系。
因果图不能直接编写用例。因果图可以作为判定表的前置步骤。
说出正交实验法的基本定义
使用最小的数据集合实现最大的测试覆盖
说出正交表中因素与水平的定义
因素:输入/条件 水平:输入的取值
使用工具完成混合正交实验用例设计
说出场景法的基本定义
模拟用户的实际使用场景进行测试
测试用例设计方法--边界值分析法
来源:实践告诉我们,程序在边界位置容易出错
边界范围:
正好等于,刚刚好大于,刚刚好小于边界的值
三个点:
上点:边界上的点
离点:离上点最近的点
内点:范围内的点
编写用例的步骤:
-
明确需求
-
划分等价类
-
确定边界值:上点,离点,内点
-
编写测试用例
等价类与边界值结合:
先覆盖边界值的所有数据,等价类方法中已经被覆盖的等价类不用再次挑选代表性的数据。
补充:边界中7条数据优化成5条数据的方法
保留上点与内点
去掉离点中的两条数据(与上点相同等价类)
设计测试用例的方法-判定表分析法
适用:多个输入,多个输出,输入之间有组合关系,输入和输出有依赖关系
作用:
-
理清思路,分析输入(条件)和输出(结果)之间的关系
-
找到所有的输入的组合情况
四个组成部分:
-
条件桩:所有的输入/条件
-
条件项:条件的取值
-
动作桩:所有的输出/结果
-
动作项:动作的取值
规则:判定表中的一列(条件项,动作项)
编写用例的步骤
-
明确需求
-
画出判定表
-
条件桩,动作桩
-
条件项
-
动作项
-
-
编写用例,一条规则对应一个测试用例
设计测试用例的方法-因果图法:
两个核心:
因 :输入/条件 果 :输出/结果
适用范围:多个输入,多个输出,输入之间有组合关系,输入和输出有依赖关系
概念:用图解的方法表示输入的组合,输入和输出之间的依赖关系。
四种符号:
-
恒等
-
非:波浪号~
-
或:v
-
与:倒着的v
编写用例的步骤:
-
明确需求
-
画出因果图
-
画出判定表
-
编写用例
设计测试用例的方法-正交法
正交表概念:通过最小的测试组合实现最大的测试覆盖率
适用范围:输入之间存在大量组合,无法实现全部组合测试的情况。
特点:
均匀分散(每个输入的取值出现的次数是相同的),
整齐可比(任意两个输入,取值之间是进行了全组和)
L:正交表
n:正交表的行数
m:列的取值个数
k:正交表的列数
叫法:
因素:正交表的列数
水平:列的取值个数
正交表设计用例的步骤:
-
明确需求
-
画出正交表
-
确定因素与水平
-
挑选正交表
-
把数字替换成需求中的文字
-
-
编写测试用例,正交表的一行就是一个测试用例
混合正交表:
-
根据需求中的因素数,水平数,挑选接近的正交表(稍微大的因素,水平)
-
调整正交表:筛查多余的列,水平的取值使用现有的需求替代(尽量保持水平均匀)
使用allpairs工具创建正交表
-
把需求中的因素与水平写到excel文档中
-
在allpairs.exe文件的同级目录中,新建txt文件
-
把excel中的因素,水平直接复制到第二步新建的txt文件中
注意:不要多复制内容,只要因素与水平
注意:复制完成后,不要修改txt文件中的内容
-
在allpairs文件夹的位置,在地址栏直接输入“cmd”,进入DOS命令
-
在DOS系统中输入命令“allpairs.exe 源文件.txt > 新文件.txt”
注意:源文件与新文件的命名建议用数字或者英文,不要有中文
-
把新文件中的正交表拷贝到excel文档中
设计测试用例的方法-场景法
价值:
-
用户角度
-
测试人员角度
定义:
通过模拟用户的使用软件的操作进行测试,往往是多个功能组合使用
基本流:模拟用户的正常操作
备选流:模拟用户的错误操作
编写测试用例的步骤:
-
明确需求
-
确定基本流和备选流
-
根据基本流和备选流,确定场景
-
编写测试用例,一个场景对应一条测试用例
设计测试用例的方法-流程图法
定义:使用流程图表示用户的使用场景,通过流程图的路径设计用例
使用步骤:
-
明确需求
-
画出流程图
-
编写用例,流程图中的一个路径,就是一条测试用例
设计测试用例的方法-错误推测法
定义:凭借测试人员的经验与直觉推测出软件容易出错的地方,进行测试
适用范围:
-
时间紧张,用例无法全部执行,挑选容易发现问题的用例优先执行。
-