白盒测试题一

这篇具有很好参考价值的文章主要介绍了白盒测试题一。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

白盒测试题集一

第一题

1.下列流程图中变量a、b、c、d均为非负整数,编写程序实现相应分析处理,并设计测试数据进行语句覆盖测试。要求a、b、c、d取最小可能值。
题目1:根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算,# 白盒测试,java,jvm,c++

代码如下:

import java.util.*;
public class Ti1{
	private static int Y;
	public static void main(String[] args){
		int a,b,c,d;	
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入a,b,c,d以空格隔开:");
		a=sc.nextInt();
		b=sc.nextInt();
		c=sc.nextInt();
		d=sc.nextInt();
		if(a>0 && b>0 && c>0 && d>0){
			if((a>12 && b<13) && (c>4 || d<20)){
				compute_Y_One(a,b,c,d);
				System.out.println(Y);
			}else{
				compute_Y_Tow(a,b,c,d);
				System.out.println(Y);
			}
		}else{
			System.out.println("您输入的变量不为非负整数");
		}
		
	}
	public static void compute_Y_One(int a,int b,int c,int d){
		Y=3*a+10*b+5*d-c;
	}
	public static void compute_Y_Tow(int a,int b,int c,int d){
		Y=10*d-(a+b)*c/5;
	}
}

第二题

2.根据流程图编写程序实现相应分析处理,并设计测试数据进行语句覆盖测试。执行算式输出文字“算式一值:”和c的值,执行输出文字“算式二值:”和c的值;执行输出文字“算式三值:”和c的值。要求变量a、b均为非0的整数,且为正整数时取值尽可能小,为负整数时取值尽可能大。
代码如下:

import java.util.*;
import java.lang.*;
public class Ti2{
	private static double c;
	public static void main(String[] args){
		int a,b;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入a和b用空格隔开:");
		a=sc.nextInt();
		b=sc.nextInt();
		if(a>0 && b>0){
			computeOne(a,b);
			System.out.println(c);
		}else if(a<0 && b<0){
			computeTow(a,b);
			System.out.println(c);
		}else{
			computeThere(a,b);
			System.out.println(c);
		}
	}
	public static void computeOne(int a,int b){
		c=Math.sin(a+b*10);
	}	
	public static void computeTow(int a,int b){
		c=Math.pow(a*b,3);
	}
	public static void computeThere(int a,int b){
		c=Math.pow(a-b,2);
	}
}

第三题

3.根据下列流程图编写程序实现相应处理,并设计测试数据进行判定覆盖。输入数据打印出“输入x值:”、“输入y值:”。
题目1:根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算,# 白盒测试,java,jvm,c++
代码如下:

import java.util.*;
public class Ti3{
	private static double j;
	public static void main(String[] args){
		double x,y;
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入x和y的值用空格隔开:");
		x=sc.nextDouble();
		y=sc.nextDouble();
		System.out.println("输入x值:"+x+",输入y值:"+y);
		if(x>60 && y<35){
			computeOne(x,y);	
			System.out.println(j);
		}else if(x==25 && y>50){
			computeTow(x,y);
			System.out.println(j);
		}else{
			computeThere(x,y);
			System.out.println(j);
		}
	}
	public static void computeOne(double x, double y){
		j=10*x-y;
	}
	public static void computeTow(double x, double y){
		j=y*Math.log(x+10); 
	}
	public static void computeThere(double x, double y){
		j=(x-y)*(Math.pow(10,5)%7);
	}
}

第四题

4.进行系统注册时通常需要输入用户名和密码,其中用户名要求由8个字母字符组成、密码由6个(含6)以上数字字符组成。满足要求,则提示“注册成功”,否则根据实际情况提示“**不符合要求”(**为用户名或密码)。编写程序实现注册信息的输入,并设计测试数据进行语句覆盖测试。输入数据打印出“输入用户名:”、“输入密码:”。
代码如下:

