栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

黑盒测试不能发现(黑盒测试白盒测试)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

黑盒测试不能发现(黑盒测试白盒测试)

黑盒测试日期问题。
应用等价类和边界值法设计测试用例进行程序测试:该程序有三个输入变量
month、day、year(month 、 day 和 year 均为整数值,并且满足:1≤month≤12 和 1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期 在日历上隔一天的日期。例如,输入为 2004 年 11 月 29 日,则该程序的输出为 2004 年 12 月 1 日。
(1)分析各种输入情况,列出为输入变量 month 、 day 、 year 划分的有效等价类。
(2)分析程序的需求说明,结合等价类划分和边界值分析方法,给出问题可
能采取的操作。
(3)根据 (1) 和 (2) ,导出测试用例。
源程序:

package test;

import java.util.Scanner;

public class Text {
    public static void main(String[] args) {
        try {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入四位数的年份、月份、以及日:");
            int y = sc.nextInt();
            int m = sc.nextInt();
            int d = sc.nextInt();
            if (y < 1000 || y > 9999) {
                System.out.println("您输入的年份不符合要求!请重新输入!");
            } else {
                if (m < 1 || m > 12) {
                    System.out.println("您输入的月份不符合要求!请重新输入!");
                } else {
                    switch (m) {
                        case 1:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 31) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 2:
                            if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) {
                                if (d < 1 || d > 29) {
                                    System.out.println("您输入的日不符合要求!请重新输入!");
                                } else {
                                    if (d == 28) {
                                        m += 1;
                                        d = 1;
                                    } else if (d == 29) {
                                        m += 1;
                                        d = 2;
                                    } else {
                                        d += 2;
                                    }
                                    System.out.println(y + "年" + m + "月" + d + "日");
                                }
                            } else {
                                if (d < 1 || d > 28) {
                                    System.out.println("您输入的日不符合要求!请重新输入!");
                                } else {
                                    if (d == 27) {
                                        m += 1;
                                        d = 1;
                                    } else if (d == 28) {
                                        m += 1;
                                        d = 2;
                                    } else {
                                        d += 2;
                                    }
                                    System.out.println(y + "年" + m + "月" + d + "日");
                                }
                            }
                            break;
                        case 3:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 31) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 4:
                            if (d < 1 || d > 30) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 29) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 30) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 5:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 31) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 6:
                            if (d < 1 || d > 30) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 29) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 30) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 7:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 31) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 8:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 31) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 9:
                            if (d < 1 || d > 30) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else if (d == 29) {
                                m += 1;
                                d = 1;
                            } else if (d == 30) {
                                m += 1;
                                d = 2;
                            } else {
                                d += 2;
                            }
                            System.out.println(y + "年" + m + "月" + d + "日");
                            break;
                        case 10:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 31) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 11:
                            if (d < 1 || d > 30) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 29) {
                                    m += 1;
                                    d = 1;
                                } else if (d == 30) {
                                    m += 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                        case 12:
                            if (d < 1 || d > 31) {
                                System.out.println("您输入的日不符合要求!请重新输入!");
                            } else {
                                if (d == 30) {
                                    y += 1;
                                    m = 1;
                                    d = 1;
                                } else if (d == 31) {
                                    y += 1;
                                    m = 1;
                                    d = 2;
                                } else {
                                    d += 2;
                                }
                                System.out.println(y + "年" + m + "月" + d + "日");
                            }
                            break;
                    }
                }
            }
        } catch (Exception e) {
            System.out.println("输入的数中存在非整数!请重新输入!");
        }
        
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773336.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号