软件测试实验学习笔记系列3--单元测试

发表于:2013-8-06 11:03

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xiajian2010    来源:51Testing软件测试网采编

  1.2Junit单元测试工具

  JUnit---SourceForge项目---IBMCommon Public License ---官网:www.junit.org

  ASP,C++,c#,Effel,Delphi,Perl,PHP,Python,REBOL,Smalltalk,Visual Basic。

  xUnit的目标:1.开发人员写测试代码,提供一个测试框架,减少重复性劳动2.创建并保留测试,将测试集中在一起,用已有的测试创建新的测试。

  Junit的好处:

  可以使测试代码与产品代码分开

  针对某个类的测试代码,通过较少的改动便可以将其应用于另一个类的测试

  易于集成到测试人员的构建中,JUnit和Ant的结合实施增量开发

  Junit是公开源代码的,可以进行二次开发

  可以方便的对JUnit进行扩展

  Junit测试编写的原则:

  简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写

  使测试单元保持持久性

  可以利用既有的测试来编写相关的测试

  Junit的特征:

  使用断言方法来判断期望值和实际值的差异,返回Boolean值

  测试驱动设备使用共同的初始化变量或实例

  测试包结构便于组织和集成运行

  支持图形交互模式和文本交互模式

  JUnit共有7个包,核心的包就是junit.framework和junit.runner。Framework包负责整个测试对象的架构,Runner包负责测试驱动。

  JUnit有4个重要的类:TestSuite,TestCase,TestResult,TestRunner,前三个属于Framework包,后一个类在不同的环境下是不同的。后一个类在不同的环境中是不同的,文本环境和图形界面

  TestResult:负责收集TestCase所执行的结果,客户可以预测的Failure和没有预测的Error。同时负责将测试结果转发给TestListener(该接口由TestRunner集成)进行处理

  TestRunner:客户对象调用的起点,负责对整个测试流程进行跟踪。能够显示返回的测试结果,并报告测试的进度

  TestSuite:负责包装和运行所有的TestCase

  TestCase:客户测试类所要继承的类,负责测试时对客户类进行初始化以及测试方法的调用.

  两个重要的接口:Test,TestListener

  Test:包含两个方法:run(),countTestCases()-->用于对测试动作特征的提取

  TestListener:addError(),addFailure(),startTest(),endTest()-->用于对测试结果的处理以及测试驱动开发的动作的特征的提取。

  Junit框架组成:TestCase(测junit.swingui.TestRunner试用例),TestSuite(测试集),TestResult(测试结果描述与记录),TestListener(事件监听者),TestFailure(测试失败),AssertionFailedError.

  Junit和Eclipse的集成的处理可以参考《JUnit in Action》

  Junit的命令行处理:java junit.textui.TestRunner  xxx

  1.3JUnit实例

  1.3.1. 开发工具:

  Eclipse、JUnit、Ant

  1.3.2. 编码实现三角形类型判断程序:

class Triangle{
private double a, b, c;
public Triangle ( double a, double b, double c ){
this.a = a;
this.b = b;
this.c = c;
}
/*
返回值为 1 表示是等边三角形
返回值为 2 表示是等腰三角形
返回值为 3 表示是其他种类三角形
返回值为-1 表示不能构成三角形
*/
public int type (){
//to be added
}
}

  1.3.3、基于 JUnit 设计测试用例,使得满足如下条件

  (1)包含不能构成三角形的测试用例

  (2)包含构成等边三角形的测试用例

  (3)包含构成等腰三角形的测试用例(提示:需要三个测试用例)

  (4)包含构成其他种类三角形的测试用例

  (5)三角形有一条边是非正数

  4、编写 ant 脚本驱动测试用例

  包括测试用例执行和测试报表生成

  备注:个人使用的JVM是Open JDK6.0,eclipse是3.8 Juno,JUnit使用的是4.11

52/5<12345>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号