博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第二次作业+105032014065
阅读量:6937 次
发布时间:2019-06-27

本文共 2100 字,大约阅读时间需要 7 分钟。

一、测试帖链接

二、测试人员提出的问题和发现的缺陷

用例:1900年2月2日年份超出了范围,但还是没有停止计算。

三、修正后的代码清单

package examOne;import java.util.Scanner;public class Date {	String ia, ib, ic;	int y, m, d;	private boolean Read(){		Scanner sc = new Scanner(System.in);		System.out.println("请输入年份");		ia = sc.nextLine();		if( "-1".equals(ia) ){			sc.close();			return false;		}		System.out.println("请输入月份");		ib = sc.nextLine();		System.out.println("请输入日期");		ic = sc.nextLine();		return true;	}		private boolean isInputInteger(){		try{			y = Integer.valueOf(ia).intValue();			m = Integer.valueOf(ib).intValue();			d = Integer.valueOf(ic).intValue();			return true;		}		catch( Exception e){			System.out.println("输入不符合要求,请输入三个整数");			return false;		}	}		private boolean isInRange(){		if( m < 1 || m > 12 ){			System.out.println("月份超出范围");			return false;		}		if( d < 1  || d > 31 ){			System.out.println("日期超出范围");			return false;		}		if( y < 1912 || y > 2050 ){			System.out.println("年份超出范围");			return false;		}		return true;	}		private int isLeapYear(){		if( ( y % 4 == 0 && y % 100 != 0 ) || ( y % 400 == 0 ) ){			return 1;		}		return 0;	}		private boolean EndOfMouth( int flg ){		if( ( m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12 ) && d == 31 ){	        return true;	    }	    if( m == 2 && d == (28 + flg) ){	        return true;	    }	    if( ( m == 4 || m == 6 || m == 9 || m == 11 ) && d == 30 ){	        return true;	    }	    return false;	}		private String NextDate(){		int tag = 0;		if( EndOfMouth( isLeapYear() ) ){			tag = 1;		}		if( m == 12 && tag == 1 ){			y++;			m = 1;			d = 1;		}		else if( tag == 1 ){			m++;			d = 1;		}		else{			d++;		}		String ret = y + "年" + m + "月" + d + "日";		return ret;	}		public static void main( String args[]){		Date solve = new Date();		while( solve.Read() ){			if( solve.isInputInteger() && solve.isInRange() ){				System.out.println( solve.NextDate() );			}		}	}}

四、修正后心得体会:

  将C++代码转变为JAVA代码,主逻辑不变。针对注释不够的问题,新版的代码采用了变量名代表注释的方式,帮助读者读懂代码

  缺陷出现的原因:在逻辑判断的过程中,漏break,自己构造的测试样例并没有测出对应结果

  通过这部分教材的学习,了解了软件测试的一些简答测试方式和测试采用思路。

转载于:https://www.cnblogs.com/Tichocan/p/6610631.html

你可能感兴趣的文章
变长参数列表函数
查看>>
你知道输出结果么?
查看>>
CI批量更新$this->db->update_batch();
查看>>
USB学习笔记连载(十六):USB数字签名
查看>>
android 自定义AlertDialog(一段)
查看>>
Git - 操作指南
查看>>
jstorm简介(转)
查看>>
Spark&Hadoop:scala编写spark任务jar包,运行无法识别main函数,怎么办?
查看>>
Kafka Java API操作topic
查看>>
Starting vsftpd for vsftpd: [FAILED]问题的解决
查看>>
tomcat 使用log4j进行日志切割
查看>>
Python之关于量化投资实现代码--根据策略提出的代码--还未完善
查看>>
动手解决困扰自己的事情——记屏蔽网页广告
查看>>
mvn -DskipTests和-Dmaven.test.skip=true区别
查看>>
代码保存、配色、公布-总体方案----一段代码的公布
查看>>
整理/总结/规划
查看>>
异步请求数据加载到表格后根据不同状态改变表格背景颜色【表格背景色】
查看>>
分享基于Qt5开发的一款故障波形模拟软件
查看>>
【intellij】intellij idea 建立与src级别的目录
查看>>
欢迎来到Hadoop
查看>>