黑盒测试用例设计方法一(等价类划分、边界值分析)

黑盒测试用例设计方法一(等价类划分、边界值分析)文章目录黑盒测试用例设计方法黑盒测试用例设计方法概述等价类划分法边界值分析法黑盒测试用例设计方法黑盒测试用例设计方法概述测试数据选择等价类划分法边界值分析法测试步骤设计因果图法判定表法正交实验法功能图法场景法等价类划分法等价类划分法原理把程序的输入域划分成若干份,然后从每个部分中选取少数代表性数据作为测试用例每一类的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。反之,如果某一类中的一个例子没有

大家好,又见面了,我是你们的朋友全栈君。

一、黑盒测试用例设计方法

1、黑盒测试用例设计方法概述

  • 测试数据选择
    等价类划分法
    边界值分析法
  • 测试步骤设计
    因果图法
    判定表法
    正交实验法
    功能图法
    场景法

2、等价类划分法

2.1等价类划分法原理

  • 把程序的输入域划分成若干份,然后从每个部分中选取少数代表性数据作为测试用例
  • 每一类的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误。
  • 反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误。

2.2等价类划分法设计步骤

2.2.1确定等价类的原则

  • 在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类

例如:一个文本框规定,输入字符个数为6~18位
一个有效等价类:范围内个数
两个无效等价类:小于6;大于18个

  • 在输入条件规定了输入值的集合或者规定了“必须如何”的条件下,可以确立一个有效等价类和一个无效等价类

例如:请输入11位的手机号
11位就是有效的
不是11位,就是无效的

  • 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类

布尔量:表示“真”或者“假”

  • 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类

例如:登陆中要输入用户名和密码

  • 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

例如:用户名要求6~18,由字母、数字、下划线组成;字母区分大小写;以大写字母开头

  • 在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类

以百度的注册页面为例
用户名:设置后不可更改;中英文均可;最多14个英文或7个数字;(用户名不可重复;不可为空;)

有效等价类 数据 无效等价类 数据
中文、英文混合 杨kaikai 数字、特殊符号 12345
14英文 yangkaikai 英文超过14/中文超过7 dsffgbcdfgfsrere
不能为空 y
不能重复 杨凯 使用重复的数据进行测试
7个中文 羊羊羊

2.2.2等价类划分法

  • 划分等价类和列出等价类表
    有效等价类
    无效等价类
  • 确定测试用例
    为每个等价类规定一个唯一的编号
    设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例覆盖
    设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖
    在这里插入图片描述

3、边界值分析法

  • 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据
  • 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据
  • 分析规格说明,找出其他可能的边界条件

边界值只是一个特定的数据。例如,文本框需要输入6到18位字符。边界值有: (1)6个字符 (2)18个字符
次边界。边界附近的值,按照系统规定的单位或者计算方式,一个数据的差异。
例如:字符就是,一个字符,没有半个字符的说法;人民币金额,最小单位是0.01;

3.1边界值的选用原则

  • 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据
  • 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、比最大个数多1的数作为测试数据
  • 根据规格说明的每个输出条件,使用前面的原则①
  • 根据规格说明的每个输出条件,应用前面的原则②
  • 如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例
  • 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。

二、用例设计中存在的问题

  • 用例按照测试分类:功能(Function)、界面(UI)、性能Performance)、安全(Security)、接口(Interface)
  • 测试项 必须是确定的。测试项中可以不写目的产生的结果,写了不算错
  • 身份证号业务知识,最后一位是校验码(机密)(0~9,Ⅹ),身份证号(新版和旧版),数字和Ⅹ,并没有字母。例如非法的身份证号:310112198902301542
  • 测试项一般只写一个测试目的。测试目的必须是明确的,不能一次测试多个点。测试中,一个反向的(无效等价类)测试数据,只要违反一个需求。例如非法的身份证号310112198922301542
  • 依赖用例。下游的用例依赖上游的用例(已经存在的测试用例),用例依赖可以跨越模块(A设计员可能会依赖B设计员的测试用例)
  • 测试步骤。表明操作的对象和方式,数据
  • 测试数据。没有数据:空着不写;例如输入要求不为空,不输入就不写(须在测试项中标注某一个内容为空)。如果要对空格进行测试,( 数据 )(建议不要将空格放在数据的最前面或者最后面)。(123 456)
  • 测试结果。不执行 就不填
  • 用例中要不要显示正向或者反向:不需要
  • 等价类划分。不要出现重复的情况,也不要出现缺失的输入部分。

三、实战案例

