第二次作业+105032014098

(1)实验目的

本次作业是,第一次初步白盒测试后的,对自己代码的第一轮修改。

(2)实验内容

1.测试帖链接:  http://www.cnblogs.com/wxy-2017/p/6592407.html

2.测试人员提出的问题、发现的缺陷

未通过测试的用例:

缺陷:未对非闰年的二月进行判断,导致二月只有29天确被当成了30天来计算

 

3.修正后的代码清单

package exam1;

import java.util.Scanner;


public class test02 {
    static String NextDate(int year,int month,int day){
        if(((year%4==0&&year%100!=0)||year%400==0)&&month==2)
        {   
            if(day==29){day=1;month++;}
            else day++;
        }
        else if(month==12)
        {
            if(day==31){
            day=1;
            month=1;
            year++;
            }
            else day++;
        }
        else if(month==1||month==3||month==5||month==7||month==8||month==10)
        {
            if(day==31)
            {
                day=1;
                month++;
            }
            else day++;
        }
        else if(month==2||month==4||month==6||month==11||month==12&&day==30)
        {
            if(month==2&&day==28){
                day=1;
                month++;
            }
            else if(day==30)
             {
                 day=1;
                 month++;
             }
             else day++;
        }
            else day++;
        String date="后一天的日期是:"+year+"年"+month+"月"+day+"日";
        return date;
    }
 
    public static boolean check(int y,int m,int d){
        if(y<1915||y>2050){
            System.out.println("年份超出范围");
            return false;
        }
        else if(d<1||d>31||(m==2&&d>29)){
            System.out.println("日期超出范围");
            return false;
        }
        else if(m<1||m>12){
            System.out.println("月份超出范围");
            return false;
        }
        else {
            return true;
        }
    }
     
    //main方法
    public static void main(String[] args) {
    while(true){
    System.out.println("----请输入日期---");
    Scanner scanner=new Scanner(System.in);
    System.out.print("请输入年份:");
    int year=scanner.nextInt();
    System.out.print("请输入月份:");
    int month=scanner.nextInt();
    System.out.print("请输入日期:");
    int day=scanner.nextInt();
    if(check(year, month, day)){
        System.out.println(NextDate(year, month, day));
    }
    }
}
     
}

(4)实验总结

(1)代码变更:代码增加了对非闰年的二月进行判断的条件

(2)缺陷原因:条件覆盖用例没有设计完整导致预期结果出错

(3)学习心得:学习使用白盒测试技术,先从代码分析入手,根据不同的代码逻辑规则、语句执行情况,选用适合的覆盖方法,下面是一些方法的总结:

语句覆盖:为了暴露程序中的错误,程序中的每条语句至少应该执行一次

判定覆盖:设计足够的测试用例,使得程序中的每个判定至少都获得一次“真值”或“假值”(全True或全False)

条件覆盖:使得每一判定语句中每个逻辑条件的可能值至少满足一次。

转载于:https://www.cnblogs.com/wxcclub/p/6617209.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值