软件测试第二次作业

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

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

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

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

(1)

package cn.bao;

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.bao;

public classMain {

    /**

     * @param args

     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        View v = new View();

    }

}

 

package cn.bao;

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.bao;

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)

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

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

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

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

(1)

package cn.li;

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.li;

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);

   }

 }

(3)

原文地址:https://www.cnblogs.com/qiyao/p/5325522.html