案例

  • 一个程序读入3个整数,把这3个数值看作一个三角形的3条边的长度值。
  • 这个程序会给出弹窗提示信息,说明这个三角形是普通的、是等腰的、是直角的、还是等边的,以及相应的错误提示信息。
    在这里插入图片描述
    测试用例
测试用例编号 测试项 依赖用例 测试步骤 输入数据 预期结果 测试结果
Test Case_DBXPD_open_0001 打开多边形判断程序 1、使用谷歌浏览器打开判断程序页面 打开判断程序首页,并且显示选择多边形的形状
Test Case_DBXPD_xuanze_0001 打开三边形判断页面 1、在首页中点击 单选按钮 【三边形】 大砍三边形的判断页面,有三边形的示例图,还有三个文本框供输入数据
Test Case_DBXPD_panduan_0003 两边之和小于第三边 1、第一条边长输入:1;2、第二条变长输入:2;第三条边长输入:4;4、点击【提交】按钮 1 2 4 弹窗提示:不能构成三角形。
Test Case_DBXPD_panduan_0004 两边之和等于第三边 1、第一条边长输入:1;2、第二条边长输入:2;第三条边长输入:3;4、点击【提交】按钮 1 2 3 弹窗提示:不能构成三角形。
Test Case_DBXPD_panduan_0005 三条边组成直角三角形 1、第一条边长输入:3;2、第二条边长输入:4;第三条边长输入:5;4、点击【提交】按钮 3 4 5 弹窗提示:直角三角形。
Test Case_DBXPD_panduan_0006 边长输入为0 1、第一条边长输入:0;2、第二条边长输入:4;第三条边长输入:5;4、点击【提交】按钮 0 4 5 弹窗提示:边长输入错误
Test Case_DBXPD_panduan_0007

作业
写出四边形和五边形的测试用例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136310.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 博客背景壁纸推荐(一)CSDN图床[通俗易懂]

    博客背景壁纸推荐(一)CSDN图床[通俗易懂]博客壁纸推荐今天突然发现CSDN也能做图床,CSDN的Markdown编辑器会自动搭床,非常好用,把图片直接拖到CSDN编辑器即可。

    2022年10月12日
    9
  • ZooKeeper的Paxos算法[通俗易懂]

    ZooKeeper的Paxos算法[通俗易懂] PaxosPaxos 这个算法是LeslieLamport在1990年提出的一种基于消息传递的一致性算法Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。 part-timeparliament PaxosMadeSimple里这样描述Paxos算法执行过程: prepare阶段: proposer【申请人】选择一个提案编号n并将prepa…

    2025年7月1日
    4
  • 计算机用户名和密码怎么查_计算机名在哪看

    计算机用户名和密码怎么查_计算机名在哪看有时外人随意使用翻看办公电脑的问题,特别是当电脑里面存储了一些保密文件的时候,是不能随便让人看的,所以小设置电脑开机密码是有发要的。下面是学习小编给大家整理的有关介绍windowsxp电脑设置、修改开机密码的方法,希望对大家有帮助!windowsxp电脑设置、修改开机密码的方法首先,点击【开始】菜单,然后选择”控制面板“选项。在控制面板的对话框中找到”用户账户“选项,并点击进入。在用户账户对话…

    2022年10月14日
    2
  • Linux—ps -ef|grep详解

    Linux—ps -ef|grep详解【Linux】ps -ef|grep详解Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同…

    2022年6月13日
    67
  • 无名汉化组官网_neverland永无岛

    无名汉化组官网_neverland永无岛永无乡包含 n 座岛,编号从 1 到 n ,每座岛都有自己的独一无二的重要度,按照重要度可以将这 n 座岛排名,名次用 1 到 n 来表示。某些岛之间由巨大的桥连接,通过桥可以从一个岛到达另一个岛。如果从岛 a 出发经过若干座(含 0 座)桥可以到达岛 b ,则称岛 a 和岛 b 是连通的。现在有两种操作:B x y 表示在岛 x 与岛 y 之间修建一座新桥。Q x k 表示询问当前与岛 x 连通的所有岛中第 k 重要的是哪座岛,即所有与岛 x 连通的岛中重要度排名第 k 小的岛是哪座,请你输出那

    2022年8月9日
    9
  • django开发从入门到实战pdf_Helloworld是什么意思

    django开发从入门到实战pdf_Helloworld是什么意思本系列教程是讲述Django框架的,如果你正在看本教程那么你应该对Django已经有了初步的了解,简而言之Django就是一个基于Python的Web开发框架。在学习Django之前最好有Python基础,如果没有Python基础但是有别的开发经验(例如Java、.NET)学习Django也是非常容易的。

    2025年10月3日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号