Junit单元测试.doc_第1页
Junit单元测试.doc_第2页
Junit单元测试.doc_第3页
Junit单元测试.doc_第4页
Junit单元测试.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、谢谢你的观赏Junit单元测试版本号:0.1制定日期:2010-12编制冯宝鹏日期2012-04-14审核日期批准日期谢谢你的观赏修订日期修订内容修订人文档修订记录谢谢你的观赏Junit 单元测试 41 实验目的42 实验环境43 实验内容44 实验步骤45 测试用例46 测试计划67 测试计划68 覆盖率测试报告9910111 . 测试一元二次方程有两个实根的情况2 .测试二元一次方程有两个虚根的情况3 . 测试一元一次方程有一个根的情况4 测试不为方程的情况12九 实验总结 14谢谢你的观赏谢谢你的观赏Junit单元测试一实验目的1 .掌握白盒测试方法,并按单元测试的要求设计测试用例。2

2、.能熟练应用junit测试工具进行单元测试。3 .进行代码覆盖检查。二实验环境主流PC机一套,windows操作系统eclipse开发平台。实验内容1、用java语言编写一个求一元二次方程根的函数2、设计白盒测试用例,达到分支覆盖3、使用弱健壮等价类分析方法设计测试用例。4、根据以上设计的测试用例,编写 junit测试代码,并进行测试。5、利用EclEmma完成测试代码覆盖分析,并生成 html格式代码覆盖测试报告。四实验步骤(1) 根据白盒法设计测试用例,并撰写单元测试计划书。(2) 根据每个测试用例,编写基本Junit的单元测试脚本。(3) 生成html格式的代码覆盖测试报告。五测试用例采

3、用条件覆盖法设计用例,使判断中的每个条件的可能取值至少满足一次。分为四种情况:(1) 一元二次方程有两个实根 (简单起见,将方程有两个相同实根,归类为方程有两个实根 )测试用例IDEquation测试用例名称方程后两个实根测试目的测试一兀二次方程有两个实根情况的正确性前置条件a!=0&&b*b-4*a*c>0操作步骤与输入a=1.0f,b=2.0f.,c=1.0f预期结果x1=-1.0f,x2=-1.0f实际结果x1=-1.0f,x2=-1.0f执行人冯宝鹏日期4.10执行人冯宝鹏(2) 一元二次方程有两个虚根的情况测试用例IDEquation测试用例名称方程后两虚根测试

4、目的测试一兀二次方程有两个实根情况的正确性前置条件a!=0&&b*b-4*a*c<0操作步骤与输入a=1.0f,b=2.0f,c=2.0f预期结果x1=-1.0f,x2=1.0f实际结果x1=-1.0f,x2=1.0f执行人冯宝鹏日期4.10执行人冯宝鹏(3)方程为一元一次方程的情况测试用例IDEquation测试用例名称方程有一根测试目的测试方程为元次方程根情况的正确性前置条件a=0.0f操作步骤与输入a=0.0f,b=2.0f,c=4.0f预期结果x1=-2.0,x2=-2.0实际结果x1=-2.0,x2=-2.0执行人冯宝鹏日期4.10执行人冯宝鹏(4)不为方程的情

5、况测试用例IDEquation谢谢你的观赏测试用例名称不为方程测试目的不是方程情况的正确性前置条件a=0.0f,b=0.0f操作步骤与输入a=0.0f,b=0.0f,c=3.0f预期结果x1=x2=1.0f实际结果x1=x2=1.0f执行人冯宝鹏日期4.10执行人冯宝鹏六测试计划(1)编写一元二次方程源代码,并通过Junit Test Case生成测试代码,并编写测试用例代码。(2)通过不同的测试用例,分别对源代码进行结构化测试。(3)生成测试代码覆盖率,并对数据进行分析。七测试计划1.功能实现类(采用工具类的方式)package .xaut.junit;import

