logo资料库

2017下半年软件评测师考试真题及答案-下午卷.doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
2017 下半年软件评测师考试真题及答案-下午卷 试题一 阅读下列 C 程序,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【C 程序】 Int DoString(char*string){ Char *argv[100]; Int argc=1; while(1){ while(*string&&*string!='-') String++; if(!*string) break; argv[argc]=string; //1 //2,3 //4 //5 //6 while(*string && *string!= '' && *string!= '\n'&&*string!= '\t')//7,8,9,10 string++; argc++; } return 0; } 【问题 1】(3 分) //11 //12 //13 请针对上述 C 程序给出满足 100%DC(判定覆盖)所需的逻辑条件。 【问题 2】(2 分) 请画出上述程序的控制流图,并计算其控制流图的环路复杂度 V(G)。 【问题 3】(4 分) 请给出问题 2 中控制流图的线性无关路径。
答案: 【问题 1】(3 分) *string&&*String!=’-’T/F !*StringT/F *string&&*String!=’’&&*String!=’\n’&&*String!=’\t’T/F 【问题 2】(2 分) V(g)=8 【问题 3】(4 分) 1、2、5、6、13. 1、2、3、5、6、13 1、2、3、4、2、5、6、13 1、2、5、7、12、1... 1、2、5、7、8、12、1... 1、2、5、7、8、9、12、1... 1、2、5、7、8、9、10、12、1... 1、2、5、7、8、9、10、11、7、12、1...
解析: 【问题 1】 需要找出判定覆盖所需的逻辑条件,这种主要从两种结构中查找,即条件结构和循环结 构。 题干代码中有条件为: while(*string&& *string!='-'); if(!*string); while(*string && *string!="&& *string!='\n'&& *string!= '\t') 满足问题 1 要求的条件为括号中的代码。即参考答案中的代码段。 【问题 2】 需要绘制控制流图,此题代码中有多个循环,所以在绘制控制流图的时候,要注意走向, 对于循环来说,真假都是从开始结点出发,只是若循环条件为真,则执行循环体,若循环条 件为假,则结束循环,执行循环后面的代码。 控制流图的效果图为参考答案中的图例。环路复杂度为 8,可以数结点数和边数,通过 公式边数-结点数+2 求得;也可以数区域数,数区域数记得是封闭的区域数+1。 【问题 3】 列出线性无关路径: 此题能回答正确的关键在于问题 2 的控制流图是否画对。线性无关路径即不走与之前完 全重复的路径。也就是走之前至少有一条没有走过的路径。
试题二 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 某银行 B 和某公司 C 发行联名信用卡,用户使用联名信用卡刷卡可累计积分,积分累计 规则与刷卡金额和刷卡日期有关,具体积分规则如表 2-1 所示。此外,公司 C 的会员分为普 通会员、超级会员和 PASS 会员三个级别,超级会员和 PASS 会员在刷卡时有额外积分奖励, 奖励规则如表 2-2 所示。 表 2-1 积分规则 刷卡日期 积分 每月 9 日、19 日 刷卡金额小数部分四舍五入后的 2 倍 11 月 11 日 12 月 12 日 其他日期 刷卡金额小数部分四舍五入后的 6 倍 刷卡金额小数部分四舍五入后的 4 倍 刷卡金额小数部分四舍五入 表 2-2 额外积分奖励规则 会员级别 级别代码 额外积分奖励 普通会员 超级会员 PASS 会员 M 0% S 100% P 200% 银行 B 开发了一个程序来计算用户每次刷卡所累积的积分,程序的输入包括会员级别 L、 刷卡日期 D 和刷卡金额 A,程序的输出为本次积分 S。其中,L 为单个字母且大小写不敏感, D 由程序直接获取系统日期,A 为正浮点数最多保留两位小数,S 为整数。 【问题 1】(5 分) 采用等价类划分法对该程序进行测试,等价类表如下表所示,请补充表 2-3 中空(1)~ (5) 表 2-3 等价表 输入条件 有效等价类 编号 无效等价类 会员等级 L M 1 非字母 编号 9
S (1) 每月 9 日、19 日 11 月 11 日 (2) 其他日期 (3) 2 3 4 5 6 7 8 刷卡日期 D 刷卡金额 A 非单个字母 (4) 非浮点数 (5) 多于两位小数的正浮点数 10 11 12 13 14 【问题 2】(9 分) 根据以上等价类表设计的测试用例如下表所示,请补充表 2-4 中空(1)~(9) 表 2-4 测试用例 编号 1 2 3 4 5 6 7 8 9 10 输入 D A 1 月 9 号 500.25 11 月 11 日 (2) 12 月 12 日 (4) L M S P P 500 500 500 500 500 (5) 其他日期 非单个字母 其他日期 (7) 其他日期 M M M 其他日期 非浮点数 其他日期 非正浮点数 其他日期 (9) 覆盖等价类(编号) 预期输出 S 1,4,8 2,5,8 (3) 3,7,8 9,7,8 10,7,8 11,7,8 (8) 1,7,13 1,7,14 (1) 6000 6000 1500 N/A (6) N/A N/A N/A N/A 【问题 3】(6 分) 如果规定了单次刷卡的积分上限为 20000(即 S 取值大于等于 0 且小于等于 20000),则 还需要针对 S 的取值补充一些测试用例。假设采用等价类划分法和边界值分析法来补充用
例,请补充表 2-5、表 2-6 中的空(1)~(6)。 表 2-5 补充等价类 编号 等价类 1 2 3 0<=S<=20000 (1) (2) 表 2-6 边界值 编号 边界值 1 2 3 4 5 6 S=20000 (3) (4) S=0 (5) (6)
答案: 【问题 1】 1:P 2:12 月 12 日 3:正浮点数带 2 位小数 4:MSP 以外的字母 5:非正浮点数 【问题 2】 1:1000 2:500.25(500) 3:3、6、8 4:1 月 8 日(其它日期) 5:1(非字母) 6:N/A 7:K(MSP 以外的单个字母) 8:1、7、12 9:500.12345(多于两位小数的正浮点数) 【问题 3】 1:S<0 2:s>20000 3:S=19999 4:S=-1 5:S=20001 6:S=1 解析: 此题只提醒大家:倍数。要注意一下。 不然,在回答问题 2 中的 1,2 小问,很麻烦。 特定的值,是可以不同于参考答案的。只要符合题意,满足要求的都可以作为测试数据。 只是在能写测试等价类的时候,尽量写这些,因为没有争议。而测试数据多种多类。
试题三 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 某公司欲开发一套基于 Web 的通用共享单车系统。该系统的主要功能如下: 1.商家注册、在线支付;后台业务员进行车辆管理与监控、查询统计、报表管理、价格 设置、管理用户信息。 2.用户输入手机号并在取验证码后进行注册、点击用车后扫描并获取开锁密码、锁车(机 械锁由用户点击结束用车)后 3 秒内显示计算的费用,用户确认后支付、查看显示时间与路 线及其里程、预约用车、投诉。 【问题 1】(6 分) 采用性能测试工具在对系统性能测试时,用 Apdex(应用性能指数)对用户使用共享单 车的满意度进行量化,系统需要满足 Apdex 指数为 0.90 以上。 Apdex 量化时,对应用户满意度分为三个区间,通过响应时间数值 T 来划分,T 值代表 着用户对应用性能满意的响应时间界限或者说是“门槛”(Threshold)。 针对用户请求的响应时间,Apdex 的用户满意度区间如下: 满意:(0,T]让用户感到很愉快 容忍:(T,4T]慢了一点,但还可以接受,继续这一应用过程 失望:>4T,太慢了,受不了了,用户决定放弃这个应用 Apdex 的计算如下: Apdex=(小于 T 的样本数+T~4T 的样本数/2)/总样本数 针对用户功能,本系统设定 T=2 秒,记录响应时间,统计样本数量,2 秒以下记录数 3000, 2~8 秒记录数 1000,大于 8 秒 500。 请计算本系统的 Apdex 指数,并说明本系统是否达到要求。 【问题 2】(6 分) 系统前端采用 HTML5 实现,已使用户可以通过不同的移动设备的浏览器进行访问。设计 兼用行测试矩阵,对系统浏览器兼容性进行测试。
分享到:
收藏