import java.util.*;
public class Ti4{
	private static String regUser="^[a-zA-Z]{8}$";
	private static String regPassword="^[0-9]{6,}$";
	private static boolean bool;
	public static void main(String[] args){
		String user,password;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入user:");
		user=sc.nextLine();
		System.out.println("输入password:");
		password=sc.nextLine();
		System.out.println("输入用户名:"+user+",输入密码:"+password);
		if(boolUser(user)){
			if(boolPassword(password)){
				System.out.println("注册成功");
			}else{
				System.out.println("密码不符合要求");
			}
		}else{
			System.out.println("账号不符合要求");
			if(!(boolPassword(password))){
				System.out.println("密码不符合要求");
			}
		}
	}
	public static boolean boolUser(String user){
		if(user.matches(regUser)){
			bool=true;
		}else{
			bool=false;
		}
		return bool;
	}
	public static boolean boolPassword(String password){
		if(password.matches(regPassword)){
			bool=true;
		}else{
			bool=false;
		}
		return bool;
	}
}

第五题

5.填写快递单时通常需要确定接收人的姓名、手机号和地址。其中要求手机号是11位数字字符,地址为字母开头的10个(含10)以内字母或字母数字共同组成。填写正确则提示“OK”,否则根据实际情况提示“**不符合要求”(**为手机号或地址),退出。编写程序实现此快递单信息的输入,并设计测试数据进行判定覆盖测试。输入数据打印出“输入手机号:”、“输入地址:”。
代码如下:

import java.util.*;
public class Ti5{
	private static String regPhone="^[0-9]{11}$";
	private static String regId="^[a-zA-z]{1}[a-zA-Z0-9]{0,9}$";
	private static boolean bool;
	public static void main(String[] args){
		String phone,id;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入phone:");
		phone=sc.nextLine();
		System.out.println("输入id:");
		id=sc.nextLine();
		System.out.println("输入手机号:"+phone+",输入地址:"+id);
		if(boolPhone(phone)){
			if(boolId(id)){
				System.out.println("OK");
			}else{
				System.out.println("地址不符合要求");
			}
		}else{
			System.out.println("手机号不符合要求");
			if(!(boolId(id))){
				System.out.println("地址不符合要求");
			}
		}
	}
	public static boolean boolPhone(String phone){
		if(phone.matches(regPhone)){
			bool=true;
		}else{
			bool=false;
		}
		return bool;
	}
	public static boolean boolId(String phone){
		if(phone.matches(regId)){
			bool=true;
		}else{
			bool=false;
		}
		return bool;
	}
}

第六题

6.根据下列流程图编写程序实现相应分析处理并显示结果,并设计测试数据进行语句覆盖测试。输入数据打印出“username:”、“password:”。输出文字内容。
题目1:根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算,# 白盒测试,java,jvm,c++
代码如下:

import java.util.*;
public class Ti6{
	private static boolean bool;
	public static void main(String[] args){
		String username,password;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入username:");
		username=sc.nextLine();
		System.out.println("输入password:");
		password=sc.nextLine();
		if(bool(username) && bool(password)){
			if(username.equals("admin") && password.equals("123") ){
				System.out.println("登录成功");
			}else if(!username.equals("admin") && password.equals("123")){
				System.out.println("请输入正确的用户名");
			}else if(username.equals("admin") && !password.equals("123")){
				System.out.println("请输入正确的密码");
			}else if(!username.equals("admin") && !password.equals("123")){
				System.out.println("请输入正确的用户名和密码");
			}
		}else{
			System.out.println("用户名或密码不能为空");
		}
	}
	public static boolean bool(String value){
		if(value == null || value.length()==0){
		  	bool=false;
		}else{
			bool=true;
		}
		return bool;
	}
}

第七题

7.根据输入的年份和月份判断月份的天数,并设计测试数据进行语句覆盖测试。若月份不在有效范围之内,应提示:“月份输入不正确。”。月份不为2月,根据输入月份输出对应的月份天数。月份为2月,根据年份判断如为普通闰年,输出2月份正确天数;如为世纪闰年,输出2月份正确天数;不为闰年输出2月份天数。输入数据打印出“输入年:”、“输入月:”;输出内容格式:“year年month月份的天数是days天。”year、month为输入的值,days为判断得到的天数值。其中变量year、month均须为正整数。
代码如下:

