一、论述题 (共3题,共50分)论述题答题必须用蓝、黑色钢笔或圆珠笔写在论述题答题纸的相应位置上。 1.一个系统的登录操作规格说明如下:
登录对话框有两个数据输入:用户名和密码。登录操作对两个输入数据进行检查,要求用户名中只能包含字母和数字(
字母不区分大小写),密码可以包含任何字符。用户名和密码都不能为空且长度不限。当用户名或密码为空时,则登录失 败并提示对应的出错信息;当用户名不正确或用户名不存在或密码错误时,则登录失败并提示以下三种相应的出错信息
:用户名不合法(即包含有非字母、非数字字符),或用户名不存在,或密码错误;当用户名和密码都正确时,则显示登 录成功信息,完成登录。
假设正确的用户名是abcd123,密码是123456 试用等价类方法为上述格说明设计等价类表(10分)和测试用例(10分)。 (20分)
2.针对以下C语言程序,请按要求回答问题。 已知weekday.c源程序如下: #include char letter; printf(\"please input the first letter,\"Y\"to exit!\n\"); while((letter=getch())!=Y)/*当输入字母为Y时结束*/ { switch(letter) { case S: printf(\"%c\n\",letter); printf(\"please input second letter\n\"); //输入第二个字母 if((letter=getch())==a) printf(\"Saturday\n\"); else if(letter==u) printf(\"sunday\n\"); else printf(\"data error\n\"); break; case F: printf(\"fridaykn\"); break; caseM: printf(\"mondayha\"); break; caseT: printf(\"%c\n\",letter); printf(\"please input second letter\a\"); //输入第二个字母 if((letter=getch())==u) printf(\"tuesday\n\"); else if(letter==h) printf(\"thursday\n\"); else printf(\"data error\n\"); break; case W: printf(\"wednesday\n\"); break; default: printf(\"data error\n\"); } } return 0; } 1.画出主函数main的控制流程图;(8分) 2.设计一组测试用例,使main函数的语句覆盖率尽量达到100%;(11分) 3.main函数的语句覆盖率能否达到100%?如果认为无法达到,需说明原因。(1分) (20分) 参考答案:1. #include char letter; printf(\"please input the first letter,\"Y\"to exit!\n\")【1】; while((letter=getch())!=Y)/*当输入字母为Y时结束*/【22】 { switch(letter) { case S:【2】 printf(\"%c\n\",letter); printf(\"please input second letter\n\");【3】 //输入第二个字母 if((letter=getch())==a)【4】 printf(\"Saturday\n\");【5】 else if(letter==u)【6】 printf(\"sunday\n\");【7】 else printf(\"data error\n\");【8】 break; case F:【9】 printf(\"fridaykn\");【10】 break; caseM:【11】 printf(\"mondayha\");【12】 break; caseT:【13】 printf(\"%c\n\",letter); printf(\"please input second letter\a\");【14】 //输入第二个字母 if((letter=getch())==u)【15】 printf(\"tuesday\n\");【16】 else if(letter==h)【17】 printf(\"thursday\n\");【18】 else printf(\"data error\n\");【8】 break; case W:【19】 printf(\"wednesday\n\");【20】 break; default:【21】 printf(\"data error\n\");【8】 } } return 0;【22】 } 2.【path1】1,22 【path2】2,3 【path3】2,3,4,5,22 【path4】2,3,6,7,22 【path5】2,3,6,8,22 【path6】9,10,22 【path7】11,12,22 【path8】13,14 【path9】13,14,15,16 【path10】13,14,17,18,22 【path11】13,14,8,22 【path12】19,20,22 【path13】19,8,22 生成测试用例,确保基本路径集中每条路径的执行 Path1、输入数据y,输出结果程序结束返回值0 Path2、输入数据s,输出结果“ s 输入第二个字母” Path3、输入数据s后,输入数据a,输出结果“Saturday” Path4、输入数据s后,输入数据u,输出结果“Sunday” Path5、输入数据s后,输入数据非a非u,输出结果“data error” Path6、输入数据f,输出结果“friday” Path7、输入数据m,输出结果“monday” Path8、输入数据t,输出结果“输入第二个字母” Path9、输入数据t后,输入数据u,输出结果“tuesday” Path10、输入数据t后,输入数据h,输出结果“thursday” Path11、输入数据t后,输入数据非u非h,输出结果“data error” Path12、输入数据w,输出结果“wednesday” Path13、输入数据defalt,输出结果“data error” 3.不能达到100%,一些独立的路径如此程序中的【输入】,往往不是完全孤立的,有时候他是程序正常的控制流的一部 分,这时,这些路径的测试可以是另一条路径测试的一部分。 我的答案: 我给自己评()分 3.某邮件系统测试项目中的测试执行阶段按计划在5天后结束,将进入测试总结阶段。测试管理人员通过QESuite Web Version 1.0测试过程管理工具观察到下列测试项目信息:(如下表) 1.请依据以上表格中内容,说明在测试用例设计和测试用例执行两方面存在的问题,并简要指明原因。(6 分) 2.已知软件问题处理状况如下: 测试项目当前处在“待验”状态的软件问题有307个,处在“新建”状态的软件问题有35个,处在“打开”状态的软件问 题有243个。测试组的软件问题处理能力是70个软件问题/工作日,开发组修复软件问题的能力是40个软件问题/工作日 。 请根据测试执行阶段剩余的天数与软件问题处理状况信息,说明开发组和测试组在软件问题处理方面存在的问题,并简 要指明原因。(4分) (10分) 参考答案:1.子系统下安装功能区域未指明,客户端管理功能区域没有设计测试用例,邮件系统的功能设置测试用例未执行完,其 中还有5个用例未执行。 测试用例设计存在问题:功能区域划分不详细,客户端管理的测试用例没有覆盖到,用例覆盖不全面。测试执行存在问 题:存在未执行的用例。 2.存在问题是开发组和测试组不能在5天后完成工作。根据题中描述的数据,开发组中要修改的问题数是243+35=278,需 要修改时间是278/40=7天;测试组即便新建的问题不需要修改,需要时间是:(307+243)/70=8天。 因篇幅问题不能全部显示,请点此查看更多更全内容