软件测试------判断闰年的输入框

1.题目要求

坐在最后一排看的不是很清楚,貌似老师给了个能判断闰年的输入框,然后问大家输入abcd会怎么样,结果是报错了。

我们的任务是把这个判断闰年的输入框搞出来并且让这个系统可以handle非法的输入。

2.实现方法

实现方法再续前缘(html+servlet),关键代码如下:

 1      PrintWriter out = response.getWriter();
 2         String tmp = request.getParameter("year");
 3         out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
 4         out.println("<html>");
 5         out.println("<head>");
 6         out.println("<title>检查结果</title>");
 7         out.println("</head>");
 8         out.println("<body>");
 9         if(checkInput(tmp)){
10             if(isLeapYear(Integer.parseInt(tmp))){
11                 out.println(tmp+" 是闰年");
12             }else{out.println(tmp+" 不是闰年");}
13         }else{out.println("输入不合法,请点击返回重试");}
14         out.println("<button><a href=\"/UserForm/leapYear.jsp\">返回</a></button>");
15         out.println("</body>");
16         out.println("</html>");
17         out.flush();
18
19 public boolean checkInput(String tmp){
20         Pattern pattern = Pattern.compile("([0-9]){4}");
21         Matcher matcher = pattern.matcher(tmp);
22         boolean ok = matcher.matches(); //当条件满足时,将返回true,否则返回false
23         return ok;
24     }
25
26 public boolean isLeapYear(int year){
27         return (year % 400 == 0)||(year % 4 == 0 && year % 100 != 0);
28     }

3.测试

首先先完成题目的要求,看过上面的代码可以知道,模式匹配可以准确的过滤掉非法的输入,如题目中的abcd,

这样判断闰年时调用parseInt()就不会出现不能转化的情况,也就不会报出exception。

    

接下来为了考虑周全,给出一些测试用例

1.存在空输入

系统会提示用户对年份输入

2.输入为数字却长度不合适

     

3.当存在非数字输入时见上“abcd”示例

4.能被400整除的年份

    

5.不能被400整除,能被4整除,却又不被100整除的年份

    

6.不能被400整除,不能被4整除的年份

    

7.不能被400整除,能被4整除,又被100整除的年份

    

4.结果分析

测试时用到了白盒测试的路径覆盖,感觉系统的学习软件测试可以让测试更井井有条,减少疏漏。

 

时间: 2024-11-09 00:16:20

软件测试------判断闰年的输入框的相关文章

软件测试-4 判断闰年的程序以及防止输入非法字符

一.题目 判断所输入的年份是否是闰年 二.程序实现 我继续使用javascript+HTML来实现: 不考虑异常的输入,判断闰年的程序如下: function isLeapYear( y ){ return ( y % 400 == 0 ) || ( y % 4 == 0 && y % 100 != 0 ); } 但是在实际使用时必须考虑是否有异常输入,所以我可以在调用该函数前检测一下输入,保证输入是合法的: function isInt(input){ var reg = /^[0-9]

c判断闰年

编写程序判断输入的年份是闰年还是平年. 闰年的判断准则是:1.能被4整除且不能被100整除的为闰年,2.或者是能被400整除. 代码如下: 1 //判断闰年 2 #include<iostream> 3 using namespace std; 4 5 int main() 6 { 7 int year; 8 cout << "输入年份" << endl; //输入需判断的年份 9 cin >> year; 10 if (year % 4

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

if语句判断闰年、平年

 一.让用户输入一个年份,判断是否是闰年. 判断一个年份是否是闰年有两个条件 ①能被400整除:②能被4整除但是不能被100整除 Console.WriteLine("请输入年份:"); int nian = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入月份:"); int yue = Convert.ToInt32(Console.ReadLine()); Console.WriteLine

JavaScript判断闰年

<html><head>   <meta http-equiv="content-type" content="text/html;charset=gb2312">   <title>判断闰年_www.jbxue.com</title>   <script type="text/javascript" languge="javascript">    //

判断闰年C语言版

1 #include<stdio.h> 2 int isLeap(int year) { 3 // 必须先判断是平年的情况 后判断闰年的情况 4 if((year%100==0 && year%400!=0) || year%3200==0) { 5 // 能被100整除并且不能被400整除的不是闰年 6 // 能被3200整除的不是闰年 7 return 0; 8 } else if(year%4==0 && year%100!=0) { 9 // 能被4整除

php判断闰年

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>闰年</title> </head> <body> <form method="post" action="" onsubmit="return fullEmpty()"> <input ty

判断闰年的思路

判断闰年的思路是:指定的年份是否能被4整除且不能被100整除,或能被100整除且能被400整除,根据这两种规则. eg: Public boolean  isLeapYear(String year){ if( ((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0) ){ return true; }else{      return false;   } }

17:判断闰年

团队QQ:466373640个人博客:www.doubleq.winc++/noi/信息学奥数博客:http://www.cnblogs.com/zwfymqz17:判断闰年 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 判断某年是否是闰年. 输入 输入只有一行,包含一个整数a(0 < a < 3000) 输出 一行,如果公元a年是闰年输出Y,否则输出N 样例输入 2006 样例输出 N 提示 公历纪年法中,能被4整除的大多是闰年,但能被100整除而不能