【软件测试】闰年问题(不考虑非法输入)

  • 问题描述

    • 输入年份,输出输入年份是否为闰年(不考虑非法输入)
    • 一个年份是闰年的条件是:
      • 该年份能被4整除但是不能被100整除或
      • 该年份能被400整除
  • 代码实现

import javax.swing.JOptionPane;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;

public class task extends Application {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        task.launch( args );
    }

    private TextField textfield = new TextField();

    @Override
    public void start(Stage arg0) throws Exception {
        // TODO Auto-generated method stub
        arg0.setTitle( "Testing" );

        HBox hbox = new HBox( 8 );
        textfield.setPrefColumnCount( 25 );
        hbox.setAlignment( Pos.CENTER_LEFT );
        Button btn = new Button();
        btn.setText( "提交" );
        btn.setOnAction( new Listener() );
        hbox.getChildren().addAll( new Label( "  请输入年份: "), textfield, btn );

        arg0.setScene( new Scene( hbox, 460, 50 ));
        arg0.show();
    }

    public class Listener implements EventHandler<ActionEvent> {

        @Override
        public void handle(ActionEvent arg0) {
            // TODO Auto-generated method stub
            String str = textfield.getText();
            String inf = "";
            if( isLeap( Integer.parseInt( str ) ) ) {
                inf = "输入年份为闰年";
            }
            else {
                inf = "输入年份非闰年";
            }

            JOptionPane.showMessageDialog( null, inf, "information",
                    JOptionPane.INFORMATION_MESSAGE );
        }
    }

    private boolean isLeap( int year ) {
        if( year % 4 != 0 ) {
            return false;
        }
        else if( year % 100 != 0 ) {
            return true;
        }
        else if( year % 400 != 0 ) {
            return false;
        }
        else {
            return true;
        }
    }
}
  • 测试用例
编号 输入   预测输出
1 1963 不能被4整除 输入年份非闰年
2 1964 能被4整除但是不能被100整除 输入年份为闰年
3 1900 能被4整除能被100整除但是不能被400整除 输入年份非闰年
4 2000 能被400整除 输入年份为闰年
  • 测试结果

时间: 04-04

【软件测试】闰年问题(不考虑非法输入)的相关文章

【软件测试】考虑闰年问题中的非法输入

问题提出 在上一篇中提到了闰年问题的实现以及测试,但是在上篇中并没有提及输入框中如果输入非法输入会发生什么问题 观察如下,当我们在输入框中输入"ab"时: 会出现下面java.lang.NumberFormatException: java.lang.NumberFormatException: For input string: "ab" at java.lang.NumberFormatException.forInputString(Unknown Sourc

JAVA闰年测试与解决非法输入

问题实现 实现一个闰年测试的JAVA代码如下: package leapyear; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextFi

关于软件测试(4):闰年输入的判断以及非法输入的处理测试

针对这周的软件测试课程,讲解了非法输入的不正当处理会对程序造成不必要的损失,因此通过简单的闰年检测程序来处理关于闰年测试的非法输入. 一.需求分析 要求输入框输入年份,点击按钮,出现提示.并能有效的处理任何输入 二.测试用例 内容 取值 预期结果 被400整除 2000 是闰年 被100整除但不被400整除 1900 不是闰年 被4整除且不被100整除 1904 是闰年 不被4整除 1901 不是闰年 非数字字符 abc 非法输入 负数 -1234 非法输入 小数 2000.5 非法输入 空字符

闰年测试(非法输入的判断)

1. 问题描述: 输入一个年份,判断其是否为闰年,若为非法输入则给出提示 2. 问题分析: 闰年的判断: 1)输入一个年份,若它能被400整除,则它是闰年:若它能被4整除,且它不能被100整除,则它是闰年 由此判断,若它是闰年,则输出“该年是闰年”:否则,则输出“该年不是闰年” 2)若为非法输入,给出提示,则输出“输入不合法” 3. 测试用例: 编号 输入 期望输出 1 2004 该年是闰年 2    2000 该年是闰年 3 1900 该年不是闰年 4 200,. 输入不合法 4. 测试结果:

[软件测试学习]考虑到测试的代码编写/int.parse的非法输入—由一个简单的c#闰年检测程序说起

一个简单的C#的闰年检测程序 1.闰年检测的函数编写 当提起检测平年闰年时候,第一反应写出的代码 1 public static bool isLeapYear(int year){ 2 return ((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)) 3 } 但是这个并不易于测试和出现错后的修改,更改代码如下 1 public static bool isLeapYear(int year){ 2 bool check = ne

软件测试第四周--闰年问题的非法输入处理

闰年的判断条件: ①.普通年能被4整除且不能被100整除的为闰年.②.世纪年能被400整除的是闰年③.对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年.如172800年是闰年,86400年不是闰年 测试用例: 编号 输入 输出 1 2004 此年是闰年 2 2008 此年是闰年 3 2000 此年是闰年 4 1999 此年非闰年 5 1998 此年非闰年 6 -1200 非法输入 基本逻辑:#include<stdio.h>void main(){ int year,

关于闰年测试中非法输入的处理

在软件测试技术课当中我们进行了关于闰年的测试,闰年的测试方法如下所示: public static boolean isLeapYear(int year)        {             if (year % 400 == 0)                return true;             if (year % 100 == 0)                return false;             if (year % 4 == 0)         

闰年的非法输入的问题

1.问题描述 输入年份,判断其是否为闰年. 2.判断条件 1)能被4整除且不能被100整除的为闰年. 2)能被100整除且被400整除的为闰年. 3.等价类划分 编号 有效等价类 编号 无效等价类 1 能被400整除 3 能被100整除不能被4整除   2 能被4整除不能被100整除 4 不能被4整除 5 非法输入(包括负数) 4.测试用例 编号 输入 覆盖等价类 输出 1 1600 1 1600是闰年 2 2012 2 2012是闰年 3 1700 3 1700非闰年 4 2014 4 201

对于非法输入的处理

这周的<软件测试技术>,我们又再次提起了“闰年问题”,至于如何判断闰年详见http://www.cnblogs.com/xlwm/p/4337150.html,在这里我们重点探讨下关于非法输入的问题.众所周知,在功能完备的软件里,应该全面地考虑到用户输入问题.而如果没有考虑,用户的非法输入可能会导致软件崩溃,甚至产生不可预料的后果.常见的处理方法,就是针对程序产生的exception进行try-catch,下面我们针对闰年问题来详细介绍: 一.问题描述: