您的位置:首页 > 其它

等价类、边界值、判断表方法

2017-04-09 10:25 141 查看
给一个需求

  一、三角形

    软件测试工程师面试题,常考题

  二、如何做?

    1.阅读需求,理解需求本身

    2.针对需求,发现需求中的问题和缺陷

      协助产品完善需求

    3.专业测试工程师

      协助产品完善需求

      不仅仅只是看需求文字,还应该开发沟通,确认界面怎么样?

        画出一个界面图

          沟通界面是否正确

          需要补充一些需求中没有提到的细节

            快捷键

            扩大缩小按钮等

  三、设计测试用例的思路

    1.需求->用例,抽象-->具体

    2.需求

      a、功能

        1)输入

        2)处理

          正确数据+正确操作

          错误数据+正确操作

          正确数据+错误操作

          错误数据+错误操作

          正确数据+正确操作+环境异常

        3)输出

      b、非功能

        1)效率

        2)易用性

        3)可维护性

        4)可移植性

        5)可靠性

      c、系统外部接口

        1)用户接口

        2)软件接口

        3)硬件接口

    3.用例

      a、功能测试用例

      b、非功能测试用例

      c、接口测试用例

    4.V1.0三角形判断:输入三角形三条边

      步骤

        a、确定界面

        b、分析需求

        c、根据需求构造测试数据

        d、编写测试用例

          1)原则一

            一条有效的测试用例尽量包含多个有效数据

          2)原则二

            一条无效的测试用例只能包含一个无效数据

          3)有效的测试用例数量--->是由有效数据选取最多的输入决定‘

            4

          4)无效的测试用例数量-->所有输入的无效数据之和

            24

    5.小结:等价类设计方法

      a、设计步骤

        S1:需求-->界面

        S2:拆分需求中的功能

          1个

        S3:拆分功能的输入

            个数:3个

            名称:边A、边B、边C

        S4:分析独立输入的规则

                  通用规则

                      类型

                       正整数

                                   7

                       正小数

                                  8.7

                       长度

                    组成规则

                    取值范围

                   是否为空

                   是否重复

        S5:针对输入规则,选取样本数据

          excel-->等价类表  思维导图

          样本的细分程度

            根据需求的优先级

              高

                使用频率高

                复杂度大

                重要业务

                公共的模块

                详细测试

              低

                抽取一些基本的数据

          在企业中-->团队

            测试用例编写之后--->测试用例评审

            交叉测试

              多个人对一个功能进行测试

          学习---》尽可能细一点

        S6:针对数据组合构造测试用例

                     一条正常的测试用例,应该包含多个正确数据

                     一条异常的测试用例,只能包含一个错误数据

      b、思想

        数据分为两类

          有效数据

          无效数据

        为什么要进行这样划分

          测试资源是有限的

            人力

            时间

          测试数据是无限的

        等价类针对数据进行样本的分类

          有效的测试样本

          无效的测试样本

      c、等价类方法的优缺点

        优点

          简单高效

          快速的的评估用例的数量

        缺点

          只考虑了输入的有效和无效

          选取的数据是比较随机的,边界上的缺陷不太容易发现

            年龄

              [1,200]

              if (age >1 && age<200)

              边界值

        适用范围

          只要存在输入的需求

    6.V2.0三角形形判断,边长[1,500]

      a、问题

        用等价类的方法进行用例设计,不一定发现边界缺陷

      b、解决方案

        在等价类的基础上,追加一些边界的数据,提高bug发现的概率

          边界值

      c、三角形的边长边界

        需求

          [1,500]

        数据

          1

          500

          0

          2

          499

          501

          0.99

          1.01

          499.99

          500.01

      d、边界专业术语

        上点

          边界上的点

        内点

          区间内任意一点

        离点

          闭外开内

        面试中可能问到边界值的概念,实际工作边界左右两边的点取到

    7.小结:边界值的方法

      a、步骤

        备注:建立在等价类基础上

        S1:需求-->界面

        S2:拆分功能,拆分输入(个数,名称)

        S3:分析输入的规则

        S4:设计等价类表

          追加边界值数据

          等价类边界值表

        S5:根据分析编写测试用例

          追加边界值的测试用例

      b、优点

        更容易发现边界上的问题

      c、缺点

        存在边界时才能使用

      d、适用范围

        有输入参数,且输入参数有类型或范围长度的边界

    8.V3.0三角形判断,判断能组成什么三角形

      a、能否组成三角形

        a+b>c

        a+c>b

        b+c>a

      b、能否组成等腰三角形、等边三角形

        a=b

        a=c

        b=c

      c、能否组成直角三角形

        a*a+b*b=c*c

        a*a+c*c=b*b

        b*b+c*c=a*a

      d、条件之间存在逻辑关系

        判定表

    9.判定表

      a、步骤:

        S1:根据需求确定判断条件

          条件桩

        S2:根据需求确定输出结果

          动作桩

        S3:组合所有的判断条件的情况

          条件项

        S4:根据需求分析每一列条件组合对应的输出结果

          动作项

        S5:每一列就是一条测试用例

          追加原来没有覆盖到的测试用
94ab


      b、优点

        达到所有条件判断的全组合覆盖

      b、缺点

        条件桩过多时,用例呈指数倍增长

          2的n次方

      d、适用范围

        存在多个且无关联的条件判断组合
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: