测试用例

  • 测试用例
    • 概念:为特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据(测什么、怎么测)
  • 测试用例常用方法
    • 等价类划分
      • 常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格
      • 将不能穷举的测试过程进行合理的分类,从而保证设计出来的测试用例具有完整性和代表性
      • 等价类的分类
        • 有效等价类:指符合《需求规格说明书》,输入合理的数据集合
        • 无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合
      • 思考步骤
        • 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是自己起的名字,用来存放生成的用例,可以自动生成,不用提前建好)
  • 几种常用测试方法选择
    • 拿到一个测试任务的时候,先关注它的主要功能与业务流程、业务逻辑是否正确实现,故用场景法
    • 需要输入数据的地方,考虑等价类划分法,包括输入条件与输出条件的等价划分,将无限测试变成有限测试
    • 在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误能力最强
    • 如果程序的功能说明中含有输入条件的组合情况,则一开始就应考虑用因果图和判定表
    • 对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排序法选择较少的组合方式(最少的测试用例获得最大的测试覆盖率)
    • 对照程序逻辑,检测已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应补充更多的测试用例
    • 采用错误推断法再追加测试用例——依靠测试人员的经验与智慧
posted @ 2019-06-30 21:27  Sakura媛媛  阅读(296)  评论(0编辑  收藏  举报