最新要闻
- 环球观焦点:阿什莉动捕演员庆祝《生化危机4:重制版》发售 身穿黑丝超吸睛
- 今日精选:网络爽文改编 《赘婿》动画定档4月23日B站开播
- 全球球精选!加拿大旅游团费_加拿大旅游费用
- 小米顶级自研技术!Redmi Note 12 Turbo用上小米影像大脑
- 【新视野】GPT已长出眼睛耳朵 周鸿祎:人工智能将会产生意识
- 看点:苏州天使母基金合作子基金接连完成投资
- 曹德旺谈人工智能:能做饭吃吗?如果大家都去研究会饿死
- 当前看点!南方新一轮强降雨将上线!北方大部气温“狂飙” 最高飙到25度
- 今日观点!12款随便挑 太平鸟印花T恤清仓:到手69元
- 全球观热点:苹果WWDC 2023日期曝光!iOS 17首秀来了:或不再支持iPhone X/8
- 广东突降冰雹 多车被砸毁容!保险给赔吗?
- 事关出生证明、免税购物、高铁新路线!4月一大波新规来了
- 精选!AMD新一代APU曝光:大小核架构终于上了
- 动态:我国首次实现固态氢能发电并网,“绿电”与“绿氢”灵活转换
- 易烊千玺代言!九号电动两轮车国内出货突破150万辆
- 转型电动化 韩系车在中国还有救吗?
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【环球新视野】软件测试--详细判断电话号码
- 一、作业要求
- 二、需求分析
- 1、电话号码类型
- 2、座机号码地点
- 3、手机号码的种类
- 常用运营商
- 虚拟运营商号段
- 物联网号段
- 卫星电话号段
- 其它号段
- 4、手机地点
- 5、国外号码
- 6、测试用例
- 三、代码编写
软件测试作业--电话号码
。
【资料图】
本文章全手工,业务自我感觉还行,还缺少许多我不知道的业务,但大体的手机号码和座机的大致路线都有,到手机地点的有一个例子,百度了许多文章才总结出来的。代码没用什么高级知识,勿喷
,就是用了4个多小时完成的,从找资料到编写基础java代码,然后一一进行测试,分享出来,希望对大家有用。
一、作业要求
- 首先输入1-15位。
- 要求判断出电话号码的类型。
- 对于座机,要求输出座机号码地点。
- 对于手机,要求输出手机号码的种类。
- 输出增加手机的地点。(加分)
- 判断国外的电话号码。(加分)
二、需求分析
根据作业的要求,可以大致解析出下面5点需求,先去网上找资料,将需求逐一完善,对于软件测试就是需要考虑尽肯能多的测试用例。
1、电话号码类型
电话号码可分为手机号码和座机号码。
对国内的座机分析,暂时以0或8开头的号码为座机号码,假定除去座机号码,其它皆为手机号码,在从手机号中细分即可。
这里分析不是很全面,展开来分析,是一个很大很大的工程量,这里根据作业需求推动来进行。
2、座机号码地点
座机格式:区号+电话号码
中国大陆国际区号是86;香港特别行政区区号852;澳门特别行政区区号853;台湾省区号886。
这里我以江西省为例,其它的可以参考下 中国城市电话区号对照表。新余市 0790 南昌市 0791 九江市 0792 上饶市 0793 临川市 0794宜春市 0795 吉安市 0796 赣州市 0797 景德镇 0798 萍乡市 0799鹰潭市 0701
->中国城市电话区号对照表
中国城市电话区号对照表 (buyiju.com)
<-
3、手机号码的种类
常用运营商
中国移动号段:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、172、178、182、183、184、187、188、195、197、198
中国联通号段:130、131、132、145、155、156、166、175、176、185、186、196
中国电信号段:133、149、153 、180 、181 、189、173、177、190、191、193、199
中国广电号段:192
虚拟运营商号段
联通:167、170(4,7,8,9)、171
电信:162、170(0,1,2)
移动:165、170(3,5,6)
物联网号段
联通:1400、146
电信:1410
移动:1440、148
卫星电话号段
电信:1349、174(00-05)
工信部应急通信:174(06-12)
海事卫星通信:1749
其它号段
电信服务服务号码:10
国际对方付费电话:108
电信服务中心:10000
联通服务中心:100001
特种开头:11(如:110-报警、114-查号、119-火警)
民用特殊号码:12(如:120-急救电话、121-天气预报、122-交通事故告警)
4、手机地点
由于每一个地区都有自己的运营商,运营商下有独特号段,举一个地区都是很大的工程量。
这里以江西省宜春市的中国移动182号段的一部分为例,其它的可以参考下 方的手机号段网。1829640 1829641 1829650 1829651 1829652 1829653 1829654 1829655 1829656 1829657 1829658 1829659 1829694 1829695
->江西宜春手机号段
江西宜春手机号段大全 - 手机号段网 (uutool.cn)
<-
5、国外号码
中国常用号码 ---> 11位
美国、德国印度、瑞士、荷兰、比利时、法国、澳大利亚等 ---> 10位
新西兰、泰国等 ---> 9位
新加坡 ---> 8位
加拿大 ---> 7位
6、测试用例
- 对格式验证,输入的是数字。
- 对号码字数验证,输入的是1-15位。
- 对其它各种位数的号码一一测试。
- 对正确的号码验证,临界值等。
三、代码编写
将上述需求依次用java代码在主类进行编写,测试,因为只是作业,不是业务,就有点对用户不友好性,没输到对应的格式就只好重新运行了,大体的手机号码和座机的大致路线都有,百度了许多文章才总结出来的。
package softwaretest;import java.util.ArrayList;import java.util.Scanner;import java.util.regex.Pattern;public class phoneTest { public static void main(String[] args) { /* * 1. 首先输入1-15位 * */ Scanner sc = new Scanner(System.in); System.out.println(" 判断电话号码 "); System.out.print("请重新输入"+"1-15"+"位电话号码:"); String str = sc.nextLine(); for (int i = 0; i < str.length(); i++) { if(str.charAt(i) < "0" || str.charAt(i) > "9"){ System.out.print("格式错误,输入的不是数字"); return; }else { continue; } } while (true){ if(str.length() <= 1 || str.length() >= 15){//暗含判断是否为空 System.out.print("输入的位数不符合,请重新输入"+"1-15"+"位电话号码:"); str = sc.nextLine(); } else { break; } } /* * 2.要求判断出电话号码的类型。 * 电话号码可分为手机号码和座机号码 * */ //座机号码--以0或8开头--仅仅分析国内 if(str.charAt(0) == "0"){ // 0开头是国内省份 String s = str.substring(0,4); /* * 3.对于座机,要求输出座机号码地点。 * */ switch (s){ case "0790": System.out.println("江西省新余市"); return; case "0791": System.out.println("江西省南昌市 "); return; case "0792": System.out.println("江西省九江市 "); return; case "0793": System.out.println("江西省上饶市 "); return; case "0794": System.out.println("江西省临川市 "); return; case "0795": System.out.println("江西省宜春市"); return; case "0796": System.out.println("江西省吉安市"); return; case "0797": System.out.println("江西省赣州市"); return; case "0798": System.out.println("江西省景德镇"); return; case "0799": System.out.println("江西省萍乡市 "); return; case "0701": System.out.println("江西省鹰潭市"); return; default: System.out.println("其它省份还在开发中……"); return; } } else if (str.charAt(0) == "8") { // 8开头的是国际区号或行政区或台湾省 if (str.charAt(1) == "6") { System.out.println("中国国际区号"); return; } String s = str.substring(0, 3); switch (s) { case "852": System.out.println("香港特别行政区"); return; case "853": System.out.println("澳门特别行政区"); return; case "886": System.out.println("台湾省"); return; default: System.out.println("没有该省份的号码"); return; } } /* * 4. 对于手机,要求输出手机号码的种类。 * 标准的手机号 * */ if(str.length() == 11) { //手机号码--以1开头 if (str.charAt(0) == "1") { String s = str.substring(0, 3);// 中国移动特殊第4位数 if ("134".equals(s)) { for (int i = 0; i < 9; i++) { if (str.charAt(3) == i + "0") { System.out.println("中国移动"); return; } } }// 移动运营商 String a[] = {"135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "172", "178", "182", "183", "184", "187", "188", "195", "197", "198"};// 江西省宜春市的中国移动182号段 String b[] = {"9640", "9641", "9650", "9651", "9652", "9653", "9654", "9655", "9656", "9657", "9658", "9659", "9694", "9695"}; String s1 = str.substring(3, 7); for (int i = 0; i < a.length; i++) { if (a[i].equals(s)) { if (s.equals("182")) { /* * 5.手机地点仅仅以江西省宜春市的中国移动182号段为例 * */ for (int j = 0; j < b.length; j++) { if (b[j].equals(s1)) { System.out.println("中国移动 江西省宜春市"); return; } if(j == b.length - 1){ System.out.println("中国移动"); return; } } } else { System.out.println("中国移动"); return; } } }// 中国联通 String c[] = {"130", "131", "132", "145", "155", "156", "166", "175", "176", "185", "186", "196"}; for (int i = 0; i < c.length; i++) { if(c[i].equals(s)){ System.out.println("中国联通"); return; } }// 中国电信 String d[] = {"133","149","153 ","180 ","181 ","189","173","177","190","191","193","199"}; for (int i = 0; i < d.length; i++) { if(d[i].equals(s)){ System.out.println("中国电信"); return; } } String s2 = str.substring(0, 4);// 虚拟运营商// 中国联通虚拟运营商 if(s.equals("167") || s.equals("171") || s2.equals("1704") || s2.equals("1707") || s2.equals("1708") || s2.equals("1709")){ System.out.println("中国联通虚拟运营商"); return; }// 中国电信虚拟运营商 if(s.equals("162") || s2.equals("1700") || s2.equals("1701") || s2.equals("1702")){ System.out.println("中国电信虚拟运营商"); return; }// 中国移动虚拟运营商 if(s.equals("165") || s2.equals("1703") || s2.equals("1705") || s2.equals("1706")){ System.out.println("中国移动虚拟运营商"); return; }// 物联网号段// 中国联通虚拟运营商 if(s.equals("146") || s2.equals("1400")){ System.out.println("中国联通虚拟运营商"); return; }// 中国移动虚拟运营商 if(s.equals("148") || s2.equals("1440")){ System.out.println("中国移动虚拟运营商"); return; }// 中国电信虚拟运营商 if(s2.equals("1410")){ System.out.println("中国电信虚拟运营商"); return; } String s3 = str.substring(0,5);// 电信卫星电话 if(s3.equals("17400") || s3.equals("17401") || s3.equals("17402") || s3.equals("17403") || s3.equals("17404") || s3.equals("17405") || s2.equals("1349")){ System.out.println("电信卫星电话"); return; }// 工信部应急卫星通信电话 if(s3.equals("17406") || s3.equals("17407") || s3.equals("17408") || s3.equals("17409") || s3.equals("17410") || s3.equals("17411") || s3.equals("17412")){ System.out.println("工信部应急卫星通信电话"); return; }// 海事卫星通信电话 if(s2.equals("1749")){ System.out.println("海事卫星通信电话"); return; } System.out.println("其它手机号有待完善..."); return; }else { System.out.print("根据您输入的,可以判断是判断手机号,但格式输入错误"); return; } } /* * 6.判断国外的电话号码 * */ /* * 电话号码位数为10 * */ if(str.length() == 10){ System.out.println("美国、德国印度、瑞士、荷兰、比利时、法国、澳大利亚等"); return; } /* * 电话号码位数为9 * */ if(str.length() == 9){ System.out.println("新西兰、泰国等 "); return; } /* * 电话号码位数为8 * */ if(str.length() == 8){ System.out.println("新加坡"); return; } if(str.length() == 8){ System.out.println("加拿大"); return; } /* * 电话号码位数为3 * */ if(str.length() == 3){ String s = str.substring(0,3);// 民用特殊号码 if(s.equals("120")){ System.out.println("急救电话"); return; } if(s.equals("121")){ System.out.println("天气预报"); return; } if(s.equals("122")){ System.out.println("交通事故告警"); return; }// 特种开头 if(s.equals("110")){ System.out.println("报警"); return; } if(s.equals("114")){ System.out.println("查号"); return; } if(s.equals("119")){ System.out.println("火警"); return; }// 国际对方付费电话 if(s.equals("108")){ System.out.println("国际对方付费电话"); return; } } /* * 电话号码位数为2 * */ if(str.length() == 2){ String s2 = str.substring(0,2);// 电信服务服务号码 if(s2.equals("10")){ System.out.println("电信服务服务号码"); return; } } /* * 电话号码位数为5 * */ if(str.length() == 5){ String s3 = str.substring(0,5);// 电信服务中心 if(s3.equals("10000")){ System.out.println("电信服务中心"); return; } } /* * 电话号码位数为6 * */ if(str.length() == 6){ String s4 = str.substring(0,6);// 联通服务中心 if(s4.equals("100001")){ System.out.println("联通服务中心"); return; } } System.out.println("其它号码还未完善..."); return; }}
记录每一个学习瞬间
关键词:
【环球新视野】软件测试--详细判断电话号码
前端设计模式——计算属性模式
世界速递!PLG SaaS 案例:如何实践外链自动增长策略?
需求分析报告(软件项目)
每日播报!Android中常见的线程池
环球观焦点:阿什莉动捕演员庆祝《生化危机4:重制版》发售 身穿黑丝超吸睛
今日精选:网络爽文改编 《赘婿》动画定档4月23日B站开播
全球球精选!加拿大旅游团费_加拿大旅游费用
小米顶级自研技术!Redmi Note 12 Turbo用上小米影像大脑
世界观点:.NET6+Quartz实现定时任务
当前观察:logback的使用和原理
【新视野】GPT已长出眼睛耳朵 周鸿祎:人工智能将会产生意识
环球看热讯:状态观测器(一)
看点:苏州天使母基金合作子基金接连完成投资
曹德旺谈人工智能:能做饭吃吗?如果大家都去研究会饿死
当前看点!南方新一轮强降雨将上线!北方大部气温“狂飙” 最高飙到25度
今日观点!12款随便挑 太平鸟印花T恤清仓:到手69元
全球观热点:苹果WWDC 2023日期曝光!iOS 17首秀来了:或不再支持iPhone X/8
广东突降冰雹 多车被砸毁容!保险给赔吗?
事关出生证明、免税购物、高铁新路线!4月一大波新规来了
精选!AMD新一代APU曝光:大小核架构终于上了
动态:我国首次实现固态氢能发电并网,“绿电”与“绿氢”灵活转换
易烊千玺代言!九号电动两轮车国内出货突破150万辆
转型电动化 韩系车在中国还有救吗?
老人故意推倒摩托车案胜诉 老人儿子需赔1.6万!车主回应
全球关注:读Java性能权威指南(第2版)笔记28_线程和同步性能中
速讯:孤芳自赏是哪一期蒙面唱将
【全球热闻】“韩国宾利”能拿下中国人吗?
焦点观察:票房破40亿中国影史第10!《流浪地球2》4月14日上线咪咕视频
焦点快看:叙利亚外交部谴责美国对叙发动敌对行动
使用 Linux dd 命令测试磁盘读写性能
国际短信平台接口调用的方法步骤,简单5步快速教程
全球信息:Java之大数加减乘除——构建类
张译包场张颂文的新电影《不止不休》!猫眼评分9.3分
世界快消息!2026年亚运会将不建设运动员村:为了削减开支
焦点资讯:3年来最盛大红毯叫停:邓超激动得像买票进场 胡歌刘亦菲杨幂同框梦回仙剑
当前速看:国内这些城市地标为地球熄灯一小时:有你认识的吗?
小米OPPO和vivo实现突破性跨越!微信聊天记录能互相迁移了
天天微资讯!武汉一小伙考研出分后失眠多日,医生支招制定减压计划
linux中conda虚拟环境使用(便于项目切换)、pip和conda换源
原来熊猫的笑声这么粗犷吗 网友直呼没想到:公鸭嗓笑的像反派
天天讯息:被马斯克16亿垄断的工艺 卡了下游企业的脖子
天天热点评!女孩穿汉服乘公交:颜值惊艳众人
环球视点!液体钙和钙片哪个更容易吸收(液体钙和钙片哪个更好吸收)
python 使用 kafka
世界观点:《暗黑4》与《暗黑3》角色截图对比:女性角色更逼真了
捐100亿建大学 曹德旺:我赚了很多钱但不贪婪 会还给社会
女子摔跤上牙磕进嘴唇1月后才发现 医生惊叹不已:网友直呼心太大
徕卡+双长焦史无前例!小米13 Ultra曝光
焦点信息:Vue——initState【十】
当前信息:国外短信平台收不到验证码,怎么解决?
今日快看!什么叫针灸师
全球热文:红心番石榴吃法?
130余年老字号 非遗工艺 吴裕泰特种级茉莉香毫100g装40元
热资讯!灵隐寺旁小溪中大量放生乌龟死亡被吐槽是伪善 放生已成产业链最高2000元一次
【独家焦点】干旱缓解 新疆最大湖泊变了:阿雅克库木湖30年面积扩大近7成
焦点速讯:WPF 入门基础
周鸿祎与库克共话科技未来:惟一被淘汰的是不会用GPT的人
天天观点:12小时保温保冷 朴原良品316不锈钢保温杯16.9元起
世界快讯:代码漏洞暴露用户支付信息 ChatGPT安全存隐患:官方致歉
世界速讯:聚焦险企负债成本管理 监管座谈会释放调整信号
AMD Yes!Zen4回归骨折价 12核锐龙9 7900到手2549元
学生党福音 Redmi小金刚Note 12 Turbo的NFC卡升级:两大功能合体
当前资讯!mp3格式转换器哪个好_mp3格式转换器
dotnet-csharp
焦点精选!C++ sizeof与strlen,并借此明晰内存对齐
女生靠摆地摊还清百万负债 还有人两周赚1万5、月入万元:摆摊真这么赚钱?
【天天速看料】周鸿祎:中国与GPT-4差距两三年 不存在难以逾越技术障碍
当前热文:Windows OpenGL ES 图像 GPUImageAmatorkaFilter
javascript的基础知识
小彭汽车向小鹏汽车道歉:盘点那些神级模仿的老年代步车
【速看料】《三体》动画今日正式完结!豆瓣评分仅3.8:半数一星差评
焦点关注:998的比亚迪秦PLUS DM-i多能跑?博主极端工况实测:合资还怎么打
当前关注:Office2019永久激活工具_Office2019激活工具神龙版v2023.2
天天快播:What is static and dynamic libraries
[白嫖系列] 白嫖一个永久免费的eu.org域名
速看:76人攻防俱佳夺冠有望,湖人防守第一进攻拉胯,勇士卫冕基本无望
全球新资讯:女子模仿网红穿搭遭对方粉丝网暴!法院判网红连续15天道歉、赔偿
男子喝红牛味道不对发现是累牛引热议:康帅傅、雷碧等山寨货为何层出不穷
资讯推荐:关于aws-s3-bucket-静态网站托管相关的查询-S3.Client.get_bucket_website(**kwargs)
天天速读:西班牙经济连续两年增速达5.5%
用4年不卡!Redmi Note 12 Turbo配置公布:16GB+1TB、5000mAh
环球今头条!男子抖音晒夜爬泰山到井盖下躲风 景区回应:核实后会处罚
【焦点热闻】YCSB工具原理重点内容解读(二)
CSS鼠标样式(cursor)总结(转载)
每日速看!因航班延误缺考复试 考研生崩溃大哭:对不起父母 对不起自己的努力
猪肉含量≥85% 一口全是肉:亚明猪肉烤肠29.9元2斤大促
越秀资本03月24日获深股通增持98.52万股
精选!宏基e1471g怎么样
热文:czide-CALLAN自制语言(python)
环球短讯!《安富莱嵌入式周报》第307期:开源智能制冷板,Keil MDK6发布时间,编程助手Github Copilot X,Matlab2023,高品质电容
英特尔联合创始人戈登·摩尔去世:享年94岁 “摩尔定律”提出者
天天热点!公司回应招聘前台要求身材 硬性要求臀围86腰围58:网友吐槽离谱
每日消息!学习 React 需要具备的 JavaScript 知识
全球观点:gs_probackup增量备份ptrack.cpp : 88
农事贵争时 物资“抢运”忙——黑龙江部分地区备春耕铁路运输见闻
环球观焦点:中国驻科威特大使馆发布斋月期间领事温馨提醒
妮维雅SPA级氨基酸洗面奶19.9元官方大促:原价87.9元
库克中国行:晒和黄龄合影、宣布苹果捐赠增加至1亿元支持教育事业
天天时讯:读Java性能权威指南(第2版)笔记27_线程和同步性能上