软件测试期中考试答案
- 格式:doc
- 大小:256.00 KB
- 文档页数:7
一、登录系统需求规格说明如下,请按等价类划分方法设计测试用例:
在登录系统界面中,用户输入用户名和密码登录系统。正确的用户名是不低于4位的字符,密码是mercury(大小写均可)。如果用户名为空,系统给出提示:“请输入用户名”。如果用户名小于4位字符,系统给出提示:“用户名不能小于4位”。如果密码为空,系统给出提示:“请输入密码”。如果密码小于4位字符,系统给出提示:“密码不能小于4位”。如果密码大于4位字符但不正确时,系统给出提示:“密码错误,请重新输入”。
等价类划分列表如表1所示:
对Login_ WX1类测试用例主要进行用户名的测试,所以细分等价类如表2所示:
2. 用上述第一条测试用例数据录制测试脚本(注意录制过程要从哪儿开始到哪儿结束),测试弹出的错误提醒界面是否正确。要求使用GUI多对象检查,内容包括屏幕焦点是否正确,提示语是否正确。运行测试,在测试结果中双击检查点项,显示检查点的截图。(20分)测试脚本:
# Program Manager
set_window ("Program Manager", 1);
list_activate_item ("SysListView32", "Flight 4A");
# Login
set_window ("Login", 2);
edit_set ("Agent Name:", "a");
password_edit_set("Password:", "kzptnyoslzjsaz");
button_press ("OK");
# Flight Reservations
win_check_gui("Flight Reservations", "list1.ckl", "gui1", 8);
set_window ("Flight Reservations", 3);
button_press ("确定");
# Login
set_window ("Login", 2);
button_press ("Cancel");
测试结果:
3. 将上述测试脚本转化为数据驱动测试,数据表中只包含表2中用户名的所有数据,执行测试并查看测试结果。保存测试脚本为Login。(20分)
测试脚本:
table = "default.xls";
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
ddt_set_row(table,table_Row);
# Program Manager
set_window ("Program Manager", 1);
list_activate_item ("SysListView32", "Flight 4A");
# Login
set_window ("Login", 2);
edit_set ("Agent Name:", ddt_val(table,"用户名"));
password_edit_set("Password:", "kzptnyoslzjsaz");
button_press ("OK");
# Flight Reservations
win_check_gui("Flight Reservations", "list1.ckl", "gui1", 8);
set_window ("Flight Reservations", 3);
button_press ("确定");
# Login
set_window ("Login", 2);
button_press ("Cancel");
}
ddt_close(table);
数据表截图:
测试结果:
二、录制一段测试脚本,命名为check。要求①启动flight4A,在login界面中正常登录系
统,②以图作为同步点设置的检查对象,③打开3号预约单,获取此表单中总价数据(Function),并编程判断total是否小于1000,“是”则显示“此预约单总价小于1000!”,否则显示“此预约单总价超出1000!”,可使用report_msg()函数,④退出flight4A系统。运行测试,在测试结果中双击输出显示项,显示输出信息的截图。
测试脚本:
# Program Manager
set_window ("Program Manager", 1);
list_activate_item ("SysListView32", "Flight 4A");
# Login
set_window ("Login", 2);
edit_set ("Agent Name:", "aaaa");
password_edit_set("Password:", "kzptnyoslzjsaz");
button_press ("OK");
# Flight Reservation
set_window("Flight Reservation", 11);
obj_wait_bitmap("(static)", "Img2", 10);
set_window ("Flight Reservation", 10);
menu_select_item ("File;Open Order...");
# Open Order
set_window ("Open Order", 3);
button_set ("Order No.", ON);
edit_set ("Edit", "3");
button_press ("OK");
# Flight Reservation
set_window("Flight Reservation", 5);
edit_get_text("Total:",total);
total=substr(total,2,length(total)-1);
if (total < 1000)
report_msg("此预约单总价小于1000!");