黑盒测试技术(概念&&等价类划分法详细)——软件质量保证与测试

概念:

  • 不深入代码细节的测试方法称为动态黑盒测试。软件测试员充当客户
    来使用它。又称闭着眼睛测试软件。主要针对软件界面和软件功能进
    行测试。
  • 不用关心软件的内部结构
  • 站在用户角度看现有的功能是否被正确实现

Introduction

  • 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试

  • 完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一

  • 测试用例就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。

  • 测试用例的设计原则特征:
    1.有效性validity:测试用例是测试人员测试过程中的重要参考依据。不同的
    测试人员根据相同的测试用例所得到的输出应该是一致的,对于准确的测试
    用例的计划、执行和跟踪是测试的有效性的有力证明。
    2.可复用性:良好的测试用例具有重复使用的功能,使得测试过程事半功
    倍,可以大大节约时间,提高测试效率。
    3.易组织性:即使很小的项目,也可能会有几千甚至更多的测试用例,测试
    用例可能在数月甚至几年的测试过程中被创建和使用,正确的测试计划会很
    好地组织这些测试用例并提供给测试人员或其他项目的人参考和有效使用。
    4.可评估性measurability:从测试的项目管理角度来说,测试用例的通过率是
    检验代码质量的保证。测试用例的通过率和软件错误的数目就是检查代码质
    量好坏的量化标准。
    5.可管理性manageability:测试用例可作为检验测试人员进度、工作量以及跟
    踪/管理测试人员的工作效率因素,尤其是比较适用于对新的测试人员的检
    验,从而做出测试安排和计划。

Equivalence Partitioning等价类划分

  • 输入数据和输出结果通常属于不同的类,其中类的所有成员都是相关的。
  • 这些类中的每一个都是等价分区(或域)且域间不相交,其中程序对每个类成员的行为都是等价的。
  • 应该从每个分区中选择测试用例。
  • 等价类定义
    • 它是输入域或输出域的子集合。
    • 合理的假设:对测试人员来说,典型的数据等于其他数据在同一等价类。
  • 等价类划分方法:
    • 有效等价类

      • 对于规范来说,它是由合理和有意义的数据组成的集合。
      • 它可以用来检查应用程序是否实现了预期的功能和性能。
    • 无效等价类

      • 具体来说,它是一个由不合理和无意义的数据组成的集合。
      • 它可以用来检查是否正确地处理了无效的数据。
    • 设计测试用例时,要同时考虑这两种等价类。软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.

    • 用尽可能少的测试用例来覆盖所有有效等价类

    • 设计测试用例时需保证所有有效等价类被覆盖到(1-3)

    • 在单缺陷假设中:设计无效等价类的测试用例时,只含一个无效等价类(4-7),其他有效就可以

    • 对于多个变量来测试两个及以上缺陷,8-14更需要

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 弱:只单缺陷假设,指一个变量在违法的边缘试探。
      强:多缺陷假设。
      一般:考虑有效值。
      健壮:考虑无效值。

    • 等价类划分法设计测试用例原则

        1. 为每个等价类规定一个唯一的编号
        2. 设计一个新的测试用例,使其尽可能多的覆盖尚未覆盖的有效等价类,直到所有的等价类都被覆盖为止
        3. 设计一个新的测试用例,使其覆盖且仅覆盖一个有效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止
      
    • 例:划分等价类:输入一个日期,使用六位数字表示年月,范围是2000-2020年

输入数据合理等价类不合理等价类
报表日期1、六位数字字符2、有非数字字符; 3、少于六个数字字符; 4、多于六个数字字符
年龄范围5、2000-20206、小于2000; 7、大于2020
月份范围8、1-129、等于0; 10、大于12
  • 单缺陷测试用例设计
NO.覆盖等价类(非必要)输入预期结果
11、5、8201006正常处理
22、5、8201a01错误信息
33、5、820106错误信息
44、5、82012006错误信息
56、1、8198802错误信息
67、1、8203011错误信息
79、1、5200000错误信息
810、1、5202013错误信息

例题一

假设GradeRecord函数能够根据输入的单科成绩,把低于60分的成绩登记为‘不及格’,大于等于60分按照实际成绩登记。试用等价类划分法为其设计测试用例。
答案:

等价类划分表:
在这里插入图片描述
测试用例:
在这里插入图片描述

例题二

Consider an application App that takes two inputs name and age, where name is a nonempty string containing at most 20 alphabetic characters and age is an integer that must satisfy the constraint 0≤age≤120. The App is required to display an error message if the input value provided for age is out of range. The application truncates any name that is more than 20-character in length and generates an error message if an empty string is supplied for name.
(1)Please find out the equivalence classes(等价类).
(2)Construct test cases using the equivalence classes derived in(1)

答案:

在这里插入图片描述

例题三(难度较大)

输入三个整数a,b,c作为三角形的三条边。判断所构成的三角形是什么类型的三角形。如果是一般三角形,输出周长;等边三角形,输出面积;等腰三角形;输出三个内角。使用等价类划分法为该程序的三角形判断及计算部分进行测试用例设计。

答案:

一般三角形的条件:a + b > c; a + c > b; b + c > a
等边三角形的条件:a = b = c
等腰三角形的条件: a = b or b =c or a = c
等价类划分表
在这里插入图片描述
有效等价类的测试用例:
在这里插入图片描述
无效等价类的测试用例
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值