import java.util.*;
public class Ti7{
	public static void main(String[] args){
		int year,month,days;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入year:");
		year=sc.nextInt();
		System.out.println("输入month:");
		month=sc.nextInt();
		System.out.println("输入年:"+year+"输入月:"+month);
		if(year>0 ){
			if(month>0 && month <13){
				if(month ==2){
					if((year%4==0 && year%100!=0) || (year%400==0)){
						days=29;
						System.out.println(year+"年"+month+"月份的天数是"+days+"天");
					}else{
						days=28;
						System.out.println(year+"年"+month+"月份的天数是"+days+"天");
					}
				}else if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
						days=31;
						System.out.println(year+"年"+month+"月份的天数是"+days+"天");
					
				}else{
						days=30;
						System.out.println(year+"年"+month+"月份的天数是"+days+"天");
				}
			}else{
				System.out.println("月份输入不正确");
			}
			
		}
	}
}

第八题

8.根据输入的三条边值判断能组成何种三角形,并设计测试数据进行判定覆盖测试。三条边为变量a、b、c,范围为1≤边值≤10,不在范围内,提示“输入边值不在范围内,请重新输入”。不满足任意两边之和必须大于第三边,提示“输入边值不能组成三角形”。输入边值能组成三角形,只有2条边相同,显示“能组成等腰三角形”;三条边相等,显示“能组成等边三角形”;边值不满足特殊三角形显示“能组成普通三角形”。
代码如下:

import java.util.*;
public class Ti8{
	public static void main(String[] args){
		int a,b,c;
		Scanner sc=new Scanner(System.in);
		a=sc.nextInt();
		b=sc.nextInt();
		c=sc.nextInt();
		if(a>=1 && a<=10){
	 		if(a+b>c || a+c>b || b+c>a){
				if( (a==b && a!=c) || (a==c && a!=b) || (b==c && b!=a) ){
					System.out.println("能组成等腰三角形");
				}else if(a==b && a==c){
					System.out.println("能组成等边三角形");
				}else{
					System.out.println("能组成普通三角形");
				}
			}else{
				System.out.println("输入边值不能组成三角形");
			}
		}else{
			System.out.println("输入边值不在范围内,请重新输入");
		}
	}
}

第九题

9.根据下列流程图编写程序实现相应分析处理并显示结果,并设计最少的测试数据进行判定条件覆盖测试。输入数据打印出“输入x值:”、“输入y值:”。输出文字“a的值:”和a的值;输出文字“b的值:”和b的值;输出文字“c的值:”和c的值;输出文字“d的值:”和d的值;其中变量x、y均须为整型。
题目1:根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算,# 白盒测试,java,jvm,c++
代码如下:

import java.util.*;
public class Ti9{
	public static void main(String[] args){
		int x,y;
		double a,b,c,d;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入x:");
		x=sc.nextInt();
		System.out.println("输入y:");
		y=sc.nextInt();
		System.out.println("输入x值:"+x+"输入y值:"+y);
		if(x>9 && y<4){
			if(x>20 || y>10){
				c=Math.sin(x+y);
				System.out.println(c);
			}else{
				d=Math.pow(x+y,5);
				System.out.println(d);
			}
		}else{
			if(x>0 || y>0){
				a=Math.pow(x,y);
				System.out.println(a);
			}else{
				b=y+x;
				System.out.println(b);
			}
		}
	}
}

第十题

10.根据下列流程图编写程序实现相应分析处理并显示结果,并设计最少的测试数据进行语句覆盖测试。输入数据打印出“输入x值:”、“输入y值:”。输出文字“a=x:”(x为2、3或4);其中变量x、y均须为整型。
题目1:根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算,# 白盒测试,java,jvm,c++
代码如下:

