1.1 实验目的
1、通过对简单程序进行黑盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
2、掌握黑盒测试的基础知识,能熟练应用边界值分析用例设计。
1.2 实验平台
操作系统:Windows 7或Windows XP
1.3 实验内容及要求
1、准备能够运行的“NextDateV1”程序,以该程序为对象,进行测试 2、具体测试过程,参照课本P47“3.2.3 捉虫实践1:第二日问题的边界值测试”
3、根据自己的实际情况,分别完成P47 表3.2及P48 表3.4中“预期输出”的设计,并添加“操作步骤”、“实际输出”、“测试结果”等三项内容。
4、根据测试的结果修改“NextDateV1”程序代码,得到“NextDateV2”程序
5、文档以“学号+姓名”命名,下课前提交。
1.4 实验结果
针对“第二日问题”的测试
表1 第二日问题的边界值测试用例(针对个体输入域)
输入数据 ID (年-月-日) 输入年月1799-6-15 ND-BVT-001 ND-BVT-002 ND-BVT-003 ND-BVT-004 ND-BVT-005 1800-6-15 1801-6-15 2049-6-15 2050-6-15 日,单击“计算”按钮 同上 同上 同上 同上 同上 2051-6-15 ND-BVT-006 同上 1925-0-15 ND-BVT-007 ND-BVT-008 ND-BVT-009 ND-BVT-010 ND-BVT-011 1925-1-15 1925-2-15 1925-11-15 1925-12-15 同上 同上 同上 同上 同上 1925-13-15 ND-BVT-012 1925-6-0 ND-BVT-013 ND-BVT-014 1925-6-1 同上 同上 请输入年在1800和2050之间的整数 1800-6-16 1801-6-16 2049-6-16 2050-6-16 请输入年在1800和2050之间的整数 请输入月在1和12之间的整数 1925-1-16 1925-2-16 1925-11-16 1925-12-16 请输入月在1和12之间的整数 该日期不存在 1925-6-2 请输入年在1800和2050之间的整数 无 无 2049-6-16 2050-6-16 请输入年在1800和2050之间的整数 请输入月在1和12之间的整数 1925-1-16 无 1925-11-16 1926-1-1 请输入月在1和12之间的整数 该日期不存在 1925-6-2 通过 通过 通过 失败 通过 失败 通过 通过 失败 失败 通过 通过 通过 通过 操作步骤 预期输出 实际输出 测试结果 ND-BVT-015 ND-BVT-016 1925-6-2 1925-6-30 1925-6-31 同上 同上 同上 1925-6-3 1925-7-1 该日期不存在 1925-6-3 1925-7-1 该日期不存在 该日期不存在 通过 通过 通过 ND-BVT-017 1925-6-32 ND-BVT-018
同上 该日期不存在 通过 表2 第二日问题的边界值测试用例(针对整体输入域)
输入数据 ID (年-月-日) 输入年月1799-12-31 ND-BVT-001 ND-BVT-002 ND-BVT-003 ND-BVT-004 ND-BVT-005 1800-1-1 1800-1-2 2050-12-30 2050-12-31 日,单击“计算”按钮 同上 同上 同上 同上 同上 2051-1-1 ND-BVT-006
请输入年在1800和2050之间的整数 1800-1-2 1800-1-3 2050-12-31 2051-1-1 请输入年在1800和2050之间的整数 请输入年在1800和2050之间的整数 1800-1-2 1800-1-3 2050-12-31 2051-1-1 请输入年在1800和2050之间的整数 通过 通过 通过 通过 通过 通过 操作步骤 预期输出 实际输出 测试结果 1.5 实验心得
下面代码为红色的部分在附录2中都进行了修改
附录1(“NextDateV1”核心代码截图):
if (nian.Text == \"\" || yue.Text == \"\" || ri.Text == \"\")
{ label6.Text = \"输入无效\"; } else {
int n = Convert.ToInt32(nian.Text); int y = Convert.ToInt32(yue.Text); int r = Convert.ToInt32(ri.Text);
if ((n < 1800 || n > 2050) || (y <= 0 || y > 12) || (r <= 0 || r >31)) {
if (n < 1800 || n > 2050) {
label6.Text = \"请填入年在1800和2050之间的整数\"; jisuan.Text = \"\"; }
if(y <= 0 || y > 12) {
label7.Text = \"请填入月在1和12之间的整数\"; jisuan.Text = \"\"; }
if (r <= 0 || r > 31) {
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; } } else {
r = r + 1; switch (y) {
case 1:
case 3: case 5: case 7: case 8: case 10: {
if (r > 31) { r = 1; y = y + 1;
}
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString(); label6.Text = \"\"; } break; case 12:
if (r > 31 || y == 12) { r = 1; y = y + 1; if (y > 12) { y = 1; n = n + 1; }
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString(); label6.Text = \"\"; } break; case 4: case 6: case 9: case 11: {
if (r == 32) { r = 0;
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; }
else if (r > 30)
{ r = 1; y = y + 1;
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString();
label6.Text = \"\";
} r.ToString();
r.ToString();
} break; case 2: {
if ((y % 400 == 0 || y % 100 != 0 && y % 4 == 0) || r > 29) {
if (r > 30) { r = 0;
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; } else { r = 1; y = y + 1;
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\"; } } else {
if (r > 28) { r = 1; y = y + 1;
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\"; } }
} break;
} } }
附录2(“NextDateV2”核心代码截图,并将做过修改的地方进行标识):
{
if (nian.Text == \"\" || yue.Text == \"\" || ri.Text == \"\") { label6.Text = \"输入无效\"; } else {
int n = Convert.ToInt32(nian.Text); int y = Convert.ToInt32(yue.Text); int r = Convert.ToInt32(ri.Text);
if ((n < 1800 || n > 2050) || (y <= 0 || y > 12) || (r <= 0 || r > 31)) {
if (n < 1800 || n > 2050) {
label6.Text = \"请填入年在1800和2050之间的整数\"; jisuan.Text = \"\"; }
if (y <= 0 || y > 12) {
label7.Text = \"请填入月在1和12之间的整数\"; jisuan.Text = \"\"; }
if (r <= 0 || r > 31) {
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; }
} else {
r = r + 1; switch (y) {
case 1: case 3: case 5: case 7: case 8: case 10: {
if (r > 31) { r = 1; y = y + 1;
}
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString(); label6.Text = \"\"; } break; case 12: if (r > 31 ) { r = 1; y = y + 1; if (y > 12) { y = 1; n = n + 1; }
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString(); label6.Text = \"\"; } else {
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString(); label6.Text = \"\";
} break; case 4: case 6: case 9: case 11: {
if (r == 32) {
r = 0;
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; }
else if (r > 30) { r = 1; r.ToString();
r.ToString();
r.ToString();
y = y + 1;
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\"; } else {
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\"; } } break; case 2: {
if ((y % 400 == 0 || y % 100 != 0 && y % 4 == 0) || r > 29) {
if (r > 30) { r = 0;
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; }
else if(r==30) { r = 1; y = y + 1;
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\";
} else {
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + r.ToString();
label6.Text = \"\";
} } r.ToString();
r.ToString();
} } else {
if (r > 29) { r = 0;
label6.Text = \"\"; label7.Text = \"\";
label8.Text = \"该日期不存在\"; jisuan.Text = \"\"; }
else if(r==29) { r = 1; y = y + 1;
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\"; } else {
jisuan.Text = n.ToString() + \"-\" + y.ToString() + \"-\" + label6.Text = \"\"; } } } break; } }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务