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

上传人:b****8 文档编号:23760581 上传时间:2023-05-20 格式:DOCX 页数:21 大小:43.51KB
下载 相关 举报
下半年软件评测师考试真题及答案下午卷.docx_第1页
第1页 / 共21页
下半年软件评测师考试真题及答案下午卷.docx_第2页
第2页 / 共21页
下半年软件评测师考试真题及答案下午卷.docx_第3页
第3页 / 共21页
下半年软件评测师考试真题及答案下午卷.docx_第4页
第4页 / 共21页
下半年软件评测师考试真题及答案下午卷.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

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

《下半年软件评测师考试真题及答案下午卷.docx》由会员分享,可在线阅读,更多相关《下半年软件评测师考试真题及答案下午卷.docx(21页珍藏版)》请在冰豆网上搜索。

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

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

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

试题一

【说明】

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

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

表1-1基本流

步骤

步骤描述

A1

用例开始,ETC准备就绪,自动栏杆放下

A2

ETC与车辆通信,读取车辆信息

A3

对车辆拍照

A4

根据公式计算通行费用

A5

查找关联账户信息,确认账户余额大于通行费用

A6

从账户中扣除该费用

A7

显示费用信息

A8

自动栏杆打开

A9

车辆通过

A10

自动栏杆放下,ETC回到就绪状态

表1-2备选流

编号

名称

描述

B

读取车辆信息出错

在基本流A2步骤,ETC读取车辆信息错误(重复读取五次),不够五次则返回A2,否则显示告警信息后退出基本流

C

账户不存在

在基本流A5步骤,在银行系统中不存在该账户信息,退出基本流

D

账户余额不足

在基本流A5步骤,账户余额小于通行费用,显示账户余额不足警告,退出基本流

E

账户状态异常

在基本流A5步骤,账户已销户、冻结或由于其他原因而无法使用,显示账户状态异常信息,退出基本流

【问题1】

使用场景法设计测试用例,指出所涉及到的基本流和备选流。

基本流用A字母编号表示,备选流用表1-2中对应的字母编号表示。

例如:

T01:

A

T02:

A、B

【问题2】

针对问题1设计的测试用例,依次将初次读取车辆信息、最终读取车辆信息、账户号码、账户余额和账户状态等信息填入下述测试用例表中。

表中行代表各个测试用例,列代表测试用例的输入值,用V表示有效数据元素,用I表示无效数据元素,n/a表示不适用,例如T01表示“成功通过”用例。

表1-3测试用例表

测试用例

初次读取

车辆信息

最终读取

车辆信息

账户

号码

账户

余额

账户

状态

预期结果

T01

V

n/a

V

V

V

扣除通行费,车辆顺利通过,用例结束

T02

I

I

n/a

n/a

n/a

连续5次读取失败,显示警告信息,用例结束

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

V

n/a

V

V

V

扣除通行费,车辆顺利通过,用例结束

T02

I

I

n/a

n/a

n/a

连续5次读取失败,显示警告信息,用例结束

T03

V

n/a

I

n/a

n/a

账户不存在,提示警告信息,用例结束

T04

V

n/a

V

I

n/a

账户余额不足,提示警告信息,用例结束

T05

V

n/a

V

V

I

账户状态异常,提示警告信息,用例结束

T06

I

V

I

n/a

n/a

多次读取车辆信息,最终成功;账户不存在,提示警告信息,用例结束

T07

I

V

V

I

n/a

多次读取车辆信息,最终成功;账户余额不足,提示警告信息,用例结束

T08

I

V

V

V

I

多次读取车辆信息,最终成功;账户状态异常,提示警告信息,用例结束

解析:

【问题1】

根据题目中题干确定的基本流和备选流,可以设计场景,每个场景覆盖一种在该案例中事件的不同触发顺序与处理结果形成的事件流,最后得出所有的测试用例。

下面是所有的测试用例以及用例中所涉及的基本流与备选流。

【问题2】

根据问题1中设计的所有测试用例,测试人员需要设计具体的场景分析,其中应包括场景变化中系统所关心的状态信息的变化,以及测试结束后预期的结果。

这样,在测试人员进行实际测试后,可以用实际输出结果与预期结果进行比较,来评价测试的结果。

 

试题二

【说明】

