我的第一个软件测试

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

时间: 2024-10-22 16:49:30

我的第一个软件测试的相关文章

第一部分 软件测试综述

软件失败的用语: 缺点(defect)故障(fault)问题(problem)错误(error)事件(incident)异常(anomaly)偏差(variance)失败(failure)矛盾(inconsistency)特殊(feature)缺陷(bug) 产品说明书 产品说明书(product specification)/说明(spec)/产品说明(product spec):是软件开发小组的一个协定.它对开发的产品进行定义,给出产品的细节.如何做.做什么.不能做什么. 软件缺陷的官方定义

第一节 软件测试概述

软件测试是软件质量保证的关键步骤,也是软件工程的重要组成部分,对软件产品的质量起着至关重要的作用.软件测试工作的目的就在于尽早找到软件缺陷,并保证其得到修复. 1.软件及其特点 IEEE Std 610.12 给出了软件(Software) 的定义:软件是计算机程序及其相关的文档,以及用以操作计算机系统的附属数据. 一般而言,软件来源于应用问题.应用问题经过抽象(包括数据抽象和过程抽象)后,形成软件的设计(包括数据结构和算法等内容),继而被编码实现.其后软件即可运行于硬件之上. 从软件的定义可以

第一章 软件测试与质量保证概述

发展历程 正向思维:验证软件能否正常工作,进而评价一个系统的特性或能力能否达到预期效果.在设定的环境下运行软件的全部功能,直到通过. 逆向思维:假定软件有错误,为了发现错误而针对某个程序或系统的执行过程进行测试,寻找容易犯错误的地方和系统的薄弱环节,试图破坏系统,直至找不出问题. 基本概念 1.与测试相关的几个概念 错误(error)-- 即过错(mistake),人们在编写代码时出现过错,这种过错也叫bug. 缺陷(fault)-- 缺陷是错误的结果,分为过错缺陷和遗漏缺陷 失效(failur

软件测试第一周学习笔记

软件测试学习随笔   WCX第一周软件测试的学习笔记 入门时从软件测试的方法入手,总结如下 软件测试的方法总结: 测试名称 测试内容 Black box黑盒测试 把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识.从软件的行为,而不是内部结构出发来设计测试. White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择. Gray box.  灰盒测试 介于黑盒和白盒之间   是手动还是自动又可以分类 测试名称 测试内容 Manual

(二)软件测试分类

软件测试领域名词颇多,许多测试新手容易混淆概念因为从不同的角度对软件测试有不同的分类方法,所以,这里魂总常见软件测试的相关名词,让读者对软件测试领域有个概括性了解. 根据项目流程阶段划分软件测试 这是一个典型的"V"模型软件开发流程,各项软件测试工作是在项目开发流程中循序渐进进行的.下面将介绍各个阶段测试的含义. ?  单元测试:单元测试(或模块测试)是对程序中的单个子程序或者具有独立功能的代码段进行测试的过程. ?   集成测试:集成测试是在单元测试的基础上,先通过单元模块组装成系统

软件测试复习(一)

第一章 软件测试的介绍1.概念和历史就不说了2.为什么要进行软件测试,因为测试是软件开发过程的一个步骤,通过测试能更好地设计和编码,能提高程序的可靠性.3.错误缺陷和失败的定义,error——defect——failure.4.软件开发的过程     1)软件需求 用户 理解正确性 表达正确性     2)需求规格说明书 分析员 理解设计表达正确性     3)设计说明书 设计员 理解编码正确性     4)源程序 程序员 输入运行正确性     5)得到运行结果5.缺陷的原因     1)误解

零基础软件测试实战视频教程

零基础实战软件测试工程师就业班(共五阶段.快速掌握主流测试工具)课程讲师:孙老师课程分类:品牌套餐适合人群:初级课时数量:190课时用到技术:QTP自动化测试.Loadrunner性能测试工具涉及项目:汝城县网上审批大厅咨询qq:1840215592课程简介北风网软件测试工程师系列培训.软件测试工程师实训系列总课时190课时,每课时为40分钟以上. 学习对象有志于在IT软件-软件测试行业寻求发展的人员,或者已经在已经从业软件测试的普通测试工程师.高级测试工程师.测试主管.测试经理.项目经理以及质

软件测试(原书第2版中文)PDF版

下载地址:网盘下载 内容简介  · · · · · · 软件测试(原书第2版),ISBN:9787111185260,作者:(美)佩腾(Patton,R.) 著,张小松 等译:张小松译 作者简介  · · · · · · Ron Patton具有近20年软件测试和软件质量保证的工作经验,从事过各种产品的软件测试,从关键任务到儿单绘图程序.普先后就职于德州仪器公司.西门子公司和微软公司,担任过质量保证工程师.软件测试经理等职务.他现在是一个独立的软件项目管理和软件质量保证咨询师. 目录  · · 

2017.4.7------软件测试的艺术+整理以前的摘记

2017.4.17 以下内容来自<软件测试的艺术> 第1页--20页.供自己学习使用.   第一章 软件测试:就是一个过程或一个系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作. 第二章    测试人员需要有正确的态度.每当测试一个程序时,应当想到的是为程序增加一些价值.通过测试来增加程序的价值,是指测试提高了程序的可靠性或质量,提高程序可靠性,是指找出并最终修改了程序的错误. 1.有人把没发现错误的测试用例称为一次"成功的测试",而将发现了某个新错