黑盒测试用例测试方法

黑盒测试用例测试方法黑盒测试用例设计方法一、等价类划分法等价类划分法是一种典型的、重要的黑盒测试方法,是指某个输入域的子集合。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。等价类划分有效等价类和无效等价类例如:微信红包的例子【0.01-200】按数据范围划分:有效的:0.01-200(1)无效的:小于0.01(2)…

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


黑盒测试用例设计方法
一、等价类划分法
等价类划分法是一种典型的、重要的黑盒测试方法,是指某个输入域的子集合。在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。
等价类划分有效等价类和无效等价类
例如:微信红包的例子【0.01-200】
按数据范围划分:
有效的:0.01-200(
1) 无效的:小于0.01(
2
大于200(
3
0.01-200区间小数点后超过2位的值 (
4

按数据类型组成划分:
有效:数字 (
5) 无效:非数字类型,英文,中文,特殊字符,html标签…(
6

按是否为空
有效:不为空(
7) 无效:为空(
8
等价类划分法用例设计原则
1)划分有效及无效等价类,为每一个等价类规定一个唯一的编号
2)设计一个新的测试用例数据,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止
3)设计一个新的测试用例数据,使其仅覆盖一个尚未覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止

二、边界值分析法
边界值最有可能出错
1、定义:边界值分析法是对等价类划分法的补充,边界值一般都是从等价类的边缘去寻找。边界值分析的基本思路:正好等于、刚刚大于、刚刚小于边界值作为测试数据。0.01、200
注意:0是一个特殊值,我们在考虑边界值的时候同时也要考虑这个特殊值。负数
2、边界值的作用:人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误!
3、举例子:
eg:比如我们生活中大家所熟悉的微信红包:最小金额0.01,最大金额200元
边界值:
0,0.01,0.02,199.99,200,200.01
特殊值:负数
测试点 测试数据 测试覆盖 边界值
输入正确的红包金额【0.01,200】 10 (1)(5)(7) 0.01,0.02,199.99,200
红包输入小于0.01的金额 0 (2) 0
红包金额输入大于200的金额 201 (3) 200.01
0.01-200区间小数点后超出2位的值 150.0001 (4)  
非数字类型、英文、中文、特殊字符、html标签 ¥5,$5,5元 (6)  
为空   (8)  
eg:一个输入文件应包括2-255条记录
特殊值:1,2,3,254,255,256 2-255(有效区间、无效区间)
特殊值:0
等价类划分法和边界值分析法常见运用场景
1)输入规定的取值范围或值的个数的情况(类似min<x<max、min<x、max>x);
比如用户名长度、红包金额数值输入范围
2)在输入条件是true和false两种状态的情况:
比如勾选、开关设置
单选按钮:选择、默认选择、切换选项
多选按钮:单选、全选、全不选
3)在拉列表包含多个选项的情况:比如城市下拉选项
4)在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度匹配规则);比如要求用户实名认证、非黑名单、账户资金1000元以上

以上除了等价类之外同时会涉及边界值的分析。边界值还包括以下:
1)报表的第一行、最后一行、中间一行
2)屏幕上光标在最左上、最右下位置

上课练习
注册163邮箱

*邮件地址 输入框 @163.com
6~18个字符,可使用字母、数字、下划线、需以字母开头

第一步 分类

设计输入数据
黑盒测试用例测试方法

三、场景法
1)什么是场景法
通过场景描述的
业务流程(业务逻辑),也包括代码实现逻辑,设计用例来遍历场景(路径),验证软件系统功能的正确性。
2)如何使用场景法
2.1 画出
流程图
矩形:表示步骤(操作、结果)
菱形:判断—是、否
注意:场景法的重点是测试流程,因此每个流程一个用例验证即可,流程测试没有问题并不能说明系统功能没有问题了,还需要针对
单步的功能进行测试
只有单个功能点和流程测试,才算是充分的测试

