JUnit4测试报告
-
JIANGSU UNIVERSITY OF
TECHNOLOGY
软
件
测
p>
试
用
例
设
计
基于
JUint4
的单元测试用例设计与实现
学院名称:
计算机工程学院
专
业:
软件工程
班
级:
12
软件
1
学
号:
12144133
姓
名:
王
慧
二〇一五
年
五
月
目
录
基于
JUint4
< br>的单元测试用例设计与实现
一、需求分析
二、测试工具介绍
三、软件测试实现
附录
1
:相关代码
1
1
2
3
9
基于<
/p>
JUint4
的单元测试用例设计与实现
一、需求分析
(一)软件测试
软件测试(
Software
Tes
ting
),描述一种用来促进鉴定软件的正确性、完
整性、<
/p>
安全性和质量的过程。
换句话说,
软件测
试是一种实际输出与预期输出间
的审核或者比较过程。
软件测试
的经典定义是:
在规定的条件下对程序进行操作,
以发现程序错
误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试模型有
V
、
W
、
H
、
X
等模型,其中
V
模型测试过程按
4
个步骤进
行,即单元测试、集成测试、确认测试和系统测试
及发布测试。这其中单元测试
与其他测试不同,
单元测试可看作
是编码工作的一部分,
应该由程序员完成,
也
< br>就是说,
经过了单元测试的代码才是已完成的代码,
提交
产品代码时也要同时提
交测试代码。
软件测试的测试目标是:
1
.发现一些可以通过测试避免的开发风险;
2
.实施测试来降低所发现的风险;
3
.确定测试何时可以结束;
4
.在开发项目的过程中将测试看作是一个标准项目。
(二)单元测试
单元测试
(模块测试)
是开发者编写的一小段代码,
用于检验被测代码的一
个很小的、
很明确的功能是否正确。
通常而言,
一个单元测试是用于判断某个特
定条件(或者场景)下某个特定函数的行为。
经验表明一
个尽责的单元测试方法将会在软件开发的某个阶段发现很多的
Bug
,并且修改它们的成本也很低。它的优点如下:
1.
它是一种验证行为
编写单元测试就是用来验证代码的行为是否与我们期望的一致。
有了单元测<
/p>
试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。
2.
它是一种设计行为
编写单元测试将使我们从调用者观察、思考。特别是先写测试(
test-
first
),
1
迫使我们把程序设计成易于调用和可测试的,即迫使我们解除
软件中的耦合。
3.
它是一种编写文档的行为
单元测试是一种无价的文档,
它是展示函数或类如何使用的最佳文档。
这份
文档是可编译、可运行的,并且它保持最新,永远与代码同
步。
4.
它具有回归性
< br>自动化的单元测试避免了代码出现回归,
编写完成之后,
可以随时随地的快
速运行测试。
二、测试工具介绍
(一)
JUnit4
JUnit
p>
是一个
Java
语言的单元测试框架。它由
Kent Beck
和
Erich G
amma
建立,
逐渐成为源于
Kent
Beck
的
sUnit
的
xUnit
家族中为最成功的一个。
JUnit
有它自己的
JUnit
< br>扩展生态圈。
Junit
测试是程序员测试,即所谓白盒
测试。
JUnit
是一个开放源代码
的
Java
测试框架,用于编写和运行可重复的测试。
他是用于单元测试框架体系
xUnit
的一个实
例(用于
java
语言)。它包括以下
特性:
1.
用于测试期望结果的断言
(
Assertion
)
2.
用于共享共同测试数据的测试工具
3.
用于方便的组织和运行测试的测试套件
4.
图形和文本的测试运行器
JUnit
常用方式——
JUnit4
:
JUnit4
是
JUnit
框架有史以来的最大改变,其
主要目标便是利用
Java5
的
Annotation<
/p>
特性简化测试用例的编写。
Annotation
,
一般是翻译成注解或是元数据。
元数据就是描述数据
的数据。
也就是说,
这些个
东西在
p>
Java
里面可以用来和
public
p>
、
static
等关键字一样来修饰类名、
方法名、
变量名。注解的运用可以大量减少测试代码的冗余。
JUnit4
之
Annotation
基础篇:
@Before-
每个测试方
法前运行,
@After-
每个
测试方
法后运行,
@BeforeClass-
测试类前运行,
@AfterClass-
测试类后运行,
@
Ignore-
忽略运行,
@Test-
测试方法标识。
(二)
POI
2
Apache POI
是
Apache
软件基金会的开放源码函式库,
POI
提供
API
给
Java
程序对
Microsoft
Office
格式档案读和写的功能。
基本功能有:
HSSF
-
提供读写
Microsoft
Excel
格式档案的功能;
XSSF
-
提供读写
Microsoft Excel
OOXML
格式档案的功能;
HWPF
-
提供读写
Microsoft
Word
格式档案的功能;
HSLF
-
提供读写
Microsoft
PowerPoint
格式档案的功能;
HDGF
-
提供读写
Microsoft
Visio
格式档案的功能。
(三)
Dom4j
Dom4j
是一个易用的、
开源的库,
用于
XML
,
XPath
和
p>
XSLT
,
应用于
Java
平台,采用了
Java
集合框
架并完全支持
DOM
,
SAX
和
JAXP
。
Dom4j
是一个十分优秀的
JavaXML
API
,具有性能优异、功能强大和极其
易使用的特点,同时它也是一个开放源代码的软件,可以在
SourceForge<
/p>
上找
到它。它最大的特色是使用大量的接口,这也是它被认为比<
/p>
JDOM
灵活的主要
原因。
三、软件测试实现
1.
初始环境搭建
< br>(
1
)新建项目
打开
Myeclipse
,点击菜单【文件】
->
【新建】
->
【
项目】,选择【
Java
项目】:
3
<
/p>
选择【下一步】,项目名设置为“
wanghui1214413
3
”,【下一步】
->
【完成】。
p>
(
2
)添加库
右击项目名称,选择【构建路径】
->
【添加库】;
选择“
JUnit
p>
”
->
【下一步】,选择版本为“
JUnit4
”
->
【
完成】。
(
3
)在
src
文件夹下建立三个包<
/p>
te
存放用
于测试的
JavaBean
及它的测试用例,
< br>
存放测试工具,
xcel
存放将
xml
文
件结果读出放入
Excel
表中的类。
(
4
)导入
j
ar
包
右击工程名
< br>->
【配置构建路径】
->
【添
加
JAR
】
2.
设计
NextDate
类及其测试用例
(
1<
/p>
)设计测试用例:设计好“测试用例
.xlsx
< br>”并拖入工程目录下。
4
(<
/p>
2
)
NextDate
< br>类:
在
te
包下新建类
“
ClassNextDate12144133
”
,
该类返回输入的年月日的下一天。主体代码为
nextDate
方法,运用到
switch
p>
等语句、判断闰年等方法。
(
3
)
POI
类:在
包下新建类“
POI
”,该类可以从“测试用例
.xlsx
”
的文件中读取年、月、日的数据。
(
4
)
Test
类:右击类“
ClassNextDate12144133
”
->
【新建】
->
【
JUnit
测
试用例】
单机【下一步】
->
可以选择测试的方法,这里我未选择
->
【完成】。生
成测试类,
然后利用
@RunWith
、
@Parameters
、
@Tes
t
等注解,
POI
、
< br>assert
等方法来测试
NextDate
类。
(
5
)运行
Test
类:右击“
ClassNextDate12144133Test
”
->
【调试方式】
->
【
< br>1 JUnit4
测试】。
5
此时
ClassNextDate12144133
类未通过该测试
用例的
Test
。
< br>呈现结果和预期输出是一样的:第三项及最后两项运行故障。故障追踪如下:
将“测试用例
.xlsx
”稍作修改
再运行
Te
st
类:
此时
ClassNextDate12144133
类通过了该测试用例的
Test
。
3.
向工作簿中写入实际结果
6
(<
/p>
1
)
WriteExcel
类:用与工作簿相关的各种方法将刚刚的
JUnit
测试的结果
作为文件输出流更新到工作簿“测试用例
.xlsx
”中。
(
2
)运行
WriteExcel
类:右击
“
WriteExcel
”
->
【调试方式】
->
【
1 Java
应用程序】。
4.
向工作簿中写入测试状态
(
1
)生成
XML<
/p>
文件:
选择【测试运行历史记录
...
】的下拉箭头
->
【导出】
选择好路径并命名为
“
Result
”。
< br>文件就是
JUnit4
自动化测试生成的
XML
文件。
7
此时,文件夹架构如下:
文件用浏览器打开如下:
(
2
)应用
Dom4j
对自动化生成的
XML
p>
文件进行解析,见附录代码。
运行“
p>
XmlToExcel
”结果如下:
8