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

我的第一个软件测试

时间:2016-04-05 22:56:28      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

代码如下:

package cn.deng;
/*
* 计算每个单词出现的频率
* dengchuzneng
* 2016-4-1
*/
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class MyFirst {
private Map<String, Integer> wordsMap;
public MyFirst(String strWords){
wordsMap=this.getArray(strWords);
}
public Map<String,Integer> getArray(String strWords){
String[] wordsArray = strWords.split("\\s");
//正则表达式‘\‘将下一个字符标记符、或一个向后引用、或一个八进制转义符‘\s‘匹配任何不可见字符,包括空格、制表符、换页符等等
Map<String, Integer> wordsMap=new HashMap<String, Integer>();
int arrLength=wordsArray.length;
int currentNum=0;
for(int i=0;i<arrLength;i++){
if("".equals(wordsArray[i].trim())){
continue;
}
if(!wordsMap.containsKey(wordsArray[i])){
//首次出现,放入键值对
wordsMap.put(wordsArray[i],1);
}else {
//键值对中已存在的,键值增加1,删除,重新添加此键值对
currentNum=wordsMap.get(wordsArray[i])+1;
wordsMap.remove(wordsArray[i]);
wordsMap.put(wordsArray[i],currentNum);
}
}
return wordsMap;
}
public void outputResult(){
Iterator iterator=wordsMap.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry entry=(Map.Entry)iterator.next();
System.out.println(entry.getKey()+"出现了"+entry.getValue());
}
}
}

测试类

package cn.deng;

import org.junit.Test;

public class MyfirstTest {

@Test
public void test() {
String str="Hello Hello World World World Hello";
MyFirst wordFreq=new MyFirst(str);
wordFreq.outputResult();
}

}

第一个测试用例

 

 

 

技术分享

第二个测试用例

技术分享

第三个测试用例

技术分享

技术分享

2.

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

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

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

package cn.deng;

public class MySecond {

/**
* 单词次序颠倒
* dengchunzeng
* 2016-4-1
*/
public String Bee(String str) {
String[] wordsArray = str.split("\\s");
StringBuffer result = new StringBuffer();

for(int i = wordsArray.length -1;i >=0; i--){
if("".equals(wordsArray[i].trim())){
continue;
}
result.append(wordsArray[i] + " ");
}

return result.toString();
}
}

package cn.deng;

import static org.junit.Assert.*;

import org.junit.Test;

public class MySecondTest {

@Test
public void test() {
String str="How are you";
MySecond word=new MySecond();
System.out.println(word.Bee(str));

}

第一个测试用例

}技术分享

第二个测试用例

技术分享

技术分享

 

 

总结:

1、在进行单元测试时我们要有合适的测试用例,既要有好的测试用例,也要有不好的测试用例。我们往往在测试的时候忽略了不好的测试用例,这样子测试就不全面。

2、在刚开始接触软件测试时代码要怎样的书写规范,测试用例要怎样的书写都还处在探索期,还需要花更多的时间在这上面。

 

我的第一个软件测试

标签:

原文地址:http://www.cnblogs.com/mydcz/p/5357011.html

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