logo资料库

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

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
T01: A
T02: A、B
2011 下半年软件评测师考试真题及答案-下午卷 试题一 【说明】 场景法是黑盒测试中重要的测试用例设计方法,通过场景描述业务流程(包括基本流(基 本业务流程)和备选流(分支业务流程)),设计测试用例遍历软件系统功能,验证其正确性。 下面是对电子不停车收费系统(ETC)的基本流和备选流的描述。 表 1-1 基本流 步骤描述 用例开始,ETC 准备就绪,自动栏杆放下 ETC 与车辆通信,读取车辆信息 对车辆拍照 根据公式计算通行费用 查找关联账户信息,确认账户余额大于通行费用 从账户中扣除该费用 显示费用信息 自动栏杆打开 车辆通过 步骤 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 自动栏杆放下,ETC 回到就绪状态 表 1-2 备选流 编号 名称 描述 B C D E 读取车辆信息出错 在基本流 A2 步骤,ETC 读取车辆信息错误(重复读取五次), 不够五次则返回 A2,否则显示告警信息后退出基本流 在基本流 A5 步骤,在银行系统中不存在该账户信息,退出基 账户不存在 本流 账户余额不足 账户状态异常 在基本流 A5 步骤,账户余额小于通行费用,显示账户余额不 足警告,退出基本流 在基本流 A5 步骤,账户已销户、冻结或由于其他原因而无法 使用,显示账户状态异常信息,退出基本流
【问题 1】 使用场景法设计测试用例,指出所涉及到的基本流和备选流。基本流用 A 字母编号表示, 备选流用表 1-2 中对应的字母编号表示。 例如: T01: A T02: A、B 【问题 2】 针对问题 1 设计的测试用例,依次将初次读取车辆信息、最终读取车辆信息、账户号码、 账户余额和账户状态等信息填入下述测试用例表中。表中行代表各个测试用例,列代表测试 用例的输入值,用 V 表示有效数据元素,用 I 表示无效数据元素,n/a 表示不适用,例如 T01 表示“成功通过”用例。 表 1-3 测试用例表 测试 初次读取 最终读取 账户 账户 账户 用例 车辆信息 车辆信息 号码 余额 状态 预期结果 V I n/a V V V 结束 扣除通行费,车辆顺利通过,用例 I n/a n/a n/a 用例结束 连续 5 次读取失败,显示警告信息, T01 T02 T03 T04 T05 T06 T07 T08
答案: 【问题 1】 (场景顺序可以任意,重复内容不计分) 共包括 8 个场景: T01:A (收费停车) T02:A、B (停车时,读取车辆信息出错) T03:A、C (停车时,账户不存在) T04:A、D (停车时,账户余额不足) T05:A、E (停车时,账户状态异常) T06:A、B、C (重复读才取得正确车辆信息,但出现账户不存在异常) T07:A、B、D (重复读才取得正确车辆信息,但出现账户余额不足) T08:A、B、E 【问题 2】 测试 初次读取 最终读取 账户 账户 账户 用例 车辆信息 车辆信息 号码 余额 状态 预期结果 T01 T02 T03 T04 T05 T06 V I V V V I n/a V V V 结束 扣除通行费,车辆顺利通过,用例 I n/a n/a n/a 用例结束 连续 5 次读取失败,显示警告信息, n/a n/a n/a V 账户不存在,提示警告信息,用例 n/a n/a 结束 I V n/a I 账户余额不足,提示警告信息,用 例结束 账户状态异常,提示警告信息,用 例结束 多次读取车辆信息,最终成功;账 n/a n/a 户不存在,提示警告信息,用例结 I V V I 束
V V 多次读取车辆信息,最终成功;账 V I n/a 户余额不足,提示警告信息,用例 结束 多次读取车辆信息,最终成功;账 V V I 户状态异常,提示警告信息,用例 结束 T07 T08 I I 解析: 【问题 1】 根据题目中题干确定的基本流和备选流,可以设计场景,每个场景覆盖一种在该案例中 事件的不同触发顺序与处理结果形成的事件流,最后得出所有的测试用例。下面是所有的测 试用例以及用例中所涉及的基本流与备选流。 【问题 2】 根据问题 1 中设计的所有测试用例,测试人员需要设计具体的场景分析,其中应包括场 景变化中系统所关心的状态信息的变化,以及测试结束后预期的结果。这样,在测试人员进 行实际测试后,可以用实际输出结果与预期结果进行比较,来评价测试的结果。
试题二 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它通过对程序逻辑结构的遍历实现程 序的覆盖。针对以下由 C 语言编写的程序,按要求回答问题。 gz_open (const char *mode) { } char * p = (char*)mode; //1 char fmode[4]; char * m = fmode; char smode = ’\0’; char level = ’\0’; int strategy = 0; do { if (*p == ’r’) smode = ’r’; if (*p >= ’0’&& *p <= ’9’) { level = *p - ’0’; } else if (*p == ’f’) { strategy = 1; } else { *m++ = *p; } *p++; }while (m != fmode + sizeof(fmode)); //2 //3 //4,5 //6 //7 //8 //9 //10 //11 //12 【问题 1】 请给出满足 100%DC(判定覆盖)所需的逻辑条件。
【问题 2】 请画出上述程序的控制流图,并计算其控制流图的环路复杂度 V(G)。 【问题 3】 假设函数 gz_open 的参数 mode 是由 26 个小写字母'a’-'z’、数字'0'-'9’以及空格组 成的字符串,请使用基本路径测试法构造 1 个测试用例,使之覆盖所有基本路径。
答案: 【问题 1】 判定覆盖即分支覆盖,对于每一个判定,都至少要取得一次真值和假值。在本题中,我 们从程序中不难找出所有的逻辑判断语句,很显然在题目给出的程序中,包含的逻辑判断语 句有:*p == ’r’、*p >= ’0’&& *p <= ’9’、*p == ’f’及 m != fmode + sizeof(fmode)。 那么首先是判定*p == ’r’,应分别设置其为真与为假的情况;然后是*p >= ’0’&& *p <= ’ 9’,设置其为真,然后设置其为假,在为假的情况下,出现判定*p == ’f’,分别设计其为 真和假;最后是 m != fmode + sizeof(fmode),分别设置真、假即可。 【问题 2】 控制流图 环路复杂度 V(G)=6 【问题 3】 构造一个 6 个字符构成的字符串(设为 x,y,Z,u,v,w6 个字符),使得每个字符覆 盖一 条基本路径。其中,x='r',y='f,z∈['0'-'9'], u<'0', v>'9' 并且 v!='f', w 任意, 这 6 个字符可任意排列。例如,mode="r0faa"。
试题三 【说明】 在 CNCERT/CC (国家计算机网络应急技术处理协调中心)处理的安全事件中,国内政 府机构和重要信息系统部门的网页篡改类事件数量增长迅速。2011 年 6 月的某一周,中国 境内仅网页被篡改的网站就有 660 个,其中政府网站 105 个。网站内容复制容易,转载速度 快,后果难以预料,网页如果被篡改,将直接危害该网站的利益,尤其是门户网站作为政府 发布重要新闻、重大方针政策、法规和企业信息等的重要渠道,一旦被黑客篡改,将严重损 害政府和企业形象。 从网站页面被篡改的角度来看,存在两种攻击的可能,一种是网站被入侵,也就是说网 站页面确实被篡改了,另外一种是网站被劫持,这种情况下网站的页面实际上并没有被篡改, 但是攻击者劫持了网络访问并发送欺骗页面给来访者,进而造成页面被篡改的表象。 【问题 1】(6 分) 通过入侵从而进行网页篡改的可能途径有哪些?这些途径各对应安全系统防护体系的 哪个层次? 【问题 2】(6 分) 针对网页被篡改的问题,从技术层面看有哪些防范措施? 【问题 3】(3 分) 现在出现了一些基于监测与恢复的页面防篡改系统,这类防篡改系统应具备哪些基本功 能?
分享到:
收藏