码迷,mamicode.com
首页 > 其他好文 > 详细

第三次博客园作业

时间:2016-04-28 23:54:48      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

1、  某网站管理系统,用户注册时,电话号码为可选输入项,输入格式为:区号-电话号码—分机号,中间用“-”隔开。以下为jsp页面上的设计,且并未对输入做任何控制。

技术分享

假设系统现在需要取出中间的电话号码部分,代码如下:

技术分享
/**
     * 
     * 该方法根据用户输入取出中间的电话号码部分
     * @param strPhoneNum  电话号码,如:“0591-83279988—002”
     * @return  返回号码部分,如:“83279988”
     */
    public String getPhoneNumber(String strPhoneNum){
        if((strPhoneNum==null) || "".equals(strPhoneNum)){
            return "";
        }
        String[] arrPhone=strPhoneNum.split("-");
        return arrPhone[1];
    }
技术分享

请用你学过的测试技术和方法,找出该方法中存在的问题,并且分析出现该问题的原因,同时给出你的解决方案。(提示:存在的问题不止一个)

要求:

(1) 写出问题所在

       对用户输入的号码没有限制条件,如号码的长度,什么类型等;

(2) 写出问题产生的原因

        if语句条件不充足,只判断了号码是否为空

(3) 给出修改后的代码

public String getPhoneNumber(String strPhoneNum){

       if((strPhoneNum==null) || "".equals(strPhoneNum)){         

  if(strPhoneNum.lenth==8 && !Pattern.compile("^\\d{8}$").matcher(phoneNumber.trim ()).matches())){

                return "true";

          }
           
}

    else{

            return "false";
           System.out.println("输入的号码有误 !");
          }
       String[] arrPhone=strPhoneNum.split("-");
        return arrPhone[1];
}

2、  请写一段用于整型数组排序的代码,说明你的设计思路,并利用错误推测法给出可能出错的情况(至少5种),设计出测试用例,并利用JUnit编写单元测试进行测试。(假设传入的参数已经确定为整型数组)

要求:

(1) 写出代码,并符合代码规范(命名要规范,不可直接写在main方法中,需要有类注释、方法注释、以及适当的行注释)

public class ArraySort {
/**
冒泡排序算法的实现数组排序
*/

public static int[] sort(int[] num){

//此循环是将数组的两个数进行比较,若第一个数比第二个数大则将第一个数传给第二个数
      for(int i = 0 ;i<num.length ;i++){
         for(int j= i+1; j<num.length; j++){
             if(num[i]>num[j]){
                    int numb = num[i];
                    num[i] = num[j];
                    num[j] = numb;
                                     }
                 }
        }
           for(int i:num){ //num赋值给i
           System.out.print(i + " ");
            }
            return num;
        }
}

-----------------------------------------------------------------------------------------

public class Array {

/**
* @param args
*/
public static void main(String[] args) {

     int[] i={-45,-11,10,-15,1,2,77,8,56,0};
     System.out.println("排序结果为:");
     ArraySort.sort(i); //调用sort方法
     System.out.println();
   }
}

(2) 说明你的设计思路

      用冒泡排序的思想进行设计数组排序,然后通过main函数调用ArraySort类中的sort办法进行实现数组排序

(3) 写出可能出错的情况(至少五种)

    1. 当数组中的元素有一部分相同;

    2. 当数组中的元素全部相同时;

    3. 当数组中的元素有负数存在时; 

    4. 当数组中的元素顺序已经排好了;

    5. 当数组中元素的顺序是逆的;

(4) 编写JUnit单元测试,将前面给出的可能出错的测试数据放入单元测试进行测试

       1. 当数组中的元素有一部分相同;

 技术分享

       2. 当数组中的元素全部相同时;

技术分享

       3. 当数组中的元素有负数存在时; 

技术分享

       4. 当数组中的元素顺序已经排好了;

技术分享

       5. 当数组中元素的顺序是逆的;

技术分享

第三次博客园作业

标签:

原文地址:http://www.cnblogs.com/Darlingtuan/p/5444665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!