黑盒测试—等价分类法

等价分类法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。测试时把有效类与无效类相互组合,得到测试结果。

例题如下:

中国大陆地区的电话号码由“区号”和“电话号码”两部分组成,其编排规则为:

  • 区号:以0开头的三位或者四位数字(严格说来,“0”并非区号的一部分,而是国内长途电话接入码字冠,“0”以后才是区号);
  • 电话号码:以非0、非1开头的七位或者八位数字(此处不考虑110、95588等特殊号码)。

假设待测程序运行时会接收用户输入的电话号码并对其进行格式验证——凡符合上述规则的号码则接受、否则拒绝,请基于等价分类法设计针对上述功能的测试用例。

分析:

由条件可知,输入的手机号无非是区号和电话号码组成,而通常11位电话号码可以算作限制条件或者检查手机号格式的条件,手机号位数不对时,显示号码拒绝。

因此可以将电话号划分的等价类有:0开头的三位数字(有效区号)、0开头的四位数字(有效区号)、非0、非1开头的七位数字(有效号码)、非0、非1开头的八位数字(有效号码),所有的0开头的三位数字不可能都是有效区号,肯定有不是区号的三位数字,同样地,有效号码也是如此,非0开头的数字一定不是区号。

无效等价类有0开头的三位数字或四位数字(无效区号)、非0开头的三位或四位数字、0、1开头的七位数字(无效号码)、非0开头的三位或四位数字、0、1开头的七位数字(无效号码)。

将这些有效等价类和无效等价类相互组合,并对此做出预期结果,手机号码拒绝或者接收,接收代表手机号码格式正确,拒绝代表格式错误。

由以上做出下面的两个表格。第二个表格的覆盖等价类表示出现第一个表格中等价类的编号。

表1

输入条件

有效等价类

编号

无效等价类

编号

区号

0开头的三位数字有效区号

1

0开头的三位数字或四位数字,无效区号

5

0开头的四位数字有效区号

2

非0开头的三位或四位数字

6

电话号码

非0、非1开头的七位数字,有效号码

3

0、1开头的七位数字,无效号码

7

非0、非1开头的八位数字,有效号码

4

0、1开头的八位数字,无效号码

8

电话号位数

11位

9

非11位

10

表2

测试用例编号

输入数据

预期输出

覆盖等价类

第一个数

第二个数

1

021

26556447

接收

1,4,9

2

021

01111111

拒绝

1,8,9

3

0431

3340556

接收

2,3,9

4

0431

1111111

拒绝

2,7,9

5

011

26556447

拒绝

5,4,9

6

0222

3340556

拒绝

5,3,9

7

111

26556447

拒绝

6,4,9

8

1111

3340556

拒绝

6,3,9

9

0431

26556447

拒绝

2,4,10

10

1111

26556447

拒绝

6,4,10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/789744.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面试HOT200】数组篇

系列综述: 💞目的:本系列是个人整理为了秋招面试coding部分的,整理期间苛求每个算法题目,平衡可读性与代码性能(leetcode运行复杂度均打败80%以上)。 🥰来源:材料主要源于…

SDN、SDWAN、CDN、SDH 分别是什么?有什么关联?

SDN(Software Defined Networking)、 SD-WAN(Software Defined Wide Area Network)、CDN(Content Delivery Network)和SDH(Synchronous Digital Hierarchy)都是与网络技术相关的缩写…

视觉检测系统,外观细节无可挑剔

在传统行业中,利用人工检测来检测产品外观缺陷依然是主流,但由于竞争的加剧,对企业生产效率的要求也越来越高。传统的检测产品外观缺陷问题的方法就是透过人工目检,或者工人采用游标卡尺等工具检测,此种方式检测速度慢…

Taskflow:work-stealing-queue(二)

