zoukankan      html  css  js  c++  java
  • 实验二

    《软件测试》实验

    实验二 单元测试                                                      

    实验目的

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

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

    实验内容

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

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

    并写一段个人简介(不少于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%。

    package cn.zhi.mju;
    /**
    *
    * @author chenyazhi
    *
    */
    //import java.util.*;

    public class Action {
    /**
    *
    * @param 划分单词
    */
    public void findWord(String str){//划分单词
    //首字符是空格或TAB删除首字符
    for(int i = 0;i<str.length();i++){
    if(str.charAt(0)==' '||str.charAt(0)==' '){
    str=str.substring(1);
    }
    }

    String[] arrayWord =str.split("\s+|[,.!?]");
    this.frequency(arrayWord);
    }

    public void frequency(String[] arrayWord){
    String[] word = new String[arrayWord.length];//存放遍历过的单词
    int[] time=new int[arrayWord.length];//存放记录单词出现次数
    for(int i=0;i<arrayWord.length;i++){
    boolean t = true;
    for(int j=0;j<arrayWord.length;j++){//遍历已遍历过的单词表
    if(arrayWord[i].equals(word[j])){
    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]++;
    }
    }
    }
    }
    this.printWord(arrayWord,time,word);
    }
    /**
    *
    * @从小到大输出单词统计次数
    */


    public void printWord(String[] arrayWord,int time[],String[] word){
    //排序
    String min;
    for(int i = 0;i<time.length;i++){
    for(int j = 0;j<time.length;j++){
    if(j!=time.length-1)
    if(time[j]>=time[j+1]){//将最大的值向右移动
    time[j]=time[j+1]+time[j];
    time[j+1]=time[j]-time[j+1];
    time[j]=time[j]-time[j+1];
    min=word[j+1];
    word[j+1]=word[j];
    word[j]=min;
    }
    }
    }

    for(int i = 0;i<arrayWord.length;i++){//遍历输出次数
    if(word[i]!=null){
    System.out.println("单词:"+word[i]+"出现了"+time[i]+"次。");
    }
    }
    }
    //以下是迭代器
    /*public void frequency(String[] arrayWord){
    //新建集合word
    Map<String,Integer> word = new HashMap<String,Integer>();
    boolean t = true;
    for(int i=0;i<arrayWord.length;i++){ //遍历arrayWord数组
    //获得迭代器
    Iterator<String> it = word.keySet().iterator();
    while(it.hasNext()){//遍历已遍历过的单词表
    String key =(String)it.next(); //将遍历过的单词赋值给key
    if(key.equals(arrayWord[i])){ //判断当前单词arrayWord[i]是否遍历过
    t=false; //遍历过使其状态为不可遍历
    }
    else{
    t=true;
    }
    }
    if(t==true){ //单词arrayWord[i]为可遍历状态
    word.put(arrayWord[i],1); //初始化为遍历过次数1
    int x=1; //x为单词出现次数
    for(int j=i+1;j<arrayWord.length;j++){ //遍历 当前单词 以后的其它单词
    if(arrayWord[i].equals(arrayWord[j])){ //判断 当前单词 是否再次出现
    x=x+1; //再次出现次数+1
    word.remove(arrayWord[i]); //删除已保存次数
    word.put(arrayWord[i], x); //保存次数+1
    }
    }
    }
    }
    Iterator<String> i = word.keySet().iterator(); //创建迭代器
    while(i.hasNext()){ //遍历保存的单词遍历表
    String key =(String)i.next(); //获得单词
    System.out.println("单词:"+key+"出现了"+word.get(key)+"次。"); //输出单词出现次数
    }

    }*/

    }

    package cn.zhi.mju;
    /**
    *
    * @author chenyazhi
    *
    */
    public class Main {

    /**
    * @param args
    */
    @SuppressWarnings("unused")
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Main m = new Main();
    View v = new View();
    }
    }

    package cn.zhi.mju;
    import java.util.Scanner;
    /**
    *
    * @author chenyazhi
    *
    */
    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);
    }
    }

    3.

    package cn.zhi.mju;

    import java.util.Scanner;

    public class Main {
    public static void main (String[] args){
    Main a = new Main();
    a.View();
    }
    public void findWord(String str){
    String[] arrayWord =str.split("\s+|[,!?.]");
    for(int i=arrayWord.length-1;i>=0;i--){
    System.out.print(arrayWord[i]+" ");
    }
    }
    public void View(){
    Scanner input =new Scanner(System.in);
    System.out.println("请输入字符串,单词用空格隔开,回车结束:");
    String str=input.nextLine();
    Main a = new Main();
    a.findWord(str);
    }
    }

  • 相关阅读:
    数据库出现中文乱码解决方法
    OO第四次博客作业
    OO第三次博客作业
    OO第二次博客作业
    OO前三次作业反思
    mybatis怎么自动生成实体类,Mapper配置文件和Dao接口
    Win7+VS2013初试Thrift
    静态链接库与动态链接库
    排序算法总结
    TCP/IP协议详解
  • 原文地址:https://www.cnblogs.com/wowanyasuo/p/5356090.html
Copyright © 2011-2022 走看看