《软件测试》实验

实验二 单元测试 实验目的 (1)

实验二 单元测试                                                      

 

实验目的

 

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

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

 

实验内容

1、 在博客园http://www.cnblogs.com/开通自己的技术博客

关注http://www.cnblogs.com/mjutest

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

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

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

 

package cn.lin;

public class Action {

   public void findWord(String str){//划分单词

        String[] arrayWord =str.split(" ");

        Action a = new Action();

        a.frequency(arrayWord);

}

   public void frequency(String[] arrayWord){

        String[] word = new String[arrayWord.length];//存放遍历过的单词

        int time[]=new int[arrayWord.length];//存放记录单词出现次数

        boolean t = true;

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

            for(int j=0;j<arrayWord.length;j++){//遍历已遍历过的单词表              if(arrayWord[i].equals(word[j])){

                    System.out.println("单词重复!!!");

                    t=false;//如果单词重复则跳过

                }

            }

            if(t==true){//单词初始次数为1

                word[i]=arrayWord[i];

                time[i]=1;

                for(int j=i+1;j<arrayWord.length;j++){//遍历字符串,记录次数               if(arrayWord[i].equals(arrayWord[j])){

                        time[i]++;

                    }

                }

            }

        }

        for(int i = 0;i<arrayWord.length;i++){//遍历输出次数

            if(word[i]!=null){

                System.out.println("单词:"+word[i]+"出现了"+time[i]+"次。");

            }

        }

}

}

 

package cn.lin;

public classMain {

    /**

     * @param args

     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        View v = new View();

    }

}

 

package cn.lin;

import java.util.Scanner;

public class View {

   public View(){

        Scanner input =new Scanner(System.in);

        System.out.println("请输入字符串:");

        String str=input.nextLine();

        Action a = new Action();

        a.findWord(str);

    }

}

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

package cn.lin;

import static org.junit.Assert.*;

import org.junit.Before;

import org.junit.Test;

public class ActionTest {

   @Before

   public void setUp() throws Exception {

   }

   @Test

   public void test() {

      String str="Hello World My First Unit Test";

      Action action =new Action();

      action.findWord(str);

   }

}

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

 

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

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

package cn.jiai;

import java.util.Scanner;

public class test2 {

   /**

    * @param args

    */

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Scanner input = new Scanner(System.in);

      System.out.print("请输入要测试的字符串:");

      String str = input.nextLine();

      test2.test(str);

      }

      public static void test(String str){

      String[] strArr = str.split("\\s+|[,]");

      StringBuffer result = new StringBuffer();

      for(int i = strArr.length -1;i >=0; i--){

      result.append(strArr[i] + " ");

      }

      result.setCharAt(str.length()-0, (char) 0);

      System.out.println("颠倒顺序后的字符串:: "+result.toString());

      }

   }

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

 

package cn.jia;

import static org.junit.Assert.*;

import org.junit.Before;

import org.junit.Test;

public class test2Test {

   @Before

   public void setUp() throws Exception {

   }

   @Test

   public void test() throws Exception {

   String str="how are you";

   test2.test(str);

   }

   }

标签: 遍历 英语