逻辑覆盖法是设计白盒测试用例的主要方法之一,它通过对程序逻辑结构的遍历实现程序的覆盖。

针对以下由C语言编写的程序,按要求回答问题。

gz_open(constchar*mode)

{

char*p=(char*)mode;//1

charfmode[4];

char*m=fmode;

charsmode=’\0’;

charlevel=’\0’;

intstrategy=0;

do{

if(*p==’r’)//2

smode=’r’;//3

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

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

}elseif(*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个测试用例,使之覆盖所有基本路径。

 

答案:

【问题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分)

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

 

答案:

【问题1】

要入侵来篡改网页,主要途径有如下几种:

(1)通过操作系统、网络服务、数据库漏洞来获取主机的控制权,从而达到篡改网页的目的,这一类对应的安全防护体系层次是平台安全。

(2)通过猜测或者破解密码来获取管理员的权限,从而达到篡改网页的目的,这一类对应的安全防护体系层次是数据安全。

(3)通过Web漏洞或者设计缺陷来进行攻击入侵,从而达到篡改网页的目的,这一类对应的安全防护体系层次是应用安全。

【问题2】

(1)给服务器打上最新的安全补丁程序

(2)封闭未用但开放的网络服务端口

(3)合理设计网站程序并编写安全代码

(4)设置复杂的管理员密码

(5)设置合适的网站权限

(6)安装专业的网站防火墙和入侵检测系统

【问题3】

(1)自动监控

(2)自动备份和恢复

(3)自动报警

(4)区分合法更新与非法篡改

解析:

【问题1】

本问题考査入侵方法和安全防护体系层次。

通过入侵进而篡改页面的方法从大的方面来说可以分为三类,即通过操作系统、网络服务、数据库等漏洞获得主机控制权、通过猜测或者破解密码获得管理员密码和通过Web漏洞和设计缺陷进行攻击入侵。

而安全防护体系层次分为7层,分别是实体安全、平台安全、数据安全、通信安全、应用安全、运行安全以及管理安全。

通过操作系统、网络服务、数据库等漏洞获得主机控制权威胁的是平台、操作系统和基本应用平台的安全,因此对应于平台安全;通过猜测或者破解密码获得管理员密码威胁的是系统数据的机密性和访问控制,因此对应于数据安全;而通过Web漏洞和设计缺陷进行攻击入侵威胁的是业务逻辑或者业务资源的安全,因此对应于应用安全。

【问题2】

本问题考査防篡改的技术防范措施。

对于通过操作系统、网络服务、数据库等漏洞获得主机控制权这一类篡改途径,需要的防范措施是给服务器打安全补丁、关闭不需要的网络服务端口以及设置防火墙;对于通过猜测或者破解密码获得管理员密码这一类篡改途径,需要的是设置足够复杂的管理员密码并定期进行更换;而对于通过Web漏洞和设计缺陷进行攻击入侵,则需要对网站程序进行合理的设计与实现,考虑到可能的安全威胁,另外需要设置合适的网站访问权限。

【问题3】

本问题考查网页防篡改系统的基本功能。

对一个专业的网页防篡改系统来说,首先必须能对所有页面进行自动监控,一旦发现非法篡改后能自己报警,并找到一个最新的备份自动回复,此外,这个系统也必须能够区分出某一次的更新是属于合法的更新还是非法的篡改。

试题四

【说明】

某公司开发基于Web的招聘系统,采用JavaEE系统架构。

系统提供用户注册、职位设置、接受应聘者的申请和评估录取应聘者等功能。

接受申请主要是验证应聘者提交的姓名、地址、照片、简历和预申请职位等信息的完整性,并发送给应聘者相关通知;评估应聘者主要是根据部门经理设置所需职位,对已经受理的申请进行资格审查,发送给应聘者录用与否的相关决策信息。

系统要支持:

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

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

【问题1】(3分)

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

【问题2】(4分)

简要叙述为了达到系统要支持的

(2),需要进行哪些兼容性测试,并设计一个兼容性测试矩阵实例。

【问题3】(3分)

在满足系统要支持的

(1)时,计算系统的通信吞吐量。

【问题4】(5分)

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

"SELECT*FROMUsersWHEREUser一Name='"+strUserName+"'ANDPassword='"+strPassword+"';"

该SQL语句是否能防止SQL注入?

请设计一个测试用例,以测试SQL注入,并说明防止SQL注入的方法。

 

答案:

【问题1】

招聘系统的链接测试主要测试如下3个方面:

(1)每个链接是否能够链接到目标页面

(2)被链接的页面是否存在

(3)是否存在孤立页面

【问题2】

招聘系统的兼容性测试:

(1)平台兼容性和浏览器兼容性。

(2)兼容性测试矩阵示例如下:

游览器

平台

IE7、8/9

Firefox

Google

Chrome

Safari

……

WindowsXP

Windows7

Android

iOS

……

【问题3】

通信吞吐量:

P=N(并发用户的数量=50)*T(每单位时间的在线事务数量=5)*D(事务服务器每次处理的数据负载=12KB/s)=50*5*12=3000KB/s。

【问题4】

该SQL语句不安全,容易造成SQL注入。

设计测试用例:

【注:

设计类似如下用例的一个即可,其中应包含SQL功能符号,使得该SQL语句变得不符合设计意图即可,例如,包含了"--"或“',DROP......”等】

参考用例1:

strUserName:

Zhang1--strPassword:

San

【注:

上述用例将使得该SQL语句变为:

SELECT*FROMUsersWHEREUser—Name='Zhang'--ANDPassword=,San*;】

参考用例2:

strUserName:

Zhang'or'a',='astrPassword:

San*or*'a'='a

【注:

上述用例将使得该SQL语句变为:

SELECT*FROMUsersWHEREUser_Name='Zhang'or'a'—a'ANDPassword='San'or'a'-'a';】

防止SQL注入的方法主要有:

拼接SQL之前对特殊符号进行转义,使其不作为SQL语句的功能符号。

解析:

【问题1】

本问题考查链接测试的主要内容。

链接测试是Web应用功能测试的重要内容,测试时需要测试所有页面的外向链接、内部链接、页面中链接跳转、发送Email等功能性链接、是否存在孤立页面、链接的目标是否存在等等。

链接测试主要测试如下3个方面:

(1)每个链接是否能够链接到目标页面;

(2)被链接的页面是否存在;

(3)是否存在孤立页面,即无法通过应用主要入口页面链接到,而只有通过特定URL才能访问到的页面。

【问题2】

本问题考查Web应用兼容性测试的内容。

Web应用的兼容性是Web应用可用的重要方面,Web应用具有支持多渠道访问的特性,设备、平台、浏览器等的开发商不同、版本不同,会影响Web应用的可用性、可访问性甚至功能性等诸多方面。

因此,兼容性测试是Web应用测试的重要方面。

Web应用兼容测试是测试Web应用在各种硬件、软件、操作系统、网络等不同的环境下,发现程序运行时出现的错误。

常见的Web应用兼容性测试有平台的兼容性测试、浏览器兼容性测试、分辨率测试、连接速度测试、打印机测试、数据库兼容性测试和应用软件之间的兼容性测试。

本系统用户可以通过PC和移动设备的不同操作系统和浏览器进行访问,涉及到PC和移动设备使用多种操作系统,如Windows的多种版本、Linux、Unix、Android、iOS,而各种系统上又有多种可用的浏览器,如IE的多种版本、Firefox、GoogleChrome、Safari等,因此需要针对不同设备,进行相应的操作系统平台和浏览器的兼容性测试。

兼容性测试矩阵是进行兼容性测试的常用工具,将操作系统平台和浏览器为矩阵的两维,对相应组合进行测试。

【问题3】

本问题考查Web应用系统的性能指标计算。

通信吞吐量,设定如下指标参数:

N:

并发用户的数量;

T:

每单位时间的在线事务数量

D:

事务服务器每次处理的数据负载

P:

系统的通信吞吐量

有如下计算公式:

P=N*T*D

本题中系统要求支持的

(1)中给出50个用户并发,即N=50;主要功能的处理能力至少要达到5个请求/秒,即T=5;平均数据量12KB/请求,即D=12KBh则:

通信吞吐量

P=50*5*12=3000KB/S

【问题4】

本问题考查Web应用安全性方面。

SQL注入是Web应用安全性测试的重要方面。

许多Web应用系统采用某种数据库,接收用户从Web页面中的输入,完成展示相关存储的数据(如,检查用户登录信息)、将输入数据存储到数据库(如,用户输入表单中数据域并点击提交后,系统将用户名密码等注册信息存入数据库)等操作。

在有些情况下,将用户输入的数据和设计好的SQL框架拼接后提交给数据库执行,就可能存在用户输入的数据并非设计的正确格式,就给恶意用户提供了破坏的机会,即SQL注入。

恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除应用的数据库表等严重后果。

因此需要在测试阶段进行认真严格的测试。

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

"SELECT*FROMUsersWHEREUser_Name='"+strUserName+ANDPassword=’’’+strPassword+n';";"

釆用拼接字符串方式,无法防止SQL注入。

例如strUserName:

'Zhang'--,strPassword:

San,则该SQL变为:

SELECT*FROMUsersWHEREUser_Name='Zhang'--ANDPassword='San';

'--'是SQL中注释符号,其后的内容为注释,这样上述语句中“--”之后的内容变为注释,只要用户表中有用户名为Zhang,系统就允许用户以Zhang的身份登录,并以Zhang的身份做任何可做的操作。

再比如strUserName:

Zhang’or’a’='a,strPassword:

San'or'a*=*a,则该SQL变为:

SELECT*FROMUsersWHEREUser一Name=1Zhang1orfa1=1a*ANDPassword='San'or'a'='a';

因为’aya'条件总是成立,因此,SQL执行结果包括用户表中所有行,系统就允许以第一行的身份进行登录。

更为严重的情况下,如果用户输入strUserName:

Zhang';DROPtableusersdetails;*-,以及任何字符串作为strPassword,该SQL就变为:

SELECT*FROMUsersWHEREUser一Name='John';DROPtableusers_details;

'--'ANDPassword='San';

这就造成数据库中users_details表被永久删除。

防止SQL注入的方法主要有:

拼接SQL之前对特殊符号进行转义,使其不作为SQL语句的功能符号。

SQL注入在使用SSL的应用中仍然存在,甚至是防火墙也无法防止SQL注入。

因此,在测试Web应用时,需要认真仔细设计测试用例,采用Web漏洞扫描工具等进行检查,以保证不存在SQL注入机会。

试题五

【说明】

某数据管理系统有两个重要模块:

数据接收模块和数据查询模块。

数据接收模块按照一定的时间间隔从多个不同数据源接收数据进行一定的预处理后存入数据库中;数据查询模块根据用户请求从数据库中査询相应的数据并返回给用户。

现需要对该系统执行负载压力测试。

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

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

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

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

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

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

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

【问题1】(3分)

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

【问题2】(6分)

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

【问题3】(3分)

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

表5-1数据接收模块测试结果

数据接收模块执行情况

接收间隔

处理时间(s)

(平均值)

交易执行成功率

预处理

存数据库

预处理

存数据库

1000ms

0.12

0.11

100%

100%

500ms

0.12

0.14

100%

100%

200ms

0.15

0.21

100%

80%

表5-1数据接收模块测试结果(续)

资源指标

接收频率

CPU占用率(%)

(平均值)

可用内存(Mbytes)

(平均值)

1000ms

15.2

3128

500ms

25.5

3089

200ms

43.8

2980

表5-2数据查询模块测试结果

并发用户数

响应时间(s)

(平均值)

交易执行成功率

5

1.6

100%

10

2.3

100%

15

3.8

100%

应用服务器资源利用

资源指标

接收频率

CPU占用率(%)

(平均值)

可用内存(Mbytes)

(平均值)

5

5.3

2550

10

7.2

2283

15

10.2

1980

【问题4】(3分)

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

 

答案:

【问题1】

(1)在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况

(2)预见系统负载压力承受力,在应用实际部署之前,评估系统性能

(3)分析系统瓶颈、优化系统

【问题2】

(1)并发用户数

(2)响应时间

(3)资源利用率

【问题3】

数据接收模块的测试结果不满足性能指标。

当接收间隔为200ms时,存数据库交易成功率为80%,不满足交易成功率100%的要求;当接收间隔为200ms时,CPU利用率为43.8%,不满足不超过40%的要求。

.

数据查询模块的测试结果满足性能指标。

要求至少支持10个并发用户,所以在15个并发用户的时候响应时间超出3s不能算作不满足。

【问题4】

(1)数据接收模块软件没有采用合适的并发/并行策略

(2)服务器CPU性能不足

(3)数据库设计不足或者优化不够

解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1