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

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==0&&b%i==0){

System.out.println("a、b的最大公约数为"+i);

break;

}

}

return;

}

    public static void main(String[] arg){

Demo demo = new Demo();

System.out.println("请输入a:");

Scanner num1 = new Scanner(System.in);

int a=num1.nextInt();

System.out.println("请输入b:");

Scanner num2 = new Scanner(System.in);

int b=num2.nextInt();

demo.compare(a, b);

}

}

2、 逻辑覆盖的应用

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

语句覆盖:

X Y 路径
3 2 abc
5 0 aef
4 0 aeg

分支覆盖:

X Y 路径
3 2 abc
3 1 abd
5 0 aef
4 0 aeg

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

public class Demo {

    public void demo(int x,int y){

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

if(y>1){

y=y+1;

System.out.println("X="+x+",Y="+y);

}

else{

System.out.println("X="+x+",Y="+y);

}

}

else{

if(x>=5){

x=x-y;

System.out.println("X="+x+",Y="+y);

}

x=x+y;

System.out.println("X="+x+",Y="+y);

}

}

}

测试用例:

import static org.junit.Assert.*;

import org.junit.Test;

public class DemoTest {

public static void main(String[] args){

Demo demo =new Demo();

demo.demo(3,2);

demo.demo(3,1);

demo.demo(5,0);

demo.demo(4,0);

}

}

时间: 2024-10-28 22:40:09

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

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

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

实验三 白盒测试

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

《软件测试》实验三

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

实验三 、进程调度模拟程序

实验三.进程调度模拟程序 专业 网络工程   姓名 方俊晖 学号 201406114309 一.        实验目的 通过本实验可以加深对有关进程控制块.进程队列的概念的进一步理解. 二.        实验内容和要求 1.进程PCB的结构体定义 2.定义结构体 3.输入进程序列 4.排序(按到位时间) 5.输出进程运行的结果 三.        实验方法.步骤及结果测试 #include<stdio.h> #include<stdlib.h> #include<stri

实验三 进程调度模拟程序

一.实验目的 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解.     二.实验内容和要求 设计一个有 N个进程并发执行的进程调度模拟程序. 进程调度算法:采用最高优先级优先的调度算法(即把处理机分配给优先级最高的进程)和先来先服务(若优先级相同)算法.动态优先数是指进程的优先数在创建进程时可以给定一个初始值,并且可以按一定规则修改优先数.例如:在进程获得一次CPU后就将其优先数减少1,并且进程等待的时间超过某一时限(2个时间片时间)时增加其优先数等. (1).  每个进

实验三&#160;进程调度模拟程序

实验三 进程调度模拟程序 专业:物联网工程   姓名:黄淼  学号:201306104145 一. 实验目的和要求 目的: 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 实验要求 设计一个有 N(N不小于5)个进程并发执行的进程调度模拟程序. 进程调度算法:“时间片轮转法”调度算法对N个进程进行调度. 二.实验内容 完成两个算法(简单时间片轮转法.多级反馈队列调度算法)的设计.编码和调试工作,完成实验报告. 1) 每个进程有一个进程控制块(PCB)表示.进程控制块包含

实验三+158+余超勇

实验三 功能性测试用例设计(4学时) 一.实验目的 掌握黑盒测试用例设计方法 二.实验要求 (1)对被测程序进行黑盒测试用例设计. (2)运用等价类.边界值.决策表.状态图法等进行测试用例设计. (3)对手机上任意一款音乐软件进行黑盒测试实践. 三.实验内容 1.对被测程序运用不同的测试技巧进行测试用例设计,并执行测试,撰写测试小结. 要求写出测试用例表.执行情况和测试小结. 测试连接:http://www.cnblogs.com/5257yu/p/6838362.html 2.对手机上任意一款

MySQL数据库实验三:连接查询

实验三    连接查询 实验名称:连接查询(2课时) 一.实验目的 理解JOIN语句的操作和基本使用方法,掌握内连接.外连接.自身连接的概念和使用. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1. 查询每个学生及其选修课程的情况 SELECT  Student.*,SC.* FROM     Student,SC WHERE  Student.Sno = SC.Sno: 2.检索至少选修课程号为C2和C4的学生学号 SELECT X.S# FROM SC

20145301&amp;20145321&amp;20145335实验三

20145301&20145321&20145335实验三 这次实验我的组员为:20145301赵嘉鑫.20145321曾子誉.20145335郝昊 实验内容详见:实验三