现有一个档案信息管理系统已完成模块开发,要求用户输入以年月表示的出生日期完成登记。假设出生日期限定在1949年1月-1999年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。运用等价类划分法设计测试用例来测试系统的“日期检查功能”
时间: 2023-06-10 12:08:57 浏览: 26
等价类划分法是一种常用的测试设计方法,它将所有可能的输入分为若干等价类,以此来设计测试用例。根据题目要求,我们可以将输入的出生日期分为以下等价类:
1. 合法日期:194901-199912
2. 非法日期:早于194901或晚于199912
3. 非法格式:不是6位数字字符或前4位不是年份或后2位不是月份
然后我们需要设计测试用例来覆盖这三个等价类。下面是一些可能的测试用例:
1. 合法日期:
- 输入:194901
- 输入:199912
- 输入:198712
2. 非法日期:
- 输入:194812
- 输入:200001
- 输入:205012
3. 非法格式:
- 输入:1949-01
- 输入:1999-12
- 输入:9901
- 输入:19991201
需要注意的是,以上只是一些可能的测试用例,具体的测试用例设计应该考虑到实际系统的需求和具体情况。
相关问题
javaweb 通过用户输入出生年月日,来判断用户的星座,给出一个结论 用idea完成完整代码
A:
```java
import java.util.Scanner;
public class ConstellationFinder {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入您的出生年月日(格式:YYYY-MM-DD):");
String birthDateStr = scanner.nextLine();
String[] birthdayArr = birthDateStr.split("-");
int year = Integer.parseInt(birthdayArr[0]);
int month = Integer.parseInt(birthdayArr[1]);
int day = Integer.parseInt(birthdayArr[2]);
String constellation = calculateConstellation(month, day);
System.out.println("您的星座是:" + constellation);
scanner.close();
}
/**
* 根据月份和日期计算星座
* @param month 月份
* @param day 日期
* @return 星座字符串
*/
public static String calculateConstellation(int month, int day) {
String[] constellationArr = new String[]{"水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "魔羯座"};
int[] constellationDayArr = new int[]{21, 20, 21, 21, 22, 22, 23, 24, 24, 24, 23, 22};
int index = month;
if (day < constellationDayArr[month - 1]) {
index--;
}
if (index >= 0 && index < 12) {
return constellationArr[index];
}
return "";
}
}
```
使用Scanner获取用户输入的出生年月日,然后按照出生日期计算星座。其中,通过calculateConstellation方法计算星座,返回星座字符串。
设有一个档案管理系统,要求用户输入以年月表示的日期。假设日期限定在1980年1月~2049年12月,并规定日期由6位数字字符组成,前4位表示年,后2位表示月。现用等价类划分法设计测试用例,来测试程序的"日期检查功能"。
等价类划分法是软件测试中常用的一种测试设计技术,它将测试数据划分为等价类,每个等价类中的数据应该具有相同的功能和行为,从而减少测试用例的数量,提高测试效率。针对这个档案管理系统的日期检查功能,可以根据年份和月份分别划分等价类。
年份等价类划分:
1. 有效年份:包括1980年到2049年之间的年份,共70个年份。
2. 无效年份:小于1980年或大于2049年的年份,共无效年份2个。
月份等价类划分:
1. 有效月份:包括01月到12月之间的月份,共12个月份。
2. 无效月份:小于01月或大于12月的月份,共2个无效月份。
因此,总共划分出4个等价类:有效年份+有效月份、无效年份+有效月份、有效年份+无效月份、无效年份+无效月份。
测试用例设计:
1. 输入有效年份和有效月份,如1999年12月,预期结果为日期检查通过。
2. 输入无效年份和有效月份,如1979年12月,预期结果为日期检查不通过。
3. 输入有效年份和无效月份,如2020年13月,预期结果为日期检查不通过。
4. 输入无效年份和无效月份,如2050年00月,预期结果为日期检查不通过。
以上四个测试用例覆盖了所有的等价类,可以有效地测试程序的日期检查功能。