6、.xaut.exception.*;public classprivatestaticfloatx1 ;privatestaticfloatx2 ;privatestaticfloatx;privatestaticfloatreal ;privatestaticfloatimag ;privatestaticfloat口 results ;privatestaticfloata;privatestaticfloatb;privatestaticfloatc;privatestaticfloatdelt ;publicstaticfloat口 calc(floatresults =new flo

7、at 2;a=w; b=p; c=q;if (0.0f=a)/bx+c=0; x=-c/b;if(0.0f!=b)Equation w, float p, float q) throws Exceptionx=- c/ b;results 0= x;print ();return results ;else throw new MyArithmeticException("除数不能为 0"); else delt =b* b-4* a*c;if ( delt >=0)x1 =( float)(-b+Math.sqrt(delt)/(2*a);x2 =( float)(

8、-b-Math.sqrt(delt)/(2*a);results0= x1 ;results1= x2 ;print ();returnresults; else real =- b/(2* a); imag =( float ) (Math. sqrt (- delt )/(2*a);results0= real ;results1= imag ;print (); return results ;public static void print() if (0.0f=a)if (0.0f!=b)System.out .println( else System.err .println( e

9、lse if ( delt >=0)System. out .println(x1=" + results 0+ ",x2="+ results 1);“该方程是一元一次方程,其根为:x=" +results"不是一个方程!");"该方程是一元二次方程,两根分别为:0); else 为:x1="System. out .println( + results 0+ "+" +results 1+"该一元二次方程的根为复数,两根分别"i" +",x2=&

10、quot; +results 0+ "-" + results1+ "i");谢谢你的观赏2 .自定义异常类package .xaut.exception;public class MyArithmeticExceptionextends Exception public MyArithmeticException。 public MyArithmeticException(String message) super (message);public MyArithmeticException(Throwable cause) super (

11、cause);public MyArithmeticException(String message, Throwable cause) super (message, cause);3 . Junit单元测试类package test;import org.junit.Assert;import org.junit.Test;import .xaut.junit.Equation;public class EquationTest TestpublicvoidtestCalc() floata= 1.0f;floatb= 2.0f;floatc= 1.0f;float 口 exp

12、ecteds = -1.0f,-1.0f ;/float口 expecteds = -0.5f,0.5f;/float expecteds =-0.5f;float 口 results;try results = Equation.calc (a, b, c);Assert. assertArrayEquals (expecteds, results, 0.0f);/Assert.assertEquals(expecteds,results0,0.0f); catch (Exception e) e.printStackTrace();谢谢你的观赏八覆盖率测试报告1 .测试一元二次方程有两个实

13、根的情况Elernent 上CoverageCovered Ini + ru.Missed Ins true.Tot :al Ins tract.-£7 junit49.8 %1241252490 港1 srcM 49.8 %124125249日田 cn. edu. xaut. eKcepti on0.0 %U1616由J Mykri thiirie+i cEmcepti on. j ava0.0 %U1616-cn. edu. xaut. jnriitM 46.7 %93106I'd'd由J Equati on. j ava46.7 %93106I'd

14、9;d白由test口 91.2 %31334由J Equati onTest. j ava口 91.2 %31334EMMA Coverage Report (generated Mon Apr 09 20:03:36 CST 2012) all classesOVERALL COVERAGE SUMMARYnameclass, %method, %block, %line, %all classes67% (2/3)44% (4/9)50% (124/249)46% (23/50)OVERALL STATS SUMMARYtotal packages:3total executable fi

15、les: 3total classes:3total methods:9total executable lines: 50COVERAGE BREAKDOWN BY PACKAGEnameclass, %method, %block, %line, %.xaut.junit0% (0/1)100% (1/1)0% (0/4)67% (2/3)0% (0/16)47% (93/199)0% (0/8)47% (15/32)test100% (1/1)100% (2/2)91% (31/34)80% (8/10)all classesEMMA

16、 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov覆盖代码:Equation.javaresults =new float 2;a=w; b=p; c=q;if (0.0f=a)/bx+c=0; x=-c/b; else delt =b* b-4* a*c; if ( delt >=0)谢谢你的观赏2 .测试二元一次方程有两个虚根的情况-0 junit否 31,8%12912024951.8%129120i219- 由 cn. ed-Ui. xauts exception0.0算016I6ffi 团 MyAri thmeti cExcepti gi

17、l j ava o.a%0IB16白击 cn. edn. xaut. junit49.2%98101199王 团 E QQii t i cn. j 弭2*使101199-由3t91.2%31334国 jjj Equati onTest. j ava91.2X31334EMMA Coverage Report (generated Mon Apr 09 20:03:36 CST 2012)all classesOVERALL COVERAGE SUMMARYnameclass, %method, %block, %line, %all classes67% (2/3)44% (4/9)52% (

18、129/249)46% (23/50)OVERALL STATS SUMMARYtotal packages:3total executable files: 3total classes:3total methods:9total executable lines: 50COVERAGE BREAKDOWN BY PACKAGEnameclass, %method, %block, %line, %.xaut.exception0% (0/1)100% (1/1)100% (1/1)0% (0/4)67% (2/3)100% (2/2)0% (0/16)49% (98/199)9

19、1% (31/34)0% (0/8)47% (15/32)80% (8/10).xaut.junittestall classes谢谢你的观赏EMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov代码覆盖情况:3 .测试一元一次方程有一个根的情况-冷 jimit31 1 %76166区4曰src31.1 %7616B244s田cil. edu- xaut. esccepti on0.0 %01616l+l MyAr i thmeti cEkception. j av*0.0 %01816日山cn. edm- saut. juni t25.

20、 1 %50149199由1 Equation.25. L %50149199-由test,89. T %26329+EquationTixt. jitva.,89.7 %靖329EMMA Coverage Report (generated Mon Apr 09 20:03:36 CST 2012)all classesOVERALL COVERAGE SUMMARYnameclass, %method, %block, %line, %all classes67% (2/3)44% (4/9)31% (76/244)40% (20/50)OVERALL STATS SUMMARYtotal

21、 packages:3total executable files: 3谢谢你的观赏total classes:total methods:9total executable lines: 50COVERAGE BREAKDOWN BY PACKAGEnameclass, %method, %block, %line, %.xaut.junit0% (0/1)100% (1/1)0% (0/4)67% (2/3)0% (0/16)25% (50/199)0% (0/8)38% (12/32)test100% (1/1)100% (2/2)9

22、0% (26/29)80% (8/10)all classesEMMA 2.0.5312 EclEmma Fix 2 (C) Vladimir Roubtsov代码覆盖情况:results =new float 2;4测试不为方程的情况-会皿it13.5 %332112440 港1 sre13.5 %33211244白田 cn. edu. xaut. exception25. Li %41216£) U 吊了七-i tbuTieti cExcept i on. j ava25. Li %41216白田 cn. edu. xaut. juiiit 11.1 %22177199由U qu

23、ation. java 11.1 %22177199-由 test24.1 %722£9(+) £ Equati onTest. j ava24. 1 %72229抛出自定义异常:BxucgLicr.*y且:七七rrscLc三犬sue匚iun: 除数不能为二at an .曰d二 .二.二二亡.三口二a二;二三.二alt i.Eq-a七二一力:父包:jat 匕三qy自七二二二二二wr七正二二二五二匚 £q-二mtikc匚二E3Laqa二IE :at . rer Leet.ssr Irrpl.2 i Mative 14et?iod :EMMA Coverage Report (generated Mon Apr 09 20:03:36 CST 2012)谢谢你的观赏all classesOVERALL COVERAGE SUMMARYnameclass, %method, %block, %line, %all classes100% (3/3)44% (4/9)14% (33/234)23% (11/48)OVERALL STATS SUMMARYtotal packages:3total executable files: 3total classes:3total methods:9tota

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论