ATM取款经常遇到的场景:(一共9种)
1、成功取款(插入银行卡)
2、借记卡不合法
3、取消输入密码
4、密码错误(还有输入的机会)
5、密码错误超过3次(被吞卡)【1,3】 0,1,2,3,4
6、金额不合法(0、负数、非数值类型输入*#)
7、账户余额不足
8、ATM内现金不足
工具:在线画流程图工具
思路:
1、正常路径
2、再去根据每一个判断,找 另一个出口的路径
3、确定出错之后还能否正常,再多走一个步骤


四、错误推测法(反推法)
基于经验和直觉推测程序中所有可能存在的各种错误,从而针对性的设计测试用例的方法。它的要素共有三点,分别为:
经验、知识、直觉
(二八原则)

如何使用?
1、列举出程序中所有可能有的错误和容易发生错误的特殊情况;
2、根据他们选择测试用例
有可能已经想到的测试点,利用等价类和边界值已经覆盖到了

登录
等价类划分和边界值分析
1、正确用户名、正确密码、点击登录按钮 —-登录成功
2、错误密码
3、用户名不存在(不存在)
4、用户名错误
5、空用户名、空密码、包含空格情况
错误推断,无法通过上述方法覆盖到
6、多次输入错误密码,是否安全提示
7、修改密码后输入原密码是否支持登录
8、单点登录、多点登录、异地登录
9、网络情况测试

单点登录:一个账号只能在一个地方登录
多点登录:多个人可以登录同一账号、多个平台可以登录同一个账号;会出现重复提交

案例详解:
某平台登录页面
既然是用错误推测法,那么我们首先列出所有可能导致结果出错的情况,如下:

1、用户名跟密码的对应关系校验
2、账号或密码为空
3、用户名和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)
满足格式要求但不是正确的
4、用户名和密码中有特殊字符(比如空格),和其他非英文的情况(是否做了校验)
5、用户名和密码前后有空格的处理(过滤)
6、错误登录的次数限制
7、提交登录时,网络异常
8、多次点击提交操作,只能执行一次

后台服务器与系统已存在的用户信息做匹配校验!

登录密码【6-16,字母数字常用字符组合】(格式是否满足+满足格式是否与已存在信息一致)
lanxin12345 正确密码 lanxin1234

正交法和因果图分析法(这两种方法暂时不讲,很少用到,金融类可能后比较多,有了一定的经验后)

五、测试用例方法的选择
使用各种测试方法的综合策略

1)首先,进行等价类划分,主要是输入条件的划分,这是提高测试效率的最有效的方法,在任何情况下都必须使用边界值分析法,这种方法设计出的测试用例发现程序错误的能力最强。
切记不要穷举测试

2)用错误推测法追加测试用例,这需要测试工程师的经验总结

3)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到覆盖标准,应当再补充足够的
测试用例(场景法)

具体如何设计,可以结合项目要求或自己的标准来做,灵活运用

笔试面试题整理
1、编写测试用例会用到什么方法
接着问,你觉得你在写用例的时候用到了吗?(结合项目来答)
2、给出一个登录/购物车/支付页面,直接让你设计尽可能多的用例

作业

输入边A、B、C三个值,判断是否构成三角形,如果是等腰三角形(直角、等边)就输出等腰(直角、等边)三角形

分析思路:
首先要考虑a、b、c是否为正数:a>0,b>0,c>0
三角形判断依据:三角形任意两边之和大于第三边 a<b+c;b<a+c;c<a+b
直角三角形判断依据:勾股定理:a的平方+b的平方=c的平方
等腰三角形判断依据:两边相等 a=b不等于c,a=c不等于b,b=c不等于a
等边三角形判断依据:三边相等:a=b=c

1、场景法:画出流程图,并整理测试点(等价类边界值进行用例补充)
2、等价类划分法,整理出测试点
二选一来完成
输入 有效等价类 无效等价类
是否为三角形的三条边 a>0 (1) a<=0 (7)
  b>0 (2) b<=0 (8)
  c>0 (3) c<=0 (9)
  a+b>c (4) a+b<=c (10)
  a+c>b (5) a+c<=b (11)
  b+c>a (6) b+c<=a (12)
     
是否为等腰三角形的三条边 a=b(13) a≠b且b≠c且a≠b(16)
  b=c(14)  
  a=c(15)  
     
     
     
     
是否为等边三角形的三条边 a=b=c(17) a≠b(18)
    a≠c(19)
    b≠c(20)
是否为直角三角形的三条边 a²+b²=c²(21) a²+b²≠c²(22)
     
