测试用例的编写

时间:2022-12-01 00:15:08

 1.测试用例的定义和内容

(一)测试用例的定义

   A.、对一项特定的软件产品进行测试任务的描述,指定输入,预期结果和一组测试项的执行条件的文档。
    a.体现测试方案、方法、技术和策略;
    b.内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。

  (二)测试用例的元素

  A、测试用例必须给出测试测试目标、测试对象、测试环境要求、输入数据和操作步骤,概括为5W1H。

   a. 测试目标:Why——为什么而测?功能、性能、可用性、容错性、兼容性、安全性等。
   b.测试对象:What——测什么?被测试的项目,如对象、函数、类、菜单、按钮、表格、接口、整个系统等。
   c.测试环境:Where——在哪里测?测试用例运行时所处的环境,包括系统的配置和设定等要求,也包括操作系统、浏览器、通讯协议等单机或网络环境。
   d.测试前提:When——什么时候可是测?测试用例运行时所处的前提或条件限制。
   e.输入数据:Which——那些数据?在操作时,系统所接受的各种可变化的数据,如数字、字符、文件等。
   f.操作步骤:How——如何测?执行软件和程序的先后次序步骤等。如打开对话框、点击按钮等。

2.测试用例的写作说明

 (一)测试用例的格式?模板?

测试用例的编写

 

测试用例的编写

 

测试用例的编写

 

     A、序号
       a.简单、唯一。

    B、测试说明(或称测试点、检查点、测试概述、用例概述、用例说明):用一句话对测试用例进行概述
       a.可以总结测试目的;
       b.可以用疑问句表示;
       c.可以用“检查、验证、测试”等字眼(如验证QQ默认安装);
       d.最好看到这句话就能知道如何测试;
       e.尽量唯一(因果图、正交表可能会有重复的测试说明);
       f.用例执行多轮时,越往后执行可能越快,如果用例写得好,直接看概述就行。

    C、初始条件(预置条件、前提条件)

      a.初始条件要是一个状态,而且是静态的,如管理员已登录后台;
      b.初始条件是第一步操作步骤之前的状态,不能太远,不用从头写到尾
      c.很多项目中不写预置条件。

    D、操作步骤
      a.若对数据要求高,需要把数据分离出来;
      b.步骤要都有序号;
      c.每一步用分号分开,最后用一个句号;
      d.每一步必须换行;
      e.参数前加冒号(如用户名:admin);
      f.涉及按钮界面用【】、“”等成对符号间隔;
      g.功能的详细用例步骤4-6步左右;
      h.最后一步一定是个动作,不能写结果。

    E、预期结果
     a.是一个状态;
     b.如果参考文档中有描述,原封不动的抄过来;如果文档中没有具体要求,则点要一致,可以有几个点,如QQ默认安装,应能启动、默认选项匹配等;

    F、用例状态
     a.通过、失败、阻塞、未执行、搁置、无效用例…
     b.初始条件达不到时,一般用例状态设置为阻塞。
     c.看如何执行用例,执行完关心什么来定。

   G、优先级
    a.用例的执行顺序。

 

测试用例的编写

 

3.测试用例的评审和管理

  (一)保证测试用例质量的方法

     a.首先,要对用户需求、服务质量要求、产品特性有深刻且全面的理解
     b.其次,采取正确、恰当的方法进行用例设计;
     c.再者,按照测试用例的标准格式或规范的模板来书写测试用例;
     d.最后,对测试用例的检查、评审,也是提高测试用例质量的主要且有效的手段。

 (二)测试用例评审要点

    a.根据检查单或检查表(Check List)进行评审。

 (三)测试用例的优先级

测试用例的编写

 

 (四)如何设置测试用例的优先级

      a. 考虑成本、时间、人员等因素。
      b.考虑用例的关联性。
      c.考虑用例的干扰性。
      d.决定执行用例的先后顺序。

 (五)注意

     a. 兼顾测试充分性和效率。
     b.考虑测试执行的可再现性。

 (六)测试用例的维护

   A、通常情况下,测试用例需要更新,可能有以下几种原因:
    a.先前的测试用例设计不全面或者不够准确。随着测试的深入和对产品规格说明书的深入研究,对某些功能、特性、逻辑等的理解越来越清楚、深刻
    b.所发现的严重的软件缺陷没有被目前的测试用例所覆盖。
    c.编写的测试用例不规范或者语句错误。
    d.新的版本中有新功能的需求或者原有功能的增强而需要发生改动。
    e.旧的测试用例已经不再适用,需要删除。

 (七)使用工具管理测试用例

       Excel
       Bugfree
       ZenTao
       ALM/QC
       ...

4.用例设计方法总结

  (一)通过测试

     a.主要用于验证系统和它陈述的需求一致,确认软件至少能做什么,一般通过分析需求说明书来设计测试用例。

(二)失败测试

     a.纯粹为了破坏软件而设计和执行的测试案例,也称迫使出错测试。主要用于证明“一个系统不会做不需要它做的事情” 。

      测试用例的编写

  (三)随机测试

     A、也称即兴测试(ad hoc testing),是指临时准备的、即兴的Bug搜索测试过程。

    e.g.如果让一百万只猴子在一百万只键盘上敲一百万年,它们最终就可能写出莎士比亚话剧等巨著。

      B、缺点

      a.无法度量随机测试的实际覆盖率。
      b.许多测试都是冗余的。
      c.测试数据因为是随机的,重复测试是不可能的。

   (四)应用群集效应

      a.找到的软件缺陷越多,说明那里的软件缺陷越多,若在测试中发现大量的上边界条件缺陷,则在测试时应注重上边界。
      b.程序员倾向于修复报告出来的问题,要保证除此之外可能存在的其他问题不会出现。

 (五)探索性测试

      a.可以说是一种测试思维技术。
      b.探索性测试是一种精致的、有思想的过程。
      c.探索性测试强调测试设计和测试执行的同时性。
      d.测试人员通过测试来不断学习被测系统,同时把学习到的关于软件系统的更多信息通过综合的整理和分析,创造出更多关于测试的主意。
      e.测试设计,测试执行,测试日志的记录似乎是无关紧要的工作。
      f.测试人员必须根据测试章程在规定的时间内完成。
      g.适合于

  • 没有或只有少量的有价值的文档
  • 常用于在时间压力下。
  • 为补充合适的、正式和形式化测试。

   (六)如何选择测试方法

     a.使用大纲法、场景法、因果图设计测试用例。

  • 如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用因果图法。

    b.用等价类划分方法、边界值分析方法、错误猜测法补充测试用例。

    c.执行测试时进行探索性测试或随机测试。

   d.执行完测试用例后进行随机测试。