zoukankan      html  css  js  c++  java
  • Day1-软件测试基础理论——软件测试设计

    1、测试用例

      一)组成要素
      (1)用例编号:编号要唯一,
        技巧:a.项目名_模块名_编号
             b.模块名_编号
             c.编号
      (2)模块
      (3)功能
      (4)用例标题:通常标题包括在哪里+操作+验证内容
      (5)优先级
        分高、中、低
        其中,高:核心流程、冒烟测试
        中:一般流程、异常流程
        低:界面、兼容
      (6)预置条件
        一般不填写,除用例必须在特殊情况、特殊条件下才能执行时填写。
        需要填写:(1)某种特定的网络环境
               (2)某些权限才能执行用例
                 (3)在某个用例执行后才执行本用例
      (7)操作步骤
        描述具体如何操作/测试过程
      (8)预期结果
        按照测试步骤执行后,预期得到一个什么输出或结果
      (9)测试结果
      (10)备注
        用例需要做特殊说明时使用。

      二)目的
        (1)测试点,也称为测试目的,指的是测试用例想要验证的关键之处。
        (2)测试点时测试用例设计的思维线索,最能简洁表明一条测试用例的核心意义。

      三)设计原则
        (1)用语简洁清晰,但不能过于简单
        (2)用语无歧义,尽量少用过长的句子
        (3)用例的各个基本要素要齐备,不能缺失。
        (4)用力步骤尽量足够详细,操作应该明确。
        (5)容易被其他的测试工程师读懂,并能顺利执行。

      四)误区
        (1)实际结果不属于测试用例的组成部分
        (2)用例条件不足、数据不全、不具备测试条件等原因,在填写执行结果是除了通过和不通过,还有一个状态:未执行,block
        (3)上述元素仅是用例公用部分,实际工作中各公司用例模板上会有差异,如:有的公司还有额外字段(环境、URL、开发者、参考资料等)。

      五)测试用例的粒度
        粒度,指的是粗细程度。粒度大,就是说一个用例所涵盖的关注内容比较多,反之同理。
        用例粒度越大,说明总的用例越少;反之,说明单条用例关注的测试点很集中,不容易遗漏,并且执行需要的时间比较好评估。

    2、黑盒测试

      1)概念
        黑盒测试又称功能测试、数据驱动测试或者基于规格说明书的测试,是一种从用户观点出发的测试。

      2)错误类型
        主要用:(1)不正确或者遗漏的功能
            (2)接口、界面错误
            (3)性能错误
            (4)数据结构或者外部数据访问错误
            (5)初始化或者终止条件错误

      3)运用黑盒测试方法,可以导出满足下列标准的测试用例集:
        (1)所设计的测试用例能够减少达到合理测试所需的附加测试用例数。
        (2)所设计的测试用例能够告知某些数据错误的存在或不存在,而不是仅仅与特定测试相关的错误。

      4)用例设计的技术
        (1)等价类划分方法
        (2)边界值分析方法
        (3)场景法
        (4)错误推测方法
        (5)因果图方法
        (6)判定表驱动分析方法
        (7)正交试验设计方法
      其中,
        (1)等价类划分方法
          a.概念:
            把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后熊每个子集中选取少数具有代表的数据作为测试用例,该方法是一种重要的、常用的黑盒测试用例设计方法。
          b.方法介绍
            1)划分等价类
            等价类是指某个输入域的子集和。
            合理假定:测试是某等价类的代表值就等于对这一类其他值的测试。
            等价类分两种:
              (1)有效等价类:指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。
              利用有效等价类可验证程序是否实现了规格说明中所规定的功能和性能。
              (2)无效等价类:指对程序的规格说明是不合理的或无意义的输入数据构成的集合。

            2)划分等价类的标准:
              完备测试、避免冗杂

            3)划分等价类的方法:
              (1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
              如:输入值是学生成绩,范围是0~100(分) 0<=x<10
              (2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类。
              如:在某软件中规定“身份”一栏只能填写“党员”、“团员”、“群众”,则这三个是有效等价类,其他的输入全部为无效等价类。当然,在这种情况下,一般让用户进行选择最好。
              (3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
              如:如果让用户输入“真”或“假”,“同意”或“不同意”等情况下,可以认为“真”为有效等价类,“假”为无效等价类。(当然可以反过来)
              (4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
              如:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。
              (5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
              如:例1:要求“学生编号”必须以字母开头,后面跟4位数字,则像“A0001”、“B1001”这样满足格式要求的为有效等价类,而像“12345”、“A123”、“AA123”、“!1234”等都为无效等价类
              例2:Pascal语言规定了“一个语句必须以“;”结束”有效等价类:以“;”结束的语句;若干个无效的等价类:以“。”结束,以“?”结束,以“!”结束等。
              (6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
              如:1.专科以上学历,细分专科、本科、硕士......
                     2.正数和负数的处理方式是不是不同
                3.加减乘除都属于有效等价类,但由于使用不同的函数实现,所以需要把每一个运算看做一个独立的等价类进行单独测试

      4)设计测试用例:
        以下3个设计原则:
          (1)为每一个等价类规定一个唯一的编号
          (2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类 ,重复这一步,直到所有的有效等价类都被覆盖为止。
          (3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

  • 相关阅读:
    【leetcode】704.BinarySearch
    【leetcode】75.Sort Colors
    MongoChef
    问题 工具的缺陷
    MongoDB
    SpringFox
    npm 包管理工具
    RESTful 设计工具和Web框架
    笔记_JSON
    jsoup: Java HTML Parser
  • 原文地址:https://www.cnblogs.com/hyf224317/p/11742104.html
Copyright © 2011-2022 走看看