文章目录

  • 一、作业要求
  • 二、需求分析
    • 1、电话号码类型
    • 2、座机号码地点
      • 座机格式:区号+电话号码
    • 3、手机号码的种类
      • 常用运营商
      • 虚拟运营商号段
      • 物联网号段
      • 卫星电话号段
      • 其它号段
    • 4、手机地点
    • 5、国外号码
    • 6、测试用例
  • 三、代码编写

软件测试作业--电话号码

本文章全手工,业务自我感觉还行,还缺少许多我不知道的业务,但大体的手机号码和座机的大致路线都有,到手机地点的有一个例子,百度了许多文章才总结出来的。代码没用什么高级知识,勿喷,就是用了4个多小时完成的,从找资料到编写基础java代码,然后一一进行测试,分享出来,希望对大家有用。

一、作业要求

  1. 首先输入1-15位。
  2. 要求判断出电话号码的类型。
  3. 对于座机,要求输出座机号码地点。
  4. 对于手机,要求输出手机号码的种类。
  5. 输出增加手机的地点。(加分)
  6. 判断国外的电话号码。(加分)

二、需求分析

根据作业的要求,可以大致解析出下面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. 对格式验证,输入的是数字。
  2. 对号码字数验证,输入的是1-15位。
  3. 对其它各种位数的号码一一测试。
  4. 对正确的号码验证,临界值等。

三、代码编写

将上述需求依次用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;}
}

记录每一个学习瞬间

软件测试--详细判断电话号码相关推荐

  1. 判断电话号码对应字母组合数

    电话号码对应的字符组合:在电话或者手机上,一个数字如2对应着字母ABC,7对应着PQRS.那么数字串27所对应的字符的可能组合就有3*4=12种,现在输入一个3到11位长的电话号码,请打印出这个电话号 ...

  2. 正则匹配判断电话号码是否真实、几连号、几顺序号

    正则匹配判断电话号码是否真实.几连号.几顺序号 正则匹配 1.主要是从输入的字符串中匹配出满足条件的字符串,即判断是否为电话号码. 2.电话号码的连号和顺序号判断,主要是通过正则匹配式将相应的字符串匹 ...

  3. 实现判断电话号码格式是否正确

    实现判断电话号码格式是否正确 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与 ...

  4. 软件测试详细分析,如何进行软件测试

    测试管理工具有td,qc,jira,bugzilla等. 惠普-水星公司的QTP,loadrunner,QC这三大自动化测试工具你能全部掌握,基本上就笑傲群雄了 白盒测试,还是黑盒测试?你有开发基础做 ...

  5. 正则表达式判断电话号码

    问题 给一个字符串,判断该字符串是否为固定格式的电话号码 例子 validPhoneNumber("(123) 456-7890") => returns true vali ...

  6. javascript 正则 判断电话号码格式

    function check_phone_num(contactphone) { if(contactphone != '') { // 固定电话/小灵通 if(contactphone[0] == ...

  7. 微信小程序判断电话号码格式正确的代码

    本例子可以准确判断诸如+0086-010-68747077, (0086)01058323388, 010-832422等格式的正确与否.源代码如下: valid_phone:function(){c ...

  8. ios 判断电话号码

    + (BOOL)valiMobile:(NSString *)mobile {if (mobile.length < 11) {return @"手机号长度只能是11位";} ...

  9. python判断电话号码是否合理_Python正则匹配判断手机号是否合法的方法

    正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的一个概念.正则表 ...

最新文章

  1. 2021年大数据Spark(四十六):Structured Streaming Operations 操作
  2. Yii 2.0 GII 访问404错误
  3. java classifier_Java 朴素贝叶斯分类器、SVM(5行代码)实现乳腺癌分类
  4. Python 迭代器和 C++ 迭代器,最大的不同竟然是......
  5. AcWing 291. 蒙德里安的梦想(状态压缩DP)
  6. 图像分类网络总结回顾(上)
  7. Shapefile简介
  8. 关于晶圆介绍以及IGBT晶圆的应用
  9. matlab设计计算器,MATLAB-计算器的设计.doc
  10. Boost库-功能介绍-Geometry-图形开发库-计算几何-常用功能封装-GraphicalDebugging(二)
  11. SQL注入进阶练习(一)一些进阶的注入方法
  12. 国外服务器解决域名备案问题
  13. python表白代码照片墙-这个七夕节,用Python为女友绘制一张爱心照片墙吧!
  14. mongodb安装配置与基本命令
  15. 【Linux】之 Linux 性能监控工具
  16. zookeeper安装步骤
  17. 基于Vue的星级评分
  18. Scrum 敏捷开发 基础考试
  19. 刷题常用算法模板(持续更新)
  20. ACCESS中最常用的窗体控件有哪些

热门文章

  1. 如何Delete Yammer Group?
  2. 用于汇报的几个视频编辑工具
  3. 徐老师python课——个人难点整理(最后其实变成了抄笔记)
  4. #827. 徐老师的成绩单
  5. MPC之SPDZ开源库安装过程中可能出现的错误
  6. 利用LSTM进行时序预测
  7. 解决Edge浏览器主页被篡改问题,或许可以帮你彻底解决
  8. JAVASE23天从入门到精通_Day05
  9. 数商云SRM供应商系统询比价采购业务流程介绍,重塑汽修企业核心竞争力
  10. Vim实用技巧使用手册