软件测试 第三次作业

1、 计算整数X和整数Y的最大公约数。(不允许采用课堂上所用的方式实现)。

请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名。在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。利用FindBugs查找程序中是否存在bug。

Demo类

package cn.wu.test;

public class Demo {

/**

@param args

*/

public static void main(String[] args) {

// TODO Auto-generated measure stub

measure s =new measure();

s.index();

}

}

Method

package cn.wu.test;

public class measure {

public void index(){

int a=48,b=90;

int min =Math.min(a, b);

for(int k=min;k>0;k--){

if(a%k==0 && b%k==0){

System.out.println(a+"和"+b+"的最大公约数为:"+k);

return;

}

}

}

}

2、 逻辑覆盖的应用

按照所给的程序流程图,写出Java代码(用类和方法实现)写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试.

l  测试用例(语句覆盖):


x


y


结果


路径


3


2


Y+1=3 x=3


abd


3


1


不变


abc


6


-1


x-y=7


aeg


4


-1


X+y=3


aef

l  测试用例(分支覆盖):


X<4 or y>0


x>5


Y>1


用例


结果


路径


T


F


X=3,y=1


不变


abc


T


T


X=3,y=2


Y+1=3 x=3


adb


F


F


X=6,y=-1


x-y=7


aeg


F


T


X=4,y=-1


X+y=3


aef

package cn.wu.test;

public class measure {

public void tests(){

int x = 5,y = 6;

if(x<4 || y>0){

if(y>1){

y=y+1;

System.out.println("x结果是:"+x);

System.out.println("y+1结果是:"+y);

}

else{

System.out.println("x结果是:"+x);

System.out.println("y结果是:"+y);

}

}

else{

if(x>=5){

x=x-y;

System.out.println("x-y结果是:"+x);

}

else{

x=x+y;

System.out.println("x+y结果是:"+x);

}

}

}

}

package cn.wu.test;

public class Demo {

/**

@param args

*/

public static void main(String[] args) {

// TODO Auto-generated measure stub

measure s =new measure();

s.tests();

}

}

时间: 2024-08-05 19:35:02

软件测试 第三次作业的相关文章

软件测试第三次作业

这次作业主要是根据代码,画出控制流图,并涉及计边覆盖,点覆盖,主路径的知识. 具体作业内容如下 /******************************************************* * Finds and prints n prime integers * Jeff Offutt, Spring 2003 ******************************************************/ public static void printPr

软件测试第三周作业——测试多个输入的合法性

这次作业,我用JavaFX来写程序测试输入的合法性 这是我的输入界面截图, 三个框同时输入, 按submit即可测试三个输入的合法性, 最后在控制台显示测试结果 测试用例: 等价类的划分: 有效等价类:长度1-6,仅含有a-z,A-Z,0-9的字符 无效等价类:长度0或大于7,含有但并不一定都是除a-z,A-Z,0-9以外的字符,控制字符.标点符号等. 以下是测试用例 第一次测试: 输入: er43t dgddsgdfg fds!# 输出: OK 所有输入长度应为1-6 所有输入字符应为a-z,

软件测试第三次作业2

2. 逻辑覆盖的应用 l         按照所给的程序流程图,写出Java代码(用类和方法实现) l         写出语句覆盖.分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试 package HAN; import java.util.Scanner; /** * * @author hanzhenyi * 2016.4.7 * 2. 逻辑覆盖的应用 */ public class two { public static void main(String[] ar

软件测试第三次作业1

1. 计算整数X和整数Y的最大公约数.(不允许采用课堂上所用的方式实现) l         请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名. l         在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数. l         利用FindBugs查找程序中是否存在bug. package HAN; import java.util.Scanner; /** * @author hanzhenyi * 2016.4.7 * 1. 计算整数

软件测试第三次作业——习题2.3.7

a) b)若MAXPRIMES为2,则t2在primes[numPrimes]=curPrime(即上图节点8)处会发生访问非法内存的错误,因为n=5时质数有2,3,5.但t1不会出错,因为n=3时质数只有2,3. c)t=(n=1). d)点覆盖:{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} 边覆盖:{(0,1),(1,2),(1,11),(2,3),(3,4),(3,7),(4,5),(4,6),(5,7),(6,3),(7,8),(8,9),(8,10),

软件测试第三次作业——7.使用下面方法printPrimes()完成后面的问题(a)~(f)

(a)控制流图如下: (b)令MAXPRIMES=4,会出现越界错误. (c)令n=1,不会经过while循环体. (d)节点覆盖:{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15} 边覆盖:{(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(6,8),(8,5),(5,9),(7,9),(9,10),(10,11),(9,11),(11,2),(2,12),(12,13),(13,14),(14,13),(13,15)} 主路径覆盖:{(3,4,

软件测试第三次作业junit和Eclemma的使用

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

一.题目要求 使用下面方法printPrimes()完成后面的问题(a)-(d): 代码如下: /******************************************************* * Finds and prints n prime integers * Jeff Offutt, Spring 2003 ******************************************************/ public static void printPr

软件测试第三次作业:Graph Coverage

package homework3; public class prime { public String printPrimes (int n) { int curPrime; int numPrimes; boolean isPrime; int [] primes = new int [10000]; primes [0] = 2; numPrimes = 1; curPrime = 2; while (numPrimes < n) { curPrime++; isPrime = true