a,b,c 覆盖等价类 输出
7,8,10 (1)(2)(3)(4)(5)(6) 一般三角形
0,3,2 (7) 非三角形
3,0,2 (8) 非三角形
1,2,0 (9) 非三角形
1,2,3 (10) 非三角形
1,3,2 (11) 非三角形
3,2,1 (12) 非三角形
3,3,7 (1)(2)(3)(4)(5)(6)(13) 等腰三角形
7,3,3 (1)(2)(3)(4)(5)(6)(14) 等腰三角形
3,7,3 (1)(2)(3)(4)(5)(6)(15) 等腰三角形
7,8,9 (1)(2)(3)(4)(5)(6)(16) 非等腰三角形
8,8,8 (1)(2)(3)(4)(5)(6)(17) 等边三角形
3,4,4 (1)(2)(3)(4)(5)(6)(18) 非等边三角形
3,4,4 (1)(2)(3)(4)(5)(6)(19) 非等边三角形
4,3,3 (1)(2)(3)(4)(5)(6)(20) 非等边三角形
3,4,5 (1)(2)(3)(4)(5)(6)(21) 直角三角形
3,4,6 (1)(2)(3)(4)(5)(6)(22) 非直角三角形

黑盒测试用例测试方法

黑盒测试用例测试方法



注意:没有办法证明测试点是否覆盖全面,要理解知识点,不要去背,理解了才是你的
按照方法去整理出来的测试点

下节课预习
软件测试知识分析






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

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

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


相关推荐

  • 自动构建(CICD)

    自动构建(CICD)Docker、Kubernetes的CICD实现思路Jenkins是一个比较流行的持续集成工具GitLab是存储镜像的镜像仓库由客户端将代码push推送到git仓库,gitlab上配置了一个webHook的东西可以触发Jenkins的构建。进入到Jenkins虚线范围内,它所做的事情非常多,从mvn构建代码,对代码进行静态分析,做单元测试,测试通过之后就可以build镜像,镜像构建成功后…

    2022年5月3日
    65
  • webstorm插件推荐_webstorm中文界面

    webstorm插件推荐_webstorm中文界面1.activate-power-mode狂拽炫酷吊炸天装逼的插件,atom上的神器啊,抱着试一试的心态一搜,webstorm上居然也有了,安装之后可以在window->activate-power-mode中关闭震动以及开启彩色模式。2.TabNine可以记录用户习惯自动补全代码,牛逼3.ESLint代码检查插件4.RainbowBrackets彩虹色的括号,颜色可以自行调整,代码块看起来更清晰在这里插入图片描述5.CodeG.

    2025年10月13日
    5
  • mysql主从复制原理面试_数据库主从复制 读写分离

    mysql主从复制原理面试_数据库主从复制 读写分离为什么要做主从复制在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运行。做数据的热备,主库宕机后能够及时替换主库,保证业务可用性。架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O……

    2022年8月13日
    7
  • ILSVRC竞赛详细介绍(ImageNet Large Scale Visual Recognition Challenge)

    ILSVRC(ImageNetLargeScaleVisualRecognitionChallenge)是近年来机器视觉领域最受追捧也是最具权威的学术竞赛之一,代表了图像领域的最高水平。ImageNet数据集是ILSVRC竞赛使用的是数据集,由斯坦福大学李飞飞教授主导,包含了超过1400万张全尺寸的有标记图片。ILSVRC比赛会每年从ImageNet数据集中抽出部分样本,以2012年为…

    2022年4月5日
    295
  • java输入Scanner基本用法[通俗易懂]

    java输入Scanner基本用法[通俗易懂]1.基本介绍java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入,每个next获取输入对应的字符。Scannersc=newScanner(System.in);当我们通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext与hasNextLine判断是否还有输入的数据:next()–>hasNext() nextLine()–…

    2022年7月7日
    35
  • js字符串转html_vue文件如何编译成html

    js字符串转html_vue文件如何编译成htmlhtml代码如何转换成js文件这个很简单首先你要把html代码转成js代码有这种转换工具的搜下代码转换工具就可以再把你转换好了的代码放到文本中把后缀名改成点js就可以了可以用txt文档改js文件用记事本可以打开小编喝醉了酒,流入街头可怜的像条狗,哭着对你说别走,你义无反顾笑笑也不回头。把HTML代码放到document.write方法的括号中,并用引号括起来,将原来HTML中的引号进…

    2025年10月1日
    5

发表回复

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

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