软件测试-实验 实验三白盒测试

实验目的

(1)       学习白盒测试方法

(2)       掌握语句覆盖、条件覆盖、分支覆盖等逻辑覆盖方法

(3)       掌握Java代码分析工具的使用

实验内容

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

l  请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名。

l  在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。

l  利用FindBugs查找程序中是否存在bug。

代码:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class CE {

public static void main(String[] args) {

int a = 0;

System.out.print("请输入一个数:");

BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));

try {

a=Integer.parseInt(strin.readLine());

} catch (NumberFormatException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

int b = 0;

System.out.print("请输入一个数:");

BufferedReader strin2=new BufferedReader(new InputStreamReader(System.in));

try {

b=Integer.parseInt(strin2.readLine());

} catch (NumberFormatException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

int flag = 0;

for (int i = 1; i <= a; i++) {

if(a%i==0){

if(b%i==0){

flag=i;

}

}

}

System.out.println("最大公约数为"+flag);

}

}

2、 逻辑覆盖的应用

l  按照所给的程序流程图,分别写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径

l  附加题:根据程序流程图,写出代码(定义一个类和方法来实现),用JUnit生成单元测试,并利用前面设计的测试用例进行测试。

语句覆盖:

aeg       x=4,y=0

aef       x=5,y=0

abd       x=3,y=0

abc       x=3,y=2

分支覆盖:

X=4,y=0

X=5,y=0

X=3,y=3

X=3,y=2

代码:

import java.util.Scanner;

public class ShiThree {

public static void main(String[] args) {

// TODO Auto-generated method stub

// TODO Auto-generated method stub

ShiThree a = new ShiThree();

Scanner in=new Scanner(System.in);

System.out.println("please enter a: ");

double x=in.nextDouble();//这是输入x

System.out.println("Please enter b: ");

double y=in.nextDouble();//这是输入y

a.shu(x, y);

}

public void shu(double n,double m){

if(m<4||n>0){

if (n>1){

n=n+1;

System.out.println("y="+n);

System.out.println("x="+m);

}else{

System.out.println("y="+n);

System.out.println("x="+m);

}

}else if(m>=5){

m=m-n;

System.out.println("y="+n);

System.out.println("x="+m);

}else{

m=m+n;

System.out.println("y="+n);

System.out.println("x="+m);

}

return;

}

}

时间: 2024-10-24 21:55:36

软件测试-实验 实验三白盒测试的相关文章

《软件测试》实验三

实验三 白盒测试 实验目的 (1)       学习白盒测试方法 (2)       掌握语句覆盖.条件覆盖.分支覆盖等逻辑覆盖方法 (3)       掌握Java代码分析工具的使用 实验内容 1. 计算整数X和整数Y的最大公约数.(不允许采用课堂上所用的方式实现) l  请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名. l  在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数. l  利用FindBugs查找程序中是否存在b

20135231 JAVA实验报告三:敏捷开发与XP实践

---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等).解决办法(空洞的方法如“查网络”.“问同学”.“看书”等一律得0分)以及分析(从中

《软件测试》实验一

<软件测试>实验 实验一 测试入门 实验目的 (1) 了解什么是测试: (2) 学习评测别人的软件: 实验内容 1. 评测别人的软件 请下载铁路12306的手机APP,通过使用这款软件,写一篇软件的评测(300字以上),评测内容可以是这个软件的优势,或是你觉得特别好的地方,软件的缺陷.软件可以改进的地方等等. 答:铁路12306这款软件是一款颇受争议的软件,在各大报刊都有很多负面消息,如:订票难,验证码繁杂,程序经常崩溃等一系列问题,但是也有挺多益处,对于我们老百姓来说,更便捷的购票途径使我们

操作系统实验报告三

操作系统实验报告三 姓名:许恺 学号:2014011329 日期:2016.11.22 题目1:设计一段内存结构,能够缓存一定数量的网页,在客户端访问时,首先从内存中查找是否存在客户端访问的网页内容,如果存在,则直接从内存中将相应的内容返回给客户端:如果不存在,则从磁盘中将网页内容读入到内存,并返回给客户端   1.思想以及准备怎么做 在刚刚读完题目之后我的想法已经有了一点感觉要怎样做了,因为报告拖了比较久,所以老师也说过很多,好了直奔主题,首先要设计一段内存结构,用来缓存网页,其实就是做几个能

软件测试_实验一

<软件测试>实验 实验一 测试入门 实验目的 (1)       了解什么是测试: (2)       学习评测别人的软件: 实验内容 1. 评测别人的软件 请下载铁路12306的手机APP,通过使用这款软件,写一篇软件的评测(300字以上),评测内容可以是这个软件的优势,或是你觉得特别好的地方,软件的缺陷.软件可以改进的地方等等. 2. 自己写一个软件 写一个输入两位数,实现加减乘除的程序.并和同学比较一下各种的功能.实现方法的异同等等.写出自己程序存在的缺陷,以及比别人做的好的地方.  

第五周总结&amp;实验报告三

第五周总结&实验报告三 实验报告 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) ① 统计该字符串中字母s出现的次数. ② 统计该字符串中子串"is"出现的次数. ③ 统计该字符串中单词"is"出现的次数. ④ 实现该字符串的倒序输出. ① 统计该字符串中字母s出现的次数. package test3; public class Zifu { public static v

实验5 简单嵌入式WEB服务器实验 实验报告 20135303 20135326

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                班级:  1353 姓名:20135303 魏昊卿 学号:20135326 王亦可 成绩:             指导教师: 娄嘉鹏             实验日期:2015.12.03 实验密级:         预习程度:                     实验时间:15:30~18:00 仪器组次:          必修/选修:必修          

《软件测试》实验三 白盒测试

1. 计算整数X和整数Y的最大公约数 请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名.在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数.利用FindBugs查找程序中是否存在bug. import java.util.Scanner; public class Demo {     public void compare(int a,int b){ int i = a>b?a:b; for(;i>0;i--){ if(a%i

《软件测试》实验四:白盒测试

一.找出函数中存在的问题. 1. 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp).游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome.jsp). 要求:找出UserOperation.java文件中的getUserRole ()方法存在的问题,说明问题产生