软件测试——白盒测试实验报告,输入年月日算星期几

实验

1实验目的

练习 基于程序结构的测试用例设计、白盒测试技术

2 实验内容(选作或题目二)

题目:

已知公元1年1月1日是星期一。编写一个程序,只要输入年月日,就能回答那天是星期几。不能采用现有公式计算。

(1)画出你所编写程序的控制流图,并计算程序的圈复杂度。

(2)综合运用白盒测试方法为设计测试用例,预期输出可参考windows自带的日历程序。

(3)在测试过程中是否发现你所编写程序的缺陷?这些缺陷是由哪些测试用例发现的?

4 实验报告要求

  1. 实验代码:
# 公元1年1月1日为星期一
# 判断是否为闰年
def leap_year(year):
    leap = False
    if year % 4 == 0:
        if year % 100 != 0:
            leap = True
        else:
            if year % 400 == 0:
                leap = True
    return leap

def dayOfTheWeek(year, month, day):
    num = 0
    if leap_year(year):
        list_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    else:
        list_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

    for i in range(1, year):
        if leap_year(i):
            num = num + 366
        else:
            num = num + 365

    for i in range(1, month):
        num = num + list_month[i - 1]

    num = num + day - 1
    return num


if __name__ == '__main__':
    # 输入日期
    # 默认输入的日期为合法日期
    year = int(input("请输入年份:"))
    month = int(input("请输入月份:"))
    day = int(input("请输入日份:"))

    # 公元1年1月1日为星期一
    list_day = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天']
    # 获取该日期与公元1年1月1日相差的天数
    num = dayOfTheWeek(year, month, day)
    num = num % 7
    data = list_day[num]

    print(year, "年", month, "月", day, "日", data)

2.根据题目要求编写程序并画出控制流图、给出圈复杂度。

控制流图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值