import java.util.*;
public class Ti10{
	public static void main(String[] args){
		int x,y,a;
		Scanner sc=new Scanner(System.in);
		System.out.println("输入x:");
		x=sc.nextInt();
		System.out.println("输入y:");
		y=sc.nextInt();
		System.out.println("输入x值:"+x+"输入y值:"+y);
		if(x>=80 && y>=60){
			if(!(x>=90 || y>=90)){
				a=2;
				System.out.println("a="+a);
			}
		}else if(x<=70 || y<=70){
			a=3;
			System.out.println("a="+a);
		}else{
			a=4;
			System.out.println("a="+a);
		}
	}
}

第十一题

11.根据下列流程图编写程序实现相应分析处理,并设计最少的测试数据进行判定条件覆盖测试。输入数据打印出“输入a值:”、“输入b值:”、“输入c值:”、“输入d值:”。x执行结果输出文字“x的值:”和x的值,y执行结果输出文字“y的值:”和y的值;z执行结果输出文字“z的值:”和z的值。其中变量a、b、c、d均须为整型。
题目1:根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算,# 白盒测试,java,jvm,c++

代码如下:

import java.util.*;
import java.lang.*;
public class Ti11{
	private static double x,y,z;
	public static void main(String[] args){
		int a,b,c,d;	
		Scanner sc=new Scanner(System.in);
		System.out.println("输入a:");
		a=sc.nextInt();
		System.out.println("输入b:");
		b=sc.nextInt();
		System.out.println("输入c:");
		c=sc.nextInt();
		System.out.println("输入d:");
		d=sc.nextInt();
		System.out.println("输入a值:"+a+"输入b值:"+b+"输入c值:"+c+"输入d值:"+d);
		if(a>5 || b>10){
			computeOne(a,b);
			System.out.println("x的值:"+x);
		}else if(c==0 && d>0){
			computeTow(c,d);
			System.out.println("y的值:"+y);
		}else{
			computeThere(c,d);
			System.out.println("z的值:"+z);
		}
	}
	public static void computeOne(int a,int b){
		x=Math.pow(a,2)*b;
	}
	public static void computeTow(int c,int d){
		y=Math.sqrt(c+d);
	}
	public static void computeThere(int c,int d){
		z=Math.sin(Math.pow(c,d));
	}
	
}

第十二题

12.根据下面的要求编写程序实现并设计测试数据进行条件覆盖测试,输入小写的字符串,输入数据打印出“输入字符串:”。如字符串前缀为ab开头,则将前缀ab替换为ef并打印出替换后字符串,输出文字“替换前缀后的字符串为:”和替换后字符串值;如后缀为cd并且前缀不为ab,替换字符串中所有cd的为gh并打印出替换后字符串,输出文字“替换cd后的字符串为:”和替换后字符串值;否则全部字母大写输出,输出文字“大写字母的字符串为:”和转换后的字符串值。
代码如下:文章来源地址https://www.toymoban.com/news/detail-768957.html

import java.util.*;
public class Ti12{
	private static String regOne="^ab[a-zA-Z]*$";
	private static String regTow="^[a-zA-Z]*cd$";
	public static void main(String[] args){
		String str;
		Scanner sc =new Scanner(System.in);
		str=sc.next();
		if(str.matches(regOne)){
			str=str.replaceFirst("ab","ef");
			System.out.println("替换前缀后的字符串为:"+str);
		}else if(str.matches(regTow)){
			str=str.replace("cd","gh");
			System.out.println("替换cd后的字符串为:"+str);
		}else{
			str=str.toUpperCase();
			System.out.println("大写字母的字符串为:"+str);
		}
	}
}

