问答题 (一共5题,共5分)

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’) //2

smode = ’r’; //3

if (*p >= ’0’&& *p <= ’9’) { //4,5

level = *p - ’0’; //6

} else if (*p == ’f’) { //7

strategy = 1; //8

} else { //9

*m++ = *p;

}

*p++; //10

}while (m != fmode + sizeof(fmode)); //11

} //12

【问题1】

请给出满足100%DC(判定覆盖)所需的逻辑条件。

【问题2】

请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

【问题3】

假设函数gz_open的参数mode是由26个小写字母’a’-’z’、数字’0’-’9’以及空格组成的字符串,请使用基本路径测试法构造1个测试用例,使之覆盖所有基本路径。

2.

在CNCERT/CC(国家计算机网络应急技术处理协调中心)处理的安全事件中,国内政府机构和重要信息系统部门的网页篡改类事件数量增长迅速。2011年6月的某一周,中国境内仅网页被篡改的网站就有660个,其中政府网站105个。网站内容复制容易,转载速度快,后果难以预料,网页如果被篡改,将直接危害该网站的利益,尤其是门户网站作为政府发布重要新闻、重大方针政策、法规和企业信息等的重要渠道,一旦被黑客篡改,将严重损害政府和企业形象。

从网站页面被篡改的角度来看,存在两种攻击的可能,一种是网站被入侵,也就是说网站页面确实被篡改了,另外一种是网站被劫持,这种情况下网站的页面实际上并没有被篡改,但是攻击者劫持了网络访问并发送欺骗页面给来访者,进而造成页面被篡改的表象。

【问题1】(6分)

通过入侵从而进行网页篡改的可能途径有哪些这些途径各对应安全系统防护体系的哪个层次

【问题2】(6分)

针对网页被篡改的问题,从技术层面看有哪些防范措施

【问题3】(3分)

现在出现了一些基于监测与恢复的页面防篡改系统,这类防篡改系统应具备哪些基本功能

3.

某数据管理系统有两个重要模块:数据接收模块和数据查询模块。数据接收模块按照一定的时间间隔从多个不同数据源接收数据进行一定的预处理后存入数据库中;数据查询模块根据用户请求从数据库中查询相应的数据并返回给用户。现需要对该系统执行负载压力测试。

该数据管理系统的性能要求为:

(1)交易执行成功率100%;

(2)接收间隔最小为200ms;

(3)查询响应时间在3s以内;

(4)查询功能支持至少10个并发用户;

(5)数据接收模块CPU利用率不超过40%;

(6)数据查询模块CPU利用率不超过20%。

【问题1】(3分)

简述负载压力测试的主要目的。

【问题2】(3分)

对该数据管理系统进行性能测试时,主要关注哪些性能指标

【问题3】(6分)

该系统数据接收模块和数据查询模块的测试结果如表5-1、5-2所示,请分别指出测试结果是否满足性能需求并说明原因。

【问题4】(3分)

根据问题3的测试结果,试分析该系统的可能瓶颈。

中级软件评测师,历年真题,2011年下半年(下午)《软件评测师》真题

中级软件评测师,历年真题,2011年下半年(下午)《软件评测师》真题

中级软件评测师,历年真题,2011年下半年(下午)《软件评测师》真题

4.

场景法是黑盒测试中重要的测试用例设计方法,通过场景描述业务流程(包括基本流(基本业务流程)和备选流(分支业务流程)),设计测试用例遍历软件系统功能,验证其正确性。

下面是对电子不停车收费系统(ETC)的基本流和备选流的描述。

中级软件评测师,历年真题,2011年下半年(下午)《软件评测师》真题

中级软件评测师,历年真题,2011年下半年(下午)《软件评测师》真题

【问题1】

使用场景法设计测试用例,指出所涉及到的基本流和备选流。基本流用A字母编号表示,备选流用表1-2中对应的字母编号表示。

例如:

T01:A

T02:A.B

【问题2】

针对问题1设计的测试用例,依次将初次读取车辆信息、最终读取车辆信息、账户号码、账户余额和账户状态等信息填入下述测试用例表中。表中行代表各个测试用例,列代表测试用例的输入值,用V表示有效数据元素,用I表示无效数据元素,n/a表示不适用,例如T01表示“成功通过”用例。

中级软件评测师,历年真题,2011年下半年(下午)《软件评测师》真题

5.

某公司开发基于Web的招聘系统,采用Java EE系统架构。系统提供用户注册、职位设置、接受应聘者的申请和评估录取应聘者等功能。接受申请主要是验证应聘者提交的姓名、地址、照片、简历和预申请职位等信息的完整性,并发送给应聘者相关通知;评估应聘者主要是根据部门经理设置所需职位,对已经受理的申请进行资格审查,发送给应聘者录用与否的相关决策信息。

系统要支持:

(1)在50个用户并发时,主要功能的处理能力至少要达到5个请求/秒,平均数据量12KB/请求;

(2)用户可以通过PC、移动设备上的不同操作系统和浏览器进行访问。

【问题1】(3分)

简要叙述招聘系统链接测试的主要测试内容。

【问题2】(4分)

简要叙述为了达到系统要支持的(2),需要进行哪些兼容性测试,并设计一个兼容性测试矩阵实例。

【问题3】(3分)

在满足系统要支持的(1)时,计算系统的通信吞吐量。

【问题4】(5分)

系统实现时,对用户的登录判断所用的动态SQL语句如下:

“SELECT * FROM Users WHERE User_Name = ‘” + strUserName + “‘ AND Password = ‘” + strPassword + “’;”

该SQL语句是否能防止SQL注入请设计一个测试用例,以测试SQL注入,并说明防止SQL注入的方法。