JUnit4测试报告

温柔似野鬼°
634次浏览
2021年02月21日 07:58
最佳经验
本文由作者推荐

-

2021年2月21日发(作者:扑克比赛)






































































JIANGSU UNIVERSITY OF TECHNOLOGY














基于


JUint4


的单元测试用例设计与实现




学院名称:








计算机工程学院















业:












软件工程

















级:












12


软件


1
















号:












12144133
















名:































二〇一五

















基于


JUint4

< br>的单元测试用例设计与实现



一、需求分析



二、测试工具介绍



三、软件测试实现



附录


1


:相关代码



1


1


2


3


9
















基于< /p>


JUint4


的单元测试用例设计与实现



一、需求分析



(一)软件测试



软件测试(


Software


Tes ting


),描述一种用来促进鉴定软件的正确性、完


整性、< /p>


安全性和质量的过程。


换句话说,


软件测 试是一种实际输出与预期输出间


的审核或者比较过程。


软件测试 的经典定义是:


在规定的条件下对程序进行操作,


以发现程序错 误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。


软件测试模型有


V



W

< p>


H



X


等模型,其中


V


模型测试过程按


4


个步骤进


行,即单元测试、集成测试、确认测试和系统测试 及发布测试。这其中单元测试


与其他测试不同,


单元测试可看作 是编码工作的一部分,


应该由程序员完成,


< br>就是说,


经过了单元测试的代码才是已完成的代码,


提交 产品代码时也要同时提


交测试代码。



软件测试的测试目标是:



1


.发现一些可以通过测试避免的开发风险;



2


.实施测试来降低所发现的风险;



3


.确定测试何时可以结束;



4


.在开发项目的过程中将测试看作是一个标准项目。



(二)单元测试



单元测试


(模块测试)


是开发者编写的一小段代码,

用于检验被测代码的一


个很小的、


很明确的功能是否正确。


通常而言,


一个单元测试是用于判断某个特

定条件(或者场景)下某个特定函数的行为。



经验表明一 个尽责的单元测试方法将会在软件开发的某个阶段发现很多的


Bug

,并且修改它们的成本也很低。它的优点如下:



1.


它是一种验证行为



编写单元测试就是用来验证代码的行为是否与我们期望的一致。


有了单元测< /p>


试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。



2.


它是一种设计行为



编写单元测试将使我们从调用者观察、思考。特别是先写测试(


test- first


),



1



迫使我们把程序设计成易于调用和可测试的,即迫使我们解除 软件中的耦合。



3.


它是一种编写文档的行为



单元测试是一种无价的文档,


它是展示函数或类如何使用的最佳文档。


这份


文档是可编译、可运行的,并且它保持最新,永远与代码同 步。



4.


它具有回归性


< br>自动化的单元测试避免了代码出现回归,


编写完成之后,


可以随时随地的快


速运行测试。



二、测试工具介绍



(一)


JUnit4


JUnit


是一个


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



一般是翻译成注解或是元数据。


元数据就是描述数据 的数据。


也就是说,


这些个


东西在


Java


里面可以用来和


public



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



XSLT



应用于


Java


平台,采用了


Java


集合框 架并完全支持


DOM



SAX



JAXP




Dom4j


是一个十分优秀的


JavaXML


API


,具有性能优异、功能强大和极其


易使用的特点,同时它也是一个开放源代码的软件,可以在


SourceForge< /p>


上找


到它。它最大的特色是使用大量的接口,这也是它被认为比< /p>


JDOM


灵活的主要


原因。



三、软件测试实现



1.


初始环境搭建


< br>(


1


)新建项目



打开


Myeclipse


,点击菜单【文件】


->


【新建】


->


【 项目】,选择【


Java


项目】:





3


< /p>


选择【下一步】,项目名设置为“


wanghui1214413 3


”,【下一步】


->


【完成】。




2


)添加库



右击项目名称,选择【构建路径】


->


【添加库】;



选择“


JUnit



->


【下一步】,选择版本为“


JUnit4



->


【 完成】。





3


)在


src


文件夹下建立三个包< /p>




te


存放用 于测试的


JavaBean


及它的测试用例,

< br>



存放测试工具,


< p>
xcel


存放将


xml


文 件结果读出放入


Excel


表中的类。




4


)导入


j ar




右击工程名

< br>->


【配置构建路径】


->


【添 加


JAR





2.


设计


NextDate

< p>
类及其测试用例




1< /p>


)设计测试用例:设计好“测试用例


.xlsx

< br>”并拖入工程目录下。





4




(< /p>


2



NextDate

< br>类:



te


包下新建类



ClassNextDate12144133




该类返回输入的年月日的下一天。主体代码为

< p>
nextDate


方法,运用到


switch


等语句、判断闰年等方法。



< p>
3



POI


类:在



包下新建类“


POI


”,该类可以从“测试用例


.xlsx



的文件中读取年、月、日的数据。




4



Test


类:右击类“


ClassNextDate12144133



->


【新建】


->



JUnit



试用例】




单机【下一步】


->


可以选择测试的方法,这里我未选择


->


【完成】。生 成测试类,


然后利用


@RunWith



@Parameters



@Tes t


等注解,


POI


< br>assert


等方法来测试


NextDate

< p>
类。




5


)运行


Test


类:右击“


ClassNextDate12144133Test



->


【调试方式】


->


< br>1 JUnit4


测试】。




5




此时


ClassNextDate12144133


类未通过该测试 用例的


Test



< br>呈现结果和预期输出是一样的:第三项及最后两项运行故障。故障追踪如下:




将“测试用例


.xlsx

< p>
”稍作修改



再运行


Te st


类:





此时


ClassNextDate12144133

< p>
类通过了该测试用例的


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


文件进行解析,见附录代码。



运行“


XmlToExcel


”结果如下:






8

-


-


-


-


-


-


-


-