work-stealing-queue设计 每个线程使用动态数组作为准备调度的deque 来存放任务(也就是work-stealing-queue)每个线程各自维护这样一个deque,将该deque当作stack使用,自己线程内的deque只能通过push和pop访问栈底(bot…

振弦式应变计:简单操作,方便实用的应变监测工具

在现代工程领域中,对于结构物的应变监测是一项至关重要的任务。振弦式应变计作为一种高精度、高稳定性的应变监测工具,因其简单操作、方便实用的特点,受到了广大工程师和技术人员的青睐。 振弦式应变计的工作原理基于振弦的振动特性。它通过将…

HCIA笔记

console 登录设备的特点: 1、带外,不依赖网络本身的连通性。 2、独占,console口不能被多人同时使用,具备唯一性。 3、本地,console口长度有限,一般只能在机房或者设备现场来使用。 4、只能实现命令行的管理…

ngAlain下使用nz-select与文件上传框出现灵异bug

bug描述 初始化页面,文件上传框无法出现: 但点击一次选择框以后,就会出现: 真的很神奇。。。 下面逐步排查看看是什么原因。 设想一: 选择框与文件框不可同时存在,删掉选择框看看: 还…

隐语SecretFlow实训营-第8讲:快速上手隐语SCQL的开发实践

SCQL使用/集成实践 目前SCQL只开放API供用户使用/集成 使用SCDBClient上手体验可以基于SCQL API开发封装白屏产品,或集成到业务链路中 使用流程: 部署系统 环境配置: 机器配置:CPU/MEM最低8C16G机构之间的网络互通 镜像&…

全面了解海外网络专线

SD-WAN海外网络专线技术 在选择海外网络专线服务时,企业需要考虑多个因素,包括服务商的可靠性、价格、技术支持和合规性。本文将探讨跨境网络专线的价格因素、合法跨境上网的方式,以及SD-WAN跨境上网专线的优势。 跨境网络专线的价格与办理…

Java基础知识总结(35)

获取成员变量 Field getField(String name):返回此Class对象对应类的指定public Field。 Field[]getFields():返回此Class对象对应类的所有public Field。 public class Person { ​public int publicPerson1;protected int protectedPerson2;int def…

STM32学习笔记(11_2)- W25Q64简介和工作原理

无人问津也好,技不如人也罢,都应静下心来,去做该做的事。 最近在学STM32,所以也开贴记录一下主要内容,省的过目即忘。视频教程为江科大(改名江协科技),网站jiangxiekeji.com 本期学…

什么是ECMAScript

ECMAScript (缩写为ES) 是一种由 Ecma 国际组织标准化的脚本语言。它最初是为了在网页浏览器中提供动态交互功能而设计的,现在已经广泛应用于客户端和服务器端开发等各种领域。 ECMAScript 定义了语法、类型、语句、关键字和操作符等基本元素,还提供了许…

Golang Gin框架

1、这篇文章我们简要讨论一些Gin框架 主要是给大家一个基本概念 1、Gin主要是分为路由和中间件部分。 Gin底层使用的是net/http的逻辑,net/http主要是说,当来一个网络请求时,go func开启另一个协程去处理后续(类似epoll)。 然后主协程持续…

蓝桥杯物联网竞赛_STM32L071_15_ADC/脉冲模块

ADC模块用的是RP1不用多说了,主要是脉冲模块,这个模块没考过 这个脉冲模块放出脉冲,主要能用TIM捕获到这个脉冲的高电平持续时间即可 CubMx配置: 脉冲模块的引脚与PB0相连,所以用PB0读取上升沿记的数和下降沿记的数&am…

Day29|回溯算法part05:491.递增子序列、46.全排列、 47.全排列 II

491. 递增子序列 leetcode上本题叫做非递减子序列&#xff0c;点名序列存在重复元素的情况。 class Solution {private List<Integer> path new ArrayList<>();private List<List<Integer>> res new ArrayList<>();public List<List<I…

openshift和k8s的差别

OpenShift 是一种基于 Kubernetes 的完整的容器应用平台&#xff0c;支持多种自动化功能&#xff0c;如自动升级、自动扩展、负载均衡、监控和日志记录等。 相比之下&#xff0c;Kubernetes 只是一个容器编排和编排平台&#xff0c;它为容器化应用程序提供自动化部署、扩展、故…

C语言——字符函数和字符串函数(下)

引言 在上一篇中&#xff0c;我们介绍了字符函数和一些字符串函数&#xff0c;在这一篇章中&#xff0c;我们会继续学习字符串函数&#xff0c;那我们现在就开始学习吧&#xff01;&#xff01;&#xff01; 字符串函数 strncpy 1.strncpy的用法 strncpy是一个在C语言中常用…

炫我科技:云渲染领域的佼佼者

随着数字化时代的来临&#xff0c;云渲染技术正逐渐成为影视、游戏、动画等创意产业的重要支柱。在这一领域中&#xff0c;炫我科技凭借其卓越的技术实力、优质的服务以及不断创新的精神&#xff0c;已然成为了云渲染行业的佼佼者。 炫我科技自成立之初&#xff0c;便以打造高…

全排列问题(回溯算法和深搜)

题目&#xff1a;P1706 全排列问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std;int n,pd[110];//用来标记数字是否被使用过 int a[10]; void print(){for(int i1;i<n;i) cout<<setw(5)<<a[i];cout<<…

tkinter实现通用对账文件解析软件

软件需求 和银行等金融机构合作过程中&#xff0c;经常会有还款计划、放款文件等定时推送的文件&#xff0c;以常见的分隔符进行分隔开&#xff0c;为了在系统出现问题时&#xff0c;快速查找异常数据&#xff0c;写了一个小工具解析这些文件并写入到excel中。 软件功能 将常…