到了这里,关于白盒测试题一的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring测试题及答案

    1 : 下面关于“依赖注入”的说法,错误的是(D) A. 将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中 B. 降低了组件间的耦合,使程序更容易维护和升级 C. 促进了“面向接口编程”,使构建大规模程序更轻松 D. 需要定义大量接口,增加编码复杂度 2 :

    2024年02月13日
    浏览(39)
  • Hive期末测试题(头歌)

    第1关:计算“Bad Boys (1995)”这部电影的评分次数 第2关:统计每年的电影评分次数 使用Hive的字符串函数来处理这个问题。 这个查询首先从电影名称中提取出年份,然后根据年份对电影评分进行分组统计。 第3关:统计不同性别的观影用户1995年评论电影次数 对比不同性别的观

    2024年04月23日
    浏览(44)
  • 国家开放大学统一考试 测试题

    试卷代号:2668 人员招聘与培训实务     参考试题 1.“人尽其才,才尽其用”主要表现了人力资源管理哪一方面的工作内容?(    )     A.组织结构的设计                        B.人力资源规划的制定     C.人员的甄选与使用                     

    2024年02月09日
    浏览(35)
  • Python 基础测试题(含答案)

    A、 1_a B、 for C、 年龄 D、 a#b A、 char B、 int C、 float D、 str A、 with B、 int C、 del D、 for A、 3 B、 4 C、 True D、 False A、 “500/10” B、 500/10 C、 50 D、 50.0 A、 bc B、 bcd C、 cd D、 cde A、 split B、 strip C、 join D、 len A、 continue B、 pass C、 break D、 exit A、 a[3] B、 a[-3] C、 a[2] D、 a[-2]

    2024年02月08日
    浏览(42)
  • Office办公软件测试题

    一、单选题 1.要将一篇文档中,所有的\\\"微软\\\"都被录入员误输为\\\"徽软\\\",如何最快捷地改正()。 A.用[定位]命令 B.用[开始]菜单中的[替换]命令 C.单击[复制],再在插入点单击[粘贴] D.用插入光标逐字查找,分别改正 2.在表格中一次性插入3行,正确的方法是()。 A.选择[表格

    2024年02月11日
    浏览(54)
  • c语言经典测试题2

    1.题1 我们来思考一下它的结果是什么? 我们来分析一下:\\\\是转义为字符\\\'\\\',123表示的是一个八进制,算一个字符,t算一个字符,加上\\0,应该有13个,但是strlen只计算\\0前的字符个数。所以结果应该是12.我们来看看:  2.题2 大家来思考一下结果是什么呢? 我们来分析一下

    2024年02月22日
    浏览(36)
  • HCIA-AI V3.5华为认证人工智能工程师在线课程章节测试题+结课测试题汇总

    章节测试题: 第1章 人工智能概览 1、以下属于人工智能的应用方向的有哪些选项? A.计算机视觉 B.自然语言处理 C.语音处理 D.智慧城市 正确答案:ABCD 2、人工智能的三大主要学派,包括: A.符号主义 B.连接主义 C.行为主义 D.行动主义 正确答案:ABC 3、当前人工智能的发展属于

    2024年02月04日
    浏览(51)
  • Python测试题——学习通(高校邦)

    项目一: 1.判断 在Python中可以使用if作为变量名。 对           √ 错 2.判断 Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型 对           √ 错 3.单选 python程序文件的扩展名是   A. python √  B. py   C. pt   D. pyt 4.单选 Python语言采用严格

    2024年02月08日
    浏览(41)
  • C语言测试题(附有详细解析)

    1.运行结果是啥? fib函数每递归一次cnt就+1 fib就是把大于等于1的数拆成两个数之和,也就说只要fib的变量不是0或1,他就要拆一次,挨着数出来就行了 结果是67 2.这个代码的运行结果是? x后置++,第一次先打印1 然后x变成了2进入判断语句进行判断,判断的时候用的是2 后置

    2024年01月22日
    浏览(41)
  • C语言阶段性测试题

    大家好,我是深鱼~ 【前言】:本部分是C语言初阶学完阶段性测试题,最后一道编程题有一定的难度,需要多去揣摩,代码敲多了,自然就感觉不难了,加油,铁汁们!!! 1.下面程序执行后,输出的结果为() 【解答】:67 函数递归的问题:进入一次fib函数,cnt++,要 算

    2024年02月14日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包