实验4 白盒测试-JUnit

实验四 白盒测试-JUNIT

【实验目的】

通过上机使用JUNIT工具, 体会单元测试、白盒测试的逻辑覆盖的方法。

【实验环境】

Eclipse, JAVA5以上, JUNIT4

【实验要求】

根据书上第3章后的第6题(P63页)的流程图,用最少的测试用例完成覆盖要求:路径覆盖+条件组合覆盖。 要求:

1)根据流程图进行单元测试用例设计;(函数输入:整型x和y,函数输出:y) 2)完成源代码和测试代码。

3)执行JUNIT输出测试结果,满足覆盖率且用例通过率100%

(说明:如果你想体验TDD(TestDrivenDevelope),可以先完成测试代码,再写源代码,直至所有的测试代码全部Pass。)

a X>0 and Y>10 b F T Y=Y/X c X<-10 or Y<0 F d 返回Y值 T Y=-(Y+X) e

【实验指导】

1、JUNIT工具的使用说明

·JUNIT简介

JUNIT工具最初是由Erich Gamma 和 Kent Beck 编写的一个单元测试(Unit Test)的支持框架。用来编写和执行单元测试,即所谓白盒测试。

本次实验我们采用的是JUNIT4,与以前的JUNIT3相比,使用起来简单方便许多。在JUNIT3中,测试用例必须继承TestCase类、且测试方法必须以test开头,在JUnit4中,测试用例无需继承TestCase类,只需要使用@Test等注解。

·JUNIT环境配置

Eclipse已带有JINIT插件,无须安装只需要配置即可。具体步骤: 1) 创建java Project。例:将项目命名为TDD

2) 添加Junit4 libraires。选择对应项目 (在Package Explorer中) -> 右击鼠标 -> 选择

properties -> 选择Java Build Path (在左边的菜单中) -> 在右边选择标签 Libraries -> 单击按钮“Add Library” -> 选择JUnit , 单击按钮 “Next>” -> 选择

JUnit library version 为: JUnit4 -> 单击按钮“Finish” –> 单击按钮 “OK”即可。

3)

·JUNIT使用 1)创建一个JAVA类。类名字任意命名(例:whitebox)。为了将源代码和测试代码分开,可以新建一个Folder,将它命名为code,并设定源代码的package为code。

package code;

public Class XXX{

public int Exercise_3_6(int x, int y) { //TODO:补充代码逻辑 return y; } }

2)创建一个JUnit类。File->New->Other,在弹出菜单中选择:Junit->Junit Test Case,在弹出的对话框中选择“New Junit 4 test”, 选择“Class under test”,可以通过点击”Browse”按钮,输入whitebox通过联想方式获得类的全名;设置测试类的”Package”, 为了将测试代码和源代码分开,可以为测试代码新建一个目录:test,并设定测试代码的Package为test.

其中:setup()函数用于测试用例执行前数据初始化、环境预置; tearDown()用于测试用例执行后的数据清理、环境恢复;

此时的目录结构如下:

4) 编写测试用例。需要注意的是:

-每个测试用例原型是public void且不带参数,形如:public void XXXX ()

-测试用例前面用@Test作为标签

- assertEquals断言作为是否通过的标准,第1个参数是执行结果,第2个参数是预期结果。

-另外: 定义测试对象变量wb,并在setup中初始化。

例:

private static code.whitebox wb;

@Before

public void setUp() throws Exception { } @Test

public void testcase1() { }s

assertEquals(wb.Exercise_3_6(1,11),11); wb = new code.whitebox();

如果想要增加新的测试用例,按testcase1的方式依次补充即可。

@Test

public void testcase2() { 。。。。

}

·JUNIT运行 选择需要运行的JAVA程序,右键:Run as –> Junit Test即可。如果遇到让你选择Select Preferred Launcher,勾选上选择一个Launcher即可。 运行时会弹出一个Junit 窗口,显示每个用例的执行结果。如果窗口没有出来,可以通过Windows->Show view->other,在弹出窗口中选择Java->Junit后即可以显示。

【实验结果】

实验结果列出此 1、 测试用例设计

可能路径:

ace(T,T), acd(T,F), abe(F,T), abd(F,F) 可能条件组合:

X>0, Y>10的条件组合分别记为:T1,T2; T1,F2; F1,T2; F1,F2; A>1,B<>0的条件组合分别记为:T3,T4; T3,F4; F3,T4; F3,F4; 测试用例 Test Case 1 输入:X,Y 输出: Y 1,11 11 执行路径 acd(T,F) 覆盖条件组合 T1,T2; F3,F4

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4