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

实验二

时间:2016-04-15 14:00:52      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

《软件测试》实验

实验二 单元测试                                                      

实验目的

(1)       用JUnit编写单元测试;

(2)       学习代码覆盖率和性能监测工具的使用;

 

并写一段个人简介(不少于100字)

2、 学习单元测试和代码覆盖率工具的使用

(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示。(单词之间用空格隔开,如“Hello World My First Unit Test”);

(2)编写单元测试进行测试;

(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。

3、 学习单元测试代码覆盖率工具的使用

(1)把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;

(2)编写单元测试进行测试;

(3)用ElcEmma查看代码覆盖率,要求覆盖率达到100%。

 

实验结果

2.1)import java.util.HashMap;

import java.util.Iterator;

/**

 * @author 黄秋月

 * 分析一个字符串中各个单词出现的频率

 * 2016/4/15

 */

//哈希表计出现次数

public class Has {

  // 统计单词出现的次数

    public static String StatList(String str) {

   StringBuffer sb = new StringBuffer();

   HashMap<String ,Integer> has = new HashMap<String ,Integer> (); // 打开一个哈希表

   String[] slist = str.split("\\b");

   for (int i = 0; i < slist.length; i++) {

         if (!has.containsKey(slist[i])) { // 若尚无此单词

                 has.put(slist[i], 1);

         } else {//如果有,就在将次数加1

                 has.put(slist[i],has.get(slist[i])+1 );

        }

     }

//遍历map

     Iterator iterator = has.keySet().iterator();

      while(iterator.hasNext()){

             String word = (String) iterator.next();

             sb.append("单词:").append(word).append(" 次数").append(has.get(word)).append("\n");

      }

return sb.toString();

}

 

public static void main(String[] args) {

        String s = new String("You are the mananger.");

        System.out.println(StatList(s));

}

}

 

测试用例:

import static org.junit.Assert.*;

import org.junit.Test;

public class HasTest {

    @Test

    public void test() {

       String s = new String("I am student");

       Has has=new Has();

    System.out.println(has.StatList(s));

    }

}

 

覆盖率

 

2)

/*

 * @author 黄秋月

 * 把一个英语句子中的单词次序颠倒后输出

 * 2016/4/14

 * */

public class ReverseWords {

    private static String word

       public ReverseWords(String str){ 

           this.word=str; 

       } 

       public void reverse(){ 

           int length=word.length(); 

           int a=-1,b=-1; 

           for(int i=0;i<length;i++){ 

               if(a==-1&&word.charAt(i)==‘ ‘)//字符串开头有空格 

                   continue

               if(a==-1){//确定单词首位置 

                   a=i; 

                   continue

               } 

               if(word.charAt(i)==‘ ‘){//确定单词尾 

                   b=i-1; 

               } 

               else if (i==length-1) {//遍历到字符串末尾 

                   b=i; 

               } 

               else

                   continue

               } 

               reverse(a,b); 

               a=-1; 

               b=-1;    

           } 

           reverse(0,length-1); 

           System.out.println(word);

       }  

       public void reverse(int a,int b){ 

           char[] tmp=word.toCharArray(); 

           while(a<b){ 

               tmp[a]^=tmp[b]; 

               tmp[b]^=tmp[a]; 

               tmp[a]^=tmp[b]; 

               a++; 

               b--; 

           } 

           word=String.copyValueOf(tmp);      } 

}

单元测试

 

public class Test {

   /**

    * @author 黄秋月

    *把一个英语句子中的单词次序颠倒后输出

   * */

 

   public static void main(String[] args) {

      // TODO Auto-generated method stub

         ReverseWords re=new ReverseWords(" I do for you ");

       re.reverse();   }

}

 

 

 

覆盖率

 

实验二

标签:

原文地址:http://www.cnblogs.com/1163864805qq/p/5394990.html

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