zoukankan      html  css  js  c++  java
  • 测试计划和测试用例

    测试用例的概念和作用
     
    1.测试用例的定义:
     
     1.1什么是测试用例?
     是为某个业务目标,而编制的一组由测试输入,执行条件以及预期结果组成的案例
     
    1.2编写测试用例的好处:
    1.测试用例的作用:
    在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
    测试用例的使用令软件测试的实施重点突出、目的明确。
    在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
    检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路
     
    2.测试用例的4个特性
    代表性:能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。
    针对性:对程序中的可能存在的错误有针对性地测试
    可判定性:测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
    可重现性:对同样的测试用例,系统的执行结果应当是相同的。
     
     
     
    2.编写测试用例的基本方法
     
    等价类划分法
    应用场景:多用于输入框
    1.1概念
    等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。
     
    等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。
    一般可分为有效等价类和无效等价类
     
    比如:一个青少年考试的分数(备注13-17岁为青少年)
    假设青少年年龄为x,13<=x<=17,数学成绩为y:0<=y<=100 
    那么年龄按照等价类划分可分为x<13,13<=x<=17,x>17,有效等价类是13<=x<=17,无效等价类是x<13,x>17
    数学成绩按照等价类划分可分为y<0,0<=y<=100,y>100,有效等价类是0<=y<=100,无效等价类是y<0,y>100
     
    1.2等价类划分为:
    有效等价类:指符合《需求规格说明书》,输入合理的数据集合
    无效等价类:指不符合《需求规格说明书》,输入不合理的数据集合
     
     
    0
     
     
    我们将输入域分成了一个有效等价类(1~100)和两个无效等价类(<1,>100),并为每一个等价类进行编号
    然后我们就可以从每一个等价类中选取一个代表性的数据来测试,设计如下表所示的测试用
    0
     
     
    0
     
    3.边界值法
    一般边界值分析是因为程序开发循环体时的取数可能会因为<,<=搞错。
             比如下面代码
      for(int i = 0;i <100; i ++){
      int j = i+1;
      System.out.println("循环第“+j+"次")//循环地做某件事情}
     
      这里的程序是循环了100次,所以会做100次;
      如果程序员不小心,把i <100写成i <= 100,则多循环添加一次,这时候边界值检查是一个很好的测试方法。
     
     
    对数据进行软件测试,就是在检查用户输入的信息、返回的结果以及中间计算结果是否正确。
    即使最简单的程序要处理的数据量也可能极大,根据一些关键的原则进行等价类的划分,以合理减少测试用例,关键的原则是:边界条件,次边界条件、空值和无效数据。
     
    确定边界值的方法()
    选取正好等于、刚刚大于或刚刚小于边界值作为测试数据
      在边界值中掌握上点和离点的取数
     
    [1 100]  上点:1 ,100   离点  : 0  101
      (1,100)  上点 :2,99    离点 : 1  ,100
      (1,100]   上点 :2,100    离点: 1 ,101
     

     

    4.因果图法
    1.1 概念:
    因果图法比较适合输条件比较多的情况,测试所有的输入条件的排列组合。
    所谓的原因就是输入,所谓的结果就是输出。
     
    1.2    因果图基本图形符号
    恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。
    非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。
    或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
    与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。
     
    0
     
    1.3 因果图的约束符号
    E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
    I(包含):表示三个原因中至少有一个必须成立
    O(惟一):表示两个原因中必须有一个,且仅有一个成立
    R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
    M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定
    0
     
    因果图测试用例
    例如:有一个处理单价为2.5元的盒装饮料的自动售货机软件。
    若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。
    若投入的是3元硬币,在送出饮料的同时退还5角硬币。
     
    分析这一段说明,我们可列出原因和结果
    原因(输入):
    投入2.5元硬币;
    投入3元;
    按“可乐”按钮;
    按“啤酒”按钮;
    按“奶茶”按钮。
    中间状态:  ① 已投币;②已按钮
    结果(输出):
    退还5角硬币;
    送出“可乐”饮料;
    送出“啤酒”饮料;
    送出“奶茶”饮料;
     
    0
     
     
     
    1.4判定表法
    0
    0
     
    5.场景法
    1.1   测试用例设计的思想
     现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。
    这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
     用例场景是通过描述流经用例的路径来确定的过程,
     这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。
     
     
    0
     
     遵循上图中每个经过用例的可能路径,可以确定不同的用例场景。
    从基本流开始,再将基本流和备选流结合起来,可以确定以下用例场景:
    0
     
    基本流和备选流的区别
    0
     
     
     
    1.1.13.   银行案例ATM:
    个人标识号 (PIN=personal identification number ),用于保护智能卡免受误用的秘密标识代码。
    PIN 与密码类似,只有卡的所有者才知道该 PIN。
    只有拥有该智能卡并知道 PIN 的人才能使用该智能卡
    0
     
    0
     
     
     
     
     第一次测试中,根据测试计划,我们需要核实提款用例已经正确地实施。此时尚未实施整个用例,只实施了下面的事件流:
     
     
    0
     
    对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。
      从确定执行用例场景所需的数据元素入手构建矩阵。然后,对于每个场景,至少要确定包含执行场景所需的适当条件的测试用例。
             下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。
             本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。
    0
    0
    2.5. 错误推测法
     
    错误推测法:根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的黑盒测试方法
     
    例如,测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用 例:
    1) 无SIM 卡插入时进行呼出(非紧急呼叫)
    2) 插入已欠费SIM卡进行呼出
    3) 射频器件损坏或无信号区域插入有效SIM卡呼出
    4) 网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何号码等)
    5) 网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字
     
    技巧:最重要的是要思考和分析测试对象的各个方面,多参考以前发现的bug的相关数据,总结的经验,个人多考虑异常的情况、反面的情况、特殊的输入,以一个攻击者的态度对待程序,就能设计出比较完善的测试用例来。
     
    2.6. 正交表法
     
    正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求。
    正交实验设计包括两部分内容:第一,是怎样安排实验;第二,是怎样分析实验结果。
     
    应用场景:在一个界面中有多个控件,每个控件有多个取值,控件之间可以相互组合,不可能(也没有必要)为每一种组合编写一条用例,如何使用最少最优的组合进行测试。
    ——正交排列法
     
    判定表,因果图也是考虑控件组合,但是组合数量较少(一般不会超过20中)
    公式:
    0
     
     
     
    测试工具:
     
    正交表测试用例设计方法的特点是什么?
    1、用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
    2、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
    3、体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
  • 相关阅读:
    MV*模式的个人理解
    Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n) (转)
    不定宽高元素的水平垂直居中
    判断是否在微信浏览器中
    HTML5实战与剖析之触摸事件(touchstart、touchmove和touchend)(转)
    清除inline-block元素间距
    rs485多主
    基于状态机的单片机按键短按长按功能的实现
    深入理解FIFO(包含有FIFO深度的解释)——转载
    传递指针的指针(错误的例子)
  • 原文地址:https://www.cnblogs.com/lcj-momo/p/14146140.html
Copyright © 2011-2022 走看看