• 测试用例(等价类和边界值方法)


    测试用例概念:

     定义:测试用例是为了特殊目的,而主要记录了测试步骤、方法、数据、预期结果的文档,由测试人员在执行测试之前编写。

        写用例主要包括:(编号、测试目的、用例描述(步骤、数据)、预期结果)

    测试中你可能会用到的问题?
    • 不知道是否全面测试了所有问题?
        • 所有的功能是否全测试到了?
        • 每个功能测试的是否全面?
    • 存在大量冗余测试,影响测试效率。
        • 有些功能点可能测试多次?
    • 对新版本的重复测试很难实施。
        • 每个版本测试的步骤,数据都不一样,随意性很强。
    • 测试的覆盖率无法衡量。
        • 最后测试的结果好与坏无法准确的衡量?
    写测试用例参考什么?

    1、文档:需求文档,开发文档,用户手册。

    2、参考开发出来的软件或者软件的早期版本。

    3、讨论编写。

    编写测试用例的方法:

    1、等价类划分法

    2、边界值法

    3、因果图法

    4、判定表

    5、正交排列法

    6、场景法

    7、测试大纲法

    8、状态转换图

    一、等价类划分

    等价类划分属于典型的功能测试方法,根据程序对数据的要求,把程序的输入域划分成若干个部分,区分出哪些数据是有效的,哪些数据是无效的。

    再从每个部分中选取少数代表性数据作为测试用例,这样,每一类中的代表性数据在测试中的作用都等价于这类中的其他值。

    1、应用场合

    只要有数据输入的地方,一般就可以使用。

    把无限的数据划分范围,从每个范围中只选取少数代表性数据进行测试,进而把穷举测试变为有限测试。

    说明:穷举测试理论上讲是最完备的测试,但是不现实,测试用例的方法就是使用最少的数据(成本)达到最大的测试覆盖效果。

    2、核心概念

     (1)有效等价类

    对程序规格说明有效的、合理的、有意义的输入集合程序接收到有效等价类数据,应该正确计算、执行-----合法数据的集合。

    (2)无效等价类

    对程序的规格说明无效的、不合理的、无意义的输入集合(例:错误用户名或密码)

    程序接收到无效等价类数据,应该给出错误提示,或者根本不允许输入    -------非法数据的集合

     一个好的软件的基本标准:

    1、正确的数据可以正确执行

    2、异常处理能力:对于所有有意义无意义的非法数据能够处理,保证程序不受破坏(专业将:就是程序的健壮性)

    3、使用的步骤:

      首先:明确测试的对象。(初学者每次可以先测试一个控件,在测试该控件的时候,保证其他填写项别出错。)

      确测试对象:第一个数文本框,说明:在测试第一个数的时候,保证第二个数正确

      (1)根据需求,划分有效等价类

                    例:

    有效等价类 无效等价类
    —99~99范围的整数是有效的 非整数无效
    <-99的数
    >99的数

       (2)细化等价类

         往往依据的不是字面的需求,而是基于对数据存储方式的深入理解以及数据格式的理解

          ①      正负数补码计算不一样,有必要把正数、负数单独测试

              -99—0整数

              0—99整数

          ②非整数可以进一步细分

              小数

              字母

              汉字

              符号

     

      (3)建立等价类表(熟练后直接做该步)

    有效等价类

    编号

    数据要求

    1

    -99—0整数

    2

    0—99整数

    无效等价类

    编号

    数据要求

    1

    <-99

    2

    >99

    3

    小数

    4

    字母

    5

    汉字

    6

    符号

    7

    为空

           说明:进行需求(数据)分析,是最核心的步骤,决定测试的整体质量

      (4)编写用例

        从每个等价类中,至少选择一个数据进行测试

        说明:对于无效等价类,开始的时候最好每次只测试一个,最后再适当考虑无效等价类的组合

    总结:

      一个好的软件一般要满足两个标准:

      (1)完成指定的功能——使用有效等价类

      (2)有很强的容错能力(健壮性)——使用无效等价类

    二、边界值方法

    1、应用场合

      只要有数据输入的地方,一般就可以使用边界值一般情况下等价类和边界值共同使用,形成一套较为完善的方案。

    2、如何使用

      找到有效数据和无效数据的分界点(最小值、最大值),对该分界点及其两边的点,单独进行测试

    3、说明

      边界值的数据,本质上属于等价类的范畴,但是需要单独进行测试,这种冗余在工程中是必要的。

    三、用例的优化

    (在测试质量相同的情况下,尽量减少用例数量)

    1、不同控件的有效等价类或有效边界值,可以尽可能多的在一条用例中测试——不同控件的有效等价类可以组合——减少用例数量。

      (工作当中时间紧迫:先测边界值<在测核心有效数据<比较重要的异常处理)

    2、在一条用例中,开始的时候,只测试一个控件的一个无效等价类或无效边界值——无效等价类开始的时候不能组合——避免屏蔽现象发生

      (前面的错误提示出现后,后面控件的错误提示就不出现了)

      最后再适当考虑不同控件和同一控件的多个无效等价类的组合——验证一下极端情况系统不崩溃!

    3、无效等价类的整点考虑 

      1、必填项---测试为空

      2、不允许重复---测试重复

      3、数据要求范围——超出范围   如:年龄:18—60,测试<18,>60

      4、数据有字符个数要求——超出范围  如:姓名:1-20字符,测试<1字符,>20字符

      5、从数据允许的样式考虑——小数、字母、符号、汉字

      6、小数——小数点保留位数不满足

    无效等价类处理方式:

      1、允许输入无效等价类数据,后面给出错误提示

      2、允许输入无效等价类数据,但可以自动纠正成正确数据

      3、不允许输入无效等价类数据

  • 相关阅读:
    Teamwork——Week4 团队分工和预估项目时间
    Team Homework #3 软件工程在北航——IloveSE
    《DWZ笔记一》<select>动态联动菜单
    asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现
    经典SQL语句基础50题
    打垮美国发起的这场经济战争[转自由凤凰论坛]
    为什么要删我贴呢?
    5年,从5元到500万,我的创业经历(转自VFP精英站,未完)
    发现大家对销售感兴趣,再来两则(二)
    你们知道美国是怎么报道别人的灾难吗?
  • 原文地址:https://www.cnblogs.com/eric88/p/10726833.html
Copyright © 2020-2023  润新知