欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jUnit EclEmma 白盒测试

程序员文章站 2022-05-23 15:22:35
...

环境配置

1 jUnit
Junit 在eclipse中自带所以启动就可以
先add libraries
jUnit EclEmma 白盒测试
jUnit EclEmma 白盒测试
点击Junit后选择Junit4 即可
jUnit EclEmma 白盒测试
2 EclEmma
使用在线安装方式
Help install new software
http://update.eclemma.org/地址粘贴即可
jUnit EclEmma 白盒测试
jUnit EclEmma 白盒测试

白盒测试步骤

1 被测函数

被测函数的名称 : Randomwork
功能描述 : 随机游走
进入该功能时,程序随机的从图中选择一个节点,以此为起点沿出边进行随机遍历,记录经过的所有节点和边,直到出现第一条重复的边为止,或者进入的某个节点不存在出边为止。在遍历过程中,用户也可随时停止遍历。
被测函数的代码

jUnit EclEmma 白盒测试
jUnit EclEmma 白盒测试

代码总行数 35
包含的循环数 1
包含的判定数 2

2 程序流程图

jUnit EclEmma 白盒测试

3 控制流图

jUnit EclEmma 白盒测试

4 圈复杂度计算与基本路径识别

圈复杂度为:(请给出计算过程)
3
区域数为3 或者判断有2个 2+1
基本路径1:72-82-83-103-104
基本路径2:72-82-83-85-89-103-104
基本路径3:72-82-83-85-89-83-103-104

5 jUnit测试代码

针对4.5中的每一个用例,把其测试代码粘贴如下,代码必须是完整的。

测试用例编号 jUnit测试代码
1

@Test
    public void testRandomWalk0() {
        main1.createDirectedGraph("C:\\Users\\lenovo\\Desktop\\图.txt");
        main1.randomWalk(main1.graph);
        int result=main1.flag;
        if(result == 0){

            System.out.println("第一分支正确");

        }
    }

2

@Test
public void testRandomWalk1() {
main1.createDirectedGraph("C:\\Users\\lenovo\\Desktop\\图.txt");
main1.randomWalk(main1.graph);
int result=main1.flag;
if(result == 1){

            System.out.println("第二分支正确");

        }
}

3

@Test
    public void testRandomWalk2() {
        main1.createDirectedGraph("C:\\Users\\lenovo\\Desktop\\图.txt");
        main1.randomWalk(main1.graph);
        int result=main1.flag;
        if(result == 2){

            System.out.println("第三分支正确");

        }
    }

6 EclEmma代码覆盖度分析
给出EclEmma的代码覆盖度分析报告的截图。
Instruction counters截图:
jUnit EclEmma 白盒测试

Branch counters截图:

jUnit EclEmma 白盒测试

Complexiy截图:

jUnit EclEmma 白盒测试