- 测试用例
- 概念:为特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据(测什么、怎么测)
- 测试用例常用方法
- 等价类划分
- 常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格
- 将不能穷举的测试过程进行合理的分类,从而保证设计出来的测试用例具有完整性和代表性
- 等价类的分类
- 有效等价类:指符合《需求规格说明书》,输入合理的数据集合
- 无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合
- 思考步骤
- 1.先确定有效和无效等价类
- 2.有效等价类就是题目条件(两端的极值(边界值)要判断、中间随意一个值也要判断)
- 3.无效等价类先划分与条件相反的情况,再找到特殊情况(中文、英文、特殊符号、空格、空)
- 等价类划分
-
-
- 总结
- 输入长度
- 输入类型
- 组成规则
- 是否为空
- 是否区分大小写
- 是否重复
- 是否去除空格
- 总结
- 边界值
- 边界:指对于输入等价类和输出等价类而言,稍高于其边界值及稍低于边界值的一些特定情况
- 常用的黑盒测试方法
- 思考步骤
- 找到测试数据的边界点,也就是有效等价类和无效等价类的边界点,对边界点数据专门进行测试
- 一般情况下,需要对边界值以及边界值两边的数分别进行测试
- 总结
- 边界值思想是选边界值和刚超出的值来进行测试,同时也要根据实际情况来看
- 边界值和等价类是配合使用的:等价类将所有可能输入的情况分为有效等价类和无效等价类,又根据输入数据类型再分,而边界值方法,是从某个等价类中挑几个具有代表性的数据作为测试数据
- 因果图
- 因:输入条件
- 果:输出结果
- 适用于输入条件之间有相互制约、相互依赖的情况
-
-
-
- 基本符号
- 恒等:C1出现,E1必定出现
- 非:C1出现,E1肯定不出现
- 或:C! C2 中任意出现一个就会有E1
- 与:C1 与 C2 都出现才会有E1
- 基本步骤
- 找出所有的因,因就是输入条件或输入条件的等价类
- 找出所有的果,果就是输出条件
- 明确所有输入条件之间的制约关系以及组合关系(即哪些可以组合到一起)
- 明确所有输出条件之间的制约关系以及组合关系(即哪些可以组合到一起)
- 每种因的组合对应哪种果的组合
- 把因果图判定成判定表(因果图只是一个过程,判定表才是真正的输入)
- 为判定表中的每一列表示的情况设计测试用例
- 基本符号
- 判定表
- 组成部分
- 条件桩:所有条件
- 动作桩:所有结果
- 条件项:针对条件桩的组合取值
- 动作项:针对动作桩的组合取值
- 基本步骤
- 列出所有的条件桩和动作桩
- 组合条件桩、动作桩形成条件项、动作项
- 简化判定表(合并相似规则(相同动作))
- 组成部分
- 场景法
- 模拟用户操作软件时的场景,主要用于测试系统的业务流程
- 当拿到一个测试任务时,我们并不是先关注某个控件的边界值、等价类是否满足要求,而是先要关注它的主要功能和业务流程图是否正确实现,这就需要使用场景法赖完成测试
- 当业务流程测试没有问题,也就是该软件的主要功能没有问题时,我们再重点商量从边界值、等价类等方面对控件进行测试
- 主要应用于冒烟测试
- 两个概念
- 基本流:按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)
- 备选流:导致程序出现错误的操作步骤(模拟错误的操作流程)
- 用例场景是用来描述流经用例路径的过程,这个过程从开始到结束遍历用例中的所有基本流和备选流
- 在使用场景法设计测试用例时,需要覆盖系统用例中的主成功场景和扩展场景,并且需要适当补充各种正反面的测试用例和考虑出异常场景的情形
- 当使用场景法测试程序没有问题时,可以再使用边界值、等价类方法对账号、密码进行更加细致、完整的测试
- 流程分析法
- 适用于有先后顺序的测试
- 常用于业务流程、安装流程
- 每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还是需要等价类、边界值等方法进行完善
- 错误推断法
- 凭借直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的
- 正交表
- 从全面试验中挑选出有代表性的点进行测试(均匀分数、整齐可比),高效率、快速、经济的方法
- 基本步骤
- 根据所测程序中控件的个数(因素)以及每个控件的取值个数(水平),选取一个合适的正交排列表(如4个控件,每个控件3种情况,就是3^4,写做:L9(3^4))
- 把控件及其取值列举出来,并对其进行编号
- 把控件及其取值映射到正交排列表中
- 根据映射好的正交排列表编写测试用例
- 局限性
- 常用的正交表只有几种,而且要求是每个控件的选择情况都相等,这在现实中是很难存在的
- 如果没有现成的正交表时,就可以使用混合正交表
- 混合正交表
- 使用步骤
- 制作取值表(只列出取值,不用编号)
- 复制取值表中的数据,放到文本文档(test.txt)文件中保存,注意不要更改任何格式
- 把文本文档放在allpairs(正交表的生成工具)文件夹中
- 打开cmd控制台
- 进入allpairs文件夹
- 在控制台中输入allpairs.exe test.txt>test1.txt (test1.txt是自己起的名字,用来存放生成的用例,可以自动生成,不用提前建好)
- 使用步骤
-
- 几种常用测试方法选择
- 拿到一个测试任务的时候,先关注它的主要功能与业务流程、业务逻辑是否正确实现,故用场景法
- 需要输入数据的地方,考虑等价类划分法,包括输入条件与输出条件的等价划分,将无限测试变成有限测试
- 在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误能力最强
- 如果程序的功能说明中含有输入条件的组合情况,则一开始就应考虑用因果图和判定表
- 对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排序法选择较少的组合方式(最少的测试用例获得最大的测试覆盖率)
- 对照程序逻辑,检测已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应补充更多的测试用例
- 采用错误推断法再追加测试用例——依靠测试人员的经验与智慧