1、Junit测试报告Junit单元测试版本号: 制定日期:2010-12编制冯宝鹏日期2012-04-14审核日期批准日期文档修订记录修订日期修订内容修订人Junit单元测试一 实验目的1.掌握白盒测试方法,并按单元测试的要求设计测试用例。2.能熟练应用junit测试工具进行单元测试。3.进行代码覆盖检查。二 实验环境主流PC机一套,windows操作系统eclipse开发平台。三 实验内容1、用java语言编写一个求一元二次方程根的函数2、设计白盒测试用例,达到分支覆盖3、使用弱健壮等价类分析方法设计测试用例。4、根据以上设计的测试用例,编写junit测试代码,并进行测试。5、利用EclEmm
2、a完成测试代码覆盖分析,并生成html格式代码覆盖测试报告。四 实验步骤(1) 根据白盒法设计测试用例,并撰写单元测试计划书。(2) 根据每个测试用例,编写基本Junit的单元测试脚本。(3) 生成html格式的代码覆盖测试报告。五 测试用例采用条件覆盖法设计用例,使判断中的每个条件的可能取值至少满足一次。分为四种情况:(1)一元二次方程有两个实根(简单起见,将方程有两个相同实根,归类为方程有两个实根)测试用例IDEquation测试用例名称方程有两个实根测试目的测试一元二次方程有两个实根情况的正确性前置条件a!=0&b*b-4*a*c0操作步骤与输入a=1.0f,b=.,c=预期结果x1=-
3、1.0f,x2=实际结果x1=-1.0f,x2=执行人冯宝鹏日期 执行人冯宝鹏(2)一元二次方程有两个虚根的情况测试用例IDEquation测试用例名称方程有两虚根测试目的测试一元二次方程有两个实根情况的正确性前置条件a!=0&b*b-4*a*c0操作步骤与输入a=1.0f,b=2.0f,c=2.0f预期结果x1=,x2=1.0f实际结果x1=,x2=1.0f执行人冯宝鹏日期 执行人冯宝鹏(3)方程为一元一次方程的情况测试用例IDEquation测试用例名称方程有一根测试目的测试方程为一元一次方程根情况的正确性前置条件a=0.0f操作步骤与输入a=0.0f,b=2.0f,c=4.0f预期结果x
4、1=,x2=实际结果x1=,x2=执行人冯宝鹏日期 执行人冯宝鹏(4)不为方程的情况测试用例IDEquation测试用例名称不为方程测试目的不是方程情况的正确性前置条件a=0.0f,b=0.0f操作步骤与输入a=0.0f,b=0.0f,c=3.0f预期结果x1=x2=1.0f实际结果x1=x2=1.0f执行人冯宝鹏日期 执行人冯宝鹏六 测试计划 (1) 编写一元二次方程源代码,并通过Junit Test Case生成测试代码,并编写测试用例代码。(2) 通过不同的测试用例,分别对源代码进行结构化测试。(3) 生成测试代码覆盖率,并对数据进行分析。七 测试计划1.功能实现类(采用工具类的方式)p
5、ackage class Equation private static float x1; private static float x2; private static float x; private static float real; private static float imag; private static float results; private static float a; private static float b; private static float c; private static float delt; public static float c
6、alc(float w,float p,float q)throws Exception results=new float2; a=w; b=p; c=q; if=a) 自定义异常类package class MyArithmeticException extends Exception public MyArithmeticException() public MyArithmeticException(String message) super(message); public MyArithmeticException(Throwable cause) super(cause); pu
7、blic MyArithmeticException(String message, Throwable cause) super(message, cause); 3. Junit单元测试类package test;import class EquationTest Test public void testCalc() float a = ; float b = ; float c = ; float expecteds = , ; 试一元二次方程有两个实根的情况OVERALL?COVERAGE?SUMMARYnameclass,?%method,?%block,?%line,?%all?
8、classes67%?(2/3)44%?(4/9)50%?(124/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,?%?(0/1)0%?(0/4)0%?(0/16)0%?(0/8)?(1/1)67%?(2/3)47%?(93/199)47%?(15/32)1
9、00%?(1/1)100%?(2/2)91%?(31/34)80%?(8/10)覆盖代码: results=new float2; a=w; b=p; c=q; if=a) 试二元一次方程有两个虚根的情况OVERALL?COVERAGE?SUMMARYnameclass,?%method,?%block,?%line,?%all?classes67%?(2/3)44%?(4/9)52%?(129/249)46%?(23/50)OVERALL?STATS?SUMMARYtotal?packages:3total?executable?files:3total?classes:3total?met
10、hods:9total?executable?lines:50COVERAGE?BREAKDOWN?BY?PACKAGEnameclass,?%method,?%block,?%line,?%?(0/1)0%?(0/4)0%?(0/16)0%?(0/8)?(1/1)67%?(2/3)49%?(98/199)47%?(15/32)100%?(1/1)100%?(2/2)91%?(31/34)80%?(8/10)代码覆盖情况:results=new float2; a=w; b=p; c=q; if=a) 测试一元一次方程有一个根的情况OVERALL?COVERAGE?SUMMARYnamecla
11、ss,?%method,?%block,?%line,?%all?classes67%?(2/3)44%?(4/9)31%?(76/244)40%?(20/50)OVERALL?STATS?SUMMARYtotal?packages:3total?executable?files:3total?classes:3total?methods:9total?executable?lines:50COVERAGE?BREAKDOWN?BY?PACKAGEnameclass,?%method,?%block,?%line,?%?(0/1)0%?(0/4)0%?(0/16)0%?(0/8)?(1/1)6
12、7%?(2/3)25%?(50/199)38%?(12/32)100%?(1/1)100%?(2/2)90%?(26/29)80%?(8/10)代码覆盖情况:results=new float2; a=w; b=p; c=q; if=a) /bx+c=0; x=-c/b; if!=b) x=-c/b; results0=x; print(); return results; if=a) if!=b) 该方程是一元一次方程,其根为:x=+results0);4测试不为方程的情况 抛出自定义异常:OVERALL?COVERAGE?SUMMARYnameclass,?%method,?%block,
13、?%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:9total?executable?lines:48COVERAGE?BREAKDOWN?BY?PACKAGEnameclass,?%method,?%block,?%line,?%?(1/1)33%?(1/3)11%?(22/199)16%?(5/32)?(1/1)25%?(1/4)25%?(
14、4/16)25%?(2/8)100%?(1/1)100%?(2/2)37%?(7/19)50%?(4/8)代码覆盖情况: results=new float2; a=w; b=p; c=q; if=a) /bx+c=0; x=-c/b; if!=b) throw new MyArithmeticException(除数不能为0);public MyArithmeticException(String message) super(message); public class EquationTest catch (Exception e) (); 九 实验总结通过本次实验,对Junit单元测试框架有了一定的理解。同时,熟悉了开源框架的使用,通过查找API函数,比如、可以进行断言测试等等。总之,通过本次实验,使我对软件测试有了一个初步的认识,开启了今后学习软件测试之门。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1