1.

2.将第20行

for(int i = 0; i<=numPrimes-1;i++)

改为

for(int i = 0; i<numPrimes-1;i++)

3.n=2

4.节点覆盖:

[0,1,2,3,5,3,4,6,7,8,9,10,11]

边覆盖

[0,1,2,3,5,3,4,6,7,8,9,10,9,10,11]

[0,1,2,3,4,7,1,2,3,4,7,8,9,10,11]

主路径覆盖:

[0,1,2,3,5,3,5,3,4,6,7,1,2,3,4,7,1,2,3,4,6,7,1,2,3,4,6,7,8,9,10,9,10,11]

[0,1,2,3,4,6,7,8,9,10,11]

[0,1,2,3,4,7,8,9,10,11]

5.主路进测试junit和Eclemma

(一)修改部分程序,方便测试

修改前:

package hw3;

public class hw3code {

private static void printPrimes(int n){

int curPrime;

int numPrimes;

boolean isPrime;

int MAXPRIMES = 100;

int [] Primes = new int[MAXPRIMES];

Primes[0] = 2;

numPrimes = 1;

curPrime = 2;

while(numPrimes<n){

curPrime++;

isPrime = true;

for(int i = 0; i<=numPrimes-1;i++){

if(isDivisible(Primes[i],curPrime))

{

isPrime = false;

break;

}

}

if(isPrime)

{

Primes[numPrimes] = curPrime;

numPrimes++;

}

}

for(int i = 0; i<=numPrimes-1;i++)

{

System.out.println("Prime:"+Primes[i]);

}

}

static boolean isDivisible(int x, int y){

int a = y/x;

double b = (double)y/(double)x;

// System.out.println(a);

// System.out.println(b);

if(b-a == 0){

return true;

}

else{

return false;

}

}

}

修改后

package hw3;

import java.util.Arrays;

public class hw3change {

static int[] printPrimes(int n){

int curPrime;

int numPrimes;

boolean isPrime;

int [] Primes = new int[n];

Primes[0] = 2;

numPrimes = 1;

curPrime = 2;

while(numPrimes<n){

curPrime++;

isPrime = true;

for(int i = 0; i<=numPrimes-1;i++){

if(isDivisible(Primes[i],curPrime))

{

isPrime = false;

break;

}

}

if(isPrime)

{

Primes[numPrimes] = curPrime;

numPrimes++;

}

}

for(int i = 0; i<=numPrimes-1;i++)

{

System.out.println("Prime:"+Primes[i]);

}

return Primes;

}

static boolean isDivisible(int x, int y){

int a = y/x;

double b = (double)y/(double)x;

// System.out.println(a);

// System.out.println(b);

if(b-a == 0){

return true;

}

else{

return false;

}

}

}

(二)确定测试路径对应的n值

其中path1为n=5;

Path2 为 n = 2;

Path3 在实际上不可能发生;

所以测试程序为

package hw3;

import static org.junit.Assert.*;

import org.junit.Test;

public class hw3changeTest {

hw3change pri = new hw3change();

@Test

public void testprimepath2() {

int right[] = {2,3};

assertArrayEquals(right,pri.printPrimes(2));

}

@Test

public void testprimepath1() {

int right[] = {2,3,5,7,11};

assertArrayEquals(right,pri.printPrimes(5));

}

}

Junit结果:

Eclemma结果:

其中对应该程序为hw3change.java和hw3changeTest.java.

转载于:https://www.cnblogs.com/QinYongGui/p/6542157.html

软件测试第三次作业junit和Eclemma的使用相关推荐

  1. 软件测试 第三次作业

    (a) 将就一下锻炼颈椎吧,废了半天劲也没把图片正过来 (b) 改为isDivisiable( primes[0], curPrime) (c) n = 1 (d) Node Coverage: { ...

  2. 软件测试实验——安装并使用junit、hamcrest和eclemma进行简单测试

    一.安装junit.hamcrest和eclemma 首先,到junit官网下载junit和hamcrest. 新建java项目 完整代码已经上传至github:flyzero的coding路 实验内 ...

  3. JML规格编程——BUAA OO第三单元作业总结

    整体概述 这个单元整体围绕Java Model Language(JML)展开,通过学习JML规格了解契约式编程的过程,课上实验中进行了JML规格的简要编写,课下实验主要通过阅读规格并按照规格的要求正 ...

  4. BUAA_OO第三单元作业总结——JML

    BUAA_OO第三单元作业总结--JML 单元任务 本单元的主要内容是熟悉JML相关的理论知识,能够根据JML规格实现对应方法,通过一步步实现地铁系统来熟悉JML规格. 一.JML语言的理论基础.应用 ...

  5. Junit Hamcrest Eclemma

    一.安装Junit 和 Hamcrest 选中项目->点击project->properties->Java Build path->libraries 点击右侧 Add Li ...

  6. BUAA-OO 第三单元作业 JML 总结与思考

    一.需求分析 利用java线程的相关知识实现 1)实现两个容器类 Path 和 PathContainer JML规格⼊⻔级的理解和代码实现 2)实现容器类 Path 和数据结构类 Graph JML ...

  7. OO第三单元作业总结

    OO第三次作业总结 一.JML (一)JML语言理论基础 (1)JML表达式: JML表达式包括以下几种: 原子表达式如\result(方法执行后的返回值).\old(表达式在相应方法执行前的取值): ...

  8. 程序设计第三次作业附加 代码规范

    题目:第三次作业附加 myGithub 我的程序设计第三次作业 Calculator.h //==============================// //文件名称:calculator.h ...

  9. 2021年人工神经网络第三次作业-第二题:遗传算法与人工神经网络-参考答案

    简 介: 给出了对于BP网络求解异或问题过程中,利用遗传算法完成网络演变的过程.所使用的遗传算法是最基本的遗传算法.利用遗传算法对于网络的系数进行演变,可以对网络系数初始化过程进行优化.对于不同的遗传 ...

最新文章

  1. Linux用户配置密码,linux用户配置文件passwd和密码配置文件shadow,用户管理,组管理...
  2. ibm服务器和微软,微软与IBM不得不说的事情
  3. java打印设备集中管理_Kafka+Log4j实现日志集中管理
  4. 数据结构树的基本操作_树的各类基本操作(数据结构)
  5. 进制转换c语言代码_奇怪的C语言代码,有些函数在变量前加上(void)是什么类型转换?...
  6. linux设备模型(8)_platform设备,Linux设备模型之platform总线
  7. 国际顶级学界和工业界大咖云集、AIoT 实训营,你不可错过的嵌入式 AI 盛会!...
  8. 软件工程 CI持续集成实例 Zanata+github+Jenkins
  9. 得力D991CN Plus计算器评测(全程对比卡西欧fx-991CN X)
  10. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构 1
  11. 2012-2013考研英语词汇
  12. Qt5使用Poppler实现PDF阅读器
  13. Windows 7 IE主页被篡改,如何修复?
  14. listing directory /
  15. ios 高德获取定位_单次定位-获取位置-开发指南-iOS 定位SDK | 高德地图API
  16. Layui官网地址官网仓库
  17. javastudy - 52:素数回文数的个数
  18. 三年级计算机画图工具教案,小学三年级信息技术教学设计《画图》
  19. 【阿里2013实习笔试】找明星
  20. Chrome 开发者工具 —— Performance 快速入门

热门文章

  1. DenseNet细节
  2. 自定义---单批次训练函数
  3. softmax回归的从零开始实现
  4. matlab cy11,matlab解线性回归方程,y=a0+a1*A+a2*B+a3*C+a4*D+a5*E+a6*F; 数据足够,求a0,a
  5. java实现ip能访问_Java过滤ip,只允许配置的ip能够被访问
  6. loss函数之MultiLabelSoftMarginLoss
  7. vscode php 不进断点,php – Docker和XDebug没有读取断点VSCode
  8. 各类学术评价对象的发展脉络、测度指标与方法
  9. 一道Struts面试题
  10. 微信小程序 --- 动态获取input的value