您的当前位置:首页正文

2005-2012【软件评测师】真题及答案解析--完整版(word打印版)

来源:爱站旅游
导读2005-2012【软件评测师】真题及答案解析--完整版(word打印版)
2005年上半年软件评测师上午试卷

在计算机中,最适合进行数字加减运算的数字编码是_____(1)_____,最适合表示浮点数阶码的数字编码是____(2)____。

(1)A.原码 B.反码 C.补码 D.移码 (2)A.原码 B.反码 C.补码 D.移码 ●如果主存容量为16M字节,且按字节编址,表示该主存地址至少应需要_____(3)____位。

(3)A.16 B.20 C.24 D.32

●操作数所处的位置,可以决定指令的寻址方式。操作数包含在指令中,寻址方式为___(4)___;操作数在寄存器中,寻址方式为_____(5)_____;操作数的地址在寄存器中,寻址方式为____(6)_____。

(4)A.立即寻址 B.直接寻址 C.寄存器寻址 D.寄存器间接寻址 (5)A.立即寻址 B.相对寻址 C.寄存器寻址 D.寄存器间接寻址 (6)A.相对寻址 B.直接寻址 C.寄存器寻址 D.寄存器间接寻址 ●三个可靠度R均为0.8的部件串联构成一个系统,如下图所示:

则该系统的可靠度为____(7)____。

(7)A.0.240 B.0.512 C.0.800 D.0.992 ●在计算机系统中,构成虚拟存储器___(8)____。

(8)A.只需要一定的硬件资源便可实现 B.只需要一定的软件即可实现 C.既需要软件也需要硬件方可实现 D.既不需要软件也不需要硬件

●某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是“该防火墙能够___(9)____”。

(9)A.使公司员工只能访问Internet上与其有业务联系的公司的IP地址 B.仅允许HTTP协议通过

C.使员工不能直接访问FTP服务器端口号为21的FTP地址

D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络 ●两个公司希望通过Internet进行安全通信,保证从信息源到目的地之间的数据传输以密文形式出现,而且公司不希望由于在中间节点使用特殊的安全单元增加开支,最合适的加密方式是____(10)____,使用的会话密钥算法应该是 ____(11)____。

(10)A.链路加密 B.节点加密 C.端—端加密 D.混合加密 (11)A.RSA B.RC-5 C.MD5 D.ECC ● 在Internet 上有许多协议,下面的选项中能够正确表示协议层次关系地是__(12)__。

A. B. C. D. SNMP POP3 SNMP Telnet SMTP Telnet SMTP Telnet UDP TCP TCP ARP TCP SSL TCP UDP IP IP IP UDP IP LLC ARP MAC ●我国著作权法中,___(13)___系指同一概念。 (13)A.出版权与版权 B.著作权与版权 C.作者权与专有权 D.发行权与版权 ●由我国信息产业部批准发布,在信息产业部门范围内统一使用的标准,称为___(14)___。

(14)A.地方标准 B.部门标准 C.行业标准 D.企业标准 ●某软件设计师自行将他人使用C程序语言开发的控制程序转换为机器语言形式的控制程序,并固化在芯片中,该软件设计师的行为____(15)____。

(15)A.不构成侵权,因为新的控制程序与原控制程序使用的程序设计语言不同 B.不构成侵权,因为对原控制程序进行了转换与固化,其使用和表现形式不同 C.不构成侵权,将一种程序语言编写的源程序转换为另一种程序语言形式,属于一种“翻译”行为

D.构成侵权,因为他不享有原软件作品的著作权 ●数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,„,R10存放在同一个磁道上,记录的安排顺序如下表所示: 物理块 1 2 3 4 5 6 7 8 9 10 逻辑记录 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10个记录的最长时间为___(16)___;若对信息存储进行优化分布后,处理10个记录的最少时间为___(17)___。

(16)A.180ms B.200ms C.204ms D.220ms (17)A.40ms B.60ms C.100ms D.160ms

●页式存储系统的逻辑地址是由页号和页内地址两部分组成。假定页面的大小为4K,地址变换过程如下图所示,图中逻辑地址用十进制表示。

图中有效地址经过变换后,十进制物理地址 a 应为___(18)____。

(18)A.33220 B.8644 C.4548 D.2500

● 下列关于软件开发的叙述中,与提高软件可移植性相关的是___(19)____ (19)A.选择时间效率高的算法 B.尽可能减少注释

C.选择空间效率高的算法 D.尽量用高级语言编写系统中对效率要求不高的部分

1

D.软件的可移植性指软件从某一计算机移植到另一计算机的能力相关的一组属性,高级语言具有较好的可移植性,用高级语言编写系统中对效率要求不高的部分可以提高软件的可移植性,其他的方式都不可以。

● 在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为___(20)____;在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为_____(20)_____。

(20)A.直接转换 B.位置转换 C.分段转换 D.并行转换 (21)A.直接转换 B.位置转换 C.分段转换 D.并行转换 ● 下列要素中,不属于DFD的是___(22)___。当使用DFD对一个工资系统进行建模时,___(23)___可以被认定为外部实体。

(22)A.加工 B.数据流 C.数据存储 D.联系 (23)A.接收工资单的银行 B.工资系统源代码程序C.工资单D.工资数据库的维护。 ● 目前比较热门的软件开发工具,如VB、PB、Delphi等都是可视化的。这些工具是一种___(24)___程序语言。

(24)A.事件驱动 B.逻辑式 C.函数式样 D.命令式 在系统验收测试中,_____(23)____是在一个模拟的环境下使用模拟数据运行系统;_____(24)____是在一个实际环境中使用真实数据运行系统。

(23)A.验证测试 B.审计测试 C.确认测试 D.模块测试 (24)A.验证测试 B.审计测试 C.确认测试 D.模块测试 ● 采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是_____(25)____。

(25)A.外部设计评审报告在概要设计阶段产生 B.集成测评计划在程序设计阶段产生

C.系统计划和需求说明在详细设计阶段产生 D.在进行编码的同时,独立的设计单元测试计划

● 在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备的间如下表所示: 进程 P1 P2 P3 优先级 高 中 低 使用设备的先后顺序和占用设备时间 R2(30ms)→CPU(10ms) → R1(30ms) →CPU(10ms) R1(20ms)→CPU(30ms) →R2(40ms) CPU (40ms)→R1(10ms) _____(28)____ (Sno,Pno), _____(29)____ (Sno), _____(30)____ (Pno);

查询供应了\"红\"色零件的供应商号、零件号和数量(Qty)的元组演算表达式为: {t|(u)(v)(w)(_____(31)____∧u[1]=v[1]∧v[2] =w[1]∧w[3]='红'∧_____(32)____)}

(28)A.FOREIGN KEY B.PRIMARY KEY

C.FOREIGN KEY(Sno)REFERENCES S D.FOREIGN KEY(Pno) REFERENCES P (29)A.FOREIGN KEY B. PRIMARY KEY

C.FOREIGN KEY(Sno)REFERENCES S D.FOREIGN KEY(Pno) REFERENCES P (30)A.FOREIGN KEY B. PRIMARY KEY

C.FOREIGN KEY(Sno)REFERENCES S D.FOREIGN KEY(Pno) REFERENCES P (31)A.S(u)∧SP(v)∧P(w) B. SP(u)∧S(v)∧P(w) C. P(u)∧SP(v)∧S(w) D. S(u)∧P(v)∧SP(w)

(32)A.t[1]=u[1]∧t[2]=w[2]∧t[3]=v[4] B. t[1]=v[1]∧t[2]=u[2]∧t[3]=u[4] C. t[1]=w[1]∧t[2]=u[2]∧t[3]=v[4] D. t[1]=u[1]∧t[2]=v[2]∧t[3]=v[4] ● 某一确定性有限自动机(DFA)的状态转换图如下图所示,令d=0|1|2|„|9,则以下字符串中,不能被该DFA接受的是_____(33)____,与该DFA等价的正规式是_____(34)____。(其中,ε表示空字符)

① 3875 ② 1.2E+5 ③ -123. ④ .576E10

假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为_____(26)____% ;R2的利用率约为_____(27)____% (设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。

(26)A.60 B.67 C.78 D.90 (27)A.70 B.78 C.80 D.89

● 某数据库中有供应商关系S和零件关系P,其中:供应商关系模式S(Sno,Sname,Szip,City)中的属性分别表示:供应商代码、供应商名、邮编、供应商所在城市;零件号、零件名、颜色、重量、产地。要求一个供应商可以供应多种零件,而一种零件可以由多个供应商供应。请将下面的SQL语句空缺部分补充完整。 CREATE TABLE SP(Sno CHAR(5), Pno CHAR(6), Status CHAR(8), Qty NUMERIC(9),

(33)A.①、②、③ B. ①、②、④ C. ②、③、④ D. ①、②、③、④ (34)A.(-d|d)d*E(-d|d)d*|(-d|d)d*.d*(ε|E(-d|d)d*) B.-(d|d)dd*(.|ε)d*(ε|E(-d|d)d*)

C.(-|d)dd*E(-|d)d*|(-d|d)dd*.d*(ε|E(-|E(-|d)d*) D.(-d|d)dd*E(-d|d)d*|(-d|d)dd*.d*(ε|E(-dd*|dd*))

● 对于以下编号为①、②、③的正规式,正确的说法是_____(35)____。 ①(aa*|ab)*b ②(a|b)*b ③((a|b)* |aa)*b

(35)A.正规式①、②等价 B.正规式①、③等价

C. 正规式②、③等价 D.正规式①、②、③互不等价

● 在UML提供的图中,_____(36)____用于描述系统与外部系统及用户之间的交互;_____(37)____用于按时间顺序描述对象间的交互。

(36) A.用例图 B.类图 C.对象图 D.部署图 (37) A.网络图 B.状态图 C.协作图 D.序列图 ● 某评测机构A承接了公司B开发的ERP软件的测试工作,负责该项目的软件评测师甲为了提高自己在ERP方面的知识,向机构A的负责人提出要到开发ERP软件的公司D做

2

兼职开发工作的请求。

当测试工作正在进行时,公司B为了申报某科技奖项,希望机构A能先出具一份证实其软件质量优秀的测试报告,并且口头承诺测试会继续进行,并且测试过程中发现的问题都会得到改正。

如果你是机构A的负责人,对于评测师甲的请求,你将_____(38)____。

对于公司B提出的要求,机构A的评测师甲、乙分别给出了如下的建议:甲认为可以出质量优秀报告,但是需要公司B出具改正所有测试问题的书面承诺书和自己QA部门认可;乙认为由于测试还没有结束,很多问题海没有得到改正,因此不能出质量优秀的报告,但可以根据已经测试过的模块的情况,出具一个质量基本合格的报告。对于以上建议你认为_____(39)____。

测试结束后,评测师乙提出要保留公司B的被测试软件的样品,对于评测师乙的要求你认为_____(40)____。

(38)A.不批准甲的请求

B.批准甲的请求,但是要求甲不能透露公司B的信息

C.不批准甲的请求,但是建议甲可以到公司B做兼职开发工作

D.批准甲的请求,并要求甲尽快提高自己在ERP方面的知识,为公司多做贡献 (39)A.应该听从甲的建议 B.应该听从乙的建议 C.应该综合甲乙的建议 D.都不正确

(40)A.不合理,这样侵犯了B的知识产权 B.不合理,仅保留程序就行了 C.不合理,仅保留文档就行了 D.合理

● 关于软件测试对软件质量的意义,有以下观点:①度量与评估软件的质量;②保证软件质量;③改进软件开发过程;④发现软件错误。其中正确的是_____(41)____。 (41)A.①、②、③ B.①、②、④ C.①、③、④ D.①、②、③、④ ● 软件质量的定义是_____(42)____。

(42)A.软件的功能性、可靠性、易用性、效率、可维护性、可移植性 B.满足规定用户需求的能力 C.最大限度达到用户满意

D.软件特性的总和,以及满足规定和潜在用户需求的能力 ● 某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证: ①经过自己测试的软件今后不会再出现问题;

②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;

③承诺不需要其他人员,自己就可以独立进行测试工作;

④发扬咬定青山不放松的精神,不把所有问题都找出来,决不罢休; 你认为应聘者甲的保证___(43)___。

(43)A.①、④是正确的 B.②是正确的 C.都是正确的 D.都不正确 ● 软件测试的对象包括_____(44)____。

(44)A.目标程序和相关文档 B.源程序、目标程序、数据及相关文档 C.目标程序、操作系统和平台软件 D.源程序和目标程序 ● 软件测试类型按开发阶段划分是_____(45)____。 (45)A.需求测试、单元测试、集成测试、验证测试

B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 ● 下述说法错误的是_____(46)____。

(46)A.单元测试又称为模块测试,是针对软件测试的最小单位-程序模块进行正确性检验的测试工作

B.集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试

C.集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。

D.系统测试是在真实或模拟系统运行环境下,检查完整的程序系统能否和相关硬件、外设、网络、系统软件和支持平台等正确配置与连接,并满足用户需求

● V模型指出,___(47)___对程序设计进行验证,___(48)___对系统设计进行验证,___(49)___应当追朔到用户需求说明。

(47)A.单元和集成测试B.系统测试 C.验收测试和确认测试 D.验证测试 (48)A.单元测试 B.集成测试 C.功能测试 D.系统测试 (49)A.代码测试 B.集成测试 C.验收测试 D.单元测试 ● 错误管理的流程可以概括为:测试人员提交新的错误入库,错误状态为1;高级测 试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为2,如果不是错误, 则拒绝,设置为\"拒绝\"状态;开发人员查询状态为3的错误,做如下处理:如果不是错误, 则置状态为\"拒绝\",如果是错误则修复并置状态为4,如果不能解决的错误,要留下文字 说明并保持错误为\"拒绝\"状态;测试人员查询状态为5的错误,验证错误是否已解决,做 如下处理:如问题解决了置错误的状态为6,如问题没有解决则置状态为7。上述流程中1 至7相对应的状态标识为_____(50)____。

(50)A.新信息→打开→打开→修正→修正→关闭→重新打开 B.打开→修正→关闭→修正→修正→关闭→打开

C.新信息→打开→打开→关闭→修正→关闭→重新打开 D.新信息→打开→打开→修正→关闭→修正→重新打开 ● 关于对第三方测试的描述,正确的观点是_____(51)____。

(51)A.既不是开发人员,也不是用户所进行的测试就是第三方测试

B.由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试 C.第三方测试是在开发方与用户方的测试基础上所进行的验证测试 D.第三方测试又被称为β测试 ● 验收测试的定义是_____(52)____。

(52)A.由用户按照用户手册对软件进行测试以决定是否接收 B.由某个测试机构代表用户按照需求说明书和用户手册对软件进行测试以决定是否接收

C.按照软件任务书或合同,供需双方约定的验收依据进行测试,决定是否接收 D.由开发方和用户按照用户手册执行软件验收

● 在GB/T17544中,软件包质量要求包括三部分,即产品描述要求、_____(53)____、程 序和数据要求。

(53)A.用户文档要求 B.系统功能要求 C.设计要求说明 D.软件配置要求 ● 软件内部/外部质量模型中,可移植性不包括_____(54)____子特性。

(54)A.适应性 B.共存性 C.兼容性 D.易替换性 ● 《GB/T18905 软件工程 产品评价》中确定的通用评价过程包括:_____(55)____。 (55)A.确立评价需求、设计评价、执行评价和评估结果 B.确立评价目的、规定评价、设计评价和执行评价 C.确立评价需求、规定评价、设计评价和执行评价 D.确立评价目的、设计评价、执行评价和评估结果

● GB/T16260-2003将软件质量特性分为内部质量特性、外部质量特性和_(56)__。 (56)A.安全质量特性 B.适用质量特性 C.性能特性 D.使用质量特性 ● PC 机处理人耳能听得到的音频信号,其频率范围是__(57)___。 (57)A.80~3400Hz B.300~3400Hz C.20~20kHz D.20~44.1kHz

3

● 电视系统采用的颜色空间中,其亮度信号和色度信号是相分离的。下列颜色空间中,__(58)___不属于电视系统的颜色空间。

(58)A.YUV B.YIQ C.YcbCr D.HSL ● 双层双面的只读DVD盘片的存储容量可以达到_____(59)____。

(59)A.4.7GB B.8.5GB C.17GB D.6.6GB ● 静态图像压缩标准JPEG2000中使用的是_____(60)____算法。

(60)A.K-L变换 B.离散正弦变换 C.离散余弦变换 D.离散小波变换 ● 一个局域网中某台主机的IP 地址为176.68.160.12,使用22 位作为网络地址,那么该局域网的子网掩码为_____(61)____,最多可以连接的主机数为____(62)_____。 (61) A.255.255.255.0 B.255.255.248.0 C.255.255.252.0 D.255.255.0.0

(62) A.254 B.512 C.1022 D.1024 ● 以下选项中,可以用于Internet信息服务器远程管理的是____(63)____。 (63) A.Telnet B.RAS C.FTP D.SMTP ● 在TCP/IP 网络中,为各种公共服务保留的端口号范围是__(64)____。

(64) A.1~255 B.1~1023 C.1~1024 D.1~65535 ● 在以下网络应用中,要求带宽最高的应用是___(65)___。

(65) A.可视电话 B.数字电视 C.拨号上网 D.收发邮件 ● DOM is a platform-and language-____(66)___API that allows programs and scripts to dynamically access and update the content, structure and style of WWW documents ( currently, definitions for HTML and XML documents are part of the specification ).The document can be further processed and the results of that processing can be incorporated back into the presented ___(67)____.DOM is a ___(68)___-based API to documents ,which requires the whole document to be represented in ____(69)___while processing it .A simpler alternative to DOM is the event –based SAX, which can be used to process very large ___(70)___documents that do not fit info the memory available for processing.

(66)A.specific B.neutral C.contained D.related (67)A.text B.image C.page D.graphic (68)A.table B.tree C.control D.event (69)A.document B.processor C.disc D.memory (70)A.XML B.HTML C.script D.web

● Melissa and Love Letter made use of the trust that exists between friends or colleagues. Imagine receiving an __(71)___from a friend who asks you to open it. This is what happens with Melissa and several other similar email __(72)___.Upon running ,such worms usually proceed to send themselves out to email addresses from the victim's address book, previous emails, web pages__(73)___. As administrators seek to block dangerous email attachments through the recognition of well-known ___(74)____,virus writers use other extensions to circumvent such protection. Executable (.exe) files are renamed to .bat and .cmd plus a whole list of other extensions and will still run and successfully infect target users.

Frequently ,hackers try to penetrate networks by sending an attachment that looks like a flash movie ,which, while displaying some cute

animation ,simultaneously runs commands in the background to steal your passwords and give the __(75)__access to your network.

(71)A.attachment B.packet C.datagram D.message

(72)A.virtual B.virus C.worms D.bacteria (73)A.memory B.caches C.ports D.registers (74)A.names B.cookies C.software D.extensions (75)A.cracker B.user C.customer D.client 试题一(15 分)

阅读以下说明,回答问题1 至问题4,将解答填入答题纸的对应栏内。 【说明】

在软件开发与运行阶段一般需要完成单元测试、集成测试、确认测试、系统测试和验收测试,这些对软件质量保证起着非常关键的作用。 【问题1】(5 分)

请简述单元测试的主要内容。 【问题2】(5 分)

集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容。 【问题3】(2 分)

请简述集成测试与系统测试的关系 【问题4】(3 分)

公司A 承担了业务B 的办公自动化系统的建设工作。2004 年10 月初,项目正处于开发阶段,预计2005 年5 月能够完成全部开发工作,但是合同规定2004 年10 月底进行系统验收。因此2004 年10 月初,公司A 依据合同规定向业主B 和监理方提出在2004 年10 月底进行验收测试的请求,并提出了详细的测试计划和测试方案。在该方案中指出测试小组由公司A 的测试工程师、外聘测试专家、外聘行业专家以及监理方的代表组成公司A 的做法是否正确?请给出理由。 试题二(15 分)

阅读下列说明,回答问题1 至问题3,将解答填入大体纸的对应栏内。 【说明】

使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。 Int IsLeap(int year) {

if (year % 4 == 0) {

if (year % 100 == 0) {

if ( year % 400 == 0) leap = 1; else

leap = 0; } else

leap = 1; } else

leap = 0; return leap; }

【问题1】(3 分)请画出以上代码的控制流图

【问题2】(4 分)请计算上述控制流图的圈复杂度V(G)(独立线性路径数)

4

【问题3】(8 分)假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year 设计测试用例,使其满足基本路径覆盖的要求。

试题三(20 分)阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。 【说明】

软件系统的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。

【问题1】(6 分)软件系统的用户文档包括哪些?

【问题2】(8 分) 软件系统中除用户文档之外,文档测试还应当关注哪些文档?

【问题3】(6 分)简述软件系统中用户文档的测试要点。 试题四(25 分)

阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。

【说明】软件系统性能调优的关键是首先作好性能故障定位,面对软件系统中运行在不同平台上的多个服务器、多种应用、大量工作站以及局域网、广域网和其他类型的网络体系结构,故障点交错,故障定位测试非常复杂。下述是《工作流平台系统》的性能测试案例描述及结果数据:

● 测试案例描述:模拟多用户登陆《工作流平台系统》,针对工作流A、B、C 分别连续创建20 个实例,在单机和集群运行环境下分别对系统进行负载压力性能测试。单机环境下测试用机与一台应用服务器连在同一交换机上,压力直接加在一台应用服务器上。集群环境下测试用机与服务器集群连接在同一交换机上,压力由负载均衡模块分摊到俩台应用服务器上。在单机和集群运行环境中应用服务器和一台数据库服务器连接。 ● 客户端交易并发执行测试数据: 1 单机运行环境 2 集群运行环境 测试 并发用 响应时间(秒) 测试 并发用 响应时间(秒) 案例 户数 最大值 平均值 最小值 案例 户数 最大值 平均值 最小值 创建 120 0.675 0.686 0.03 创建 120 0.113 0.088 0.01 工作 工作 流A 240 0.756 0.479 0.034 流A 240 0.103 0.117 0.01 实例 实例 ● 服务器资源占用情况 1 单机运行环境①应用服务器资源占用情况 测试案例 并发用户数 资源占用指标 最大值 平均值 最小值 CPU Utilization(%) 33.8 10.054 2.9 120 Paging Rate(page/s) 2.5 0.082 0 创建工作流 Disk traffic(Mbyte/s) 9.75 0.813 0 A 实例 CPU Utilization(%) 38.1 8.713 0.875 240 Paging Rate(page/s) 0.25 0.015 0 Disk traffic(Mbyte/s) 2.6 0.336 0 ②数据库服务器资源占用情况 测试案例 并发用户数 资源占用指标 最大值 平均值 最小值 创建工作120 CPU Utilization(%) 44.875 5.085 0.5 流 Paging Rate(page/s) 4.75 0.274 0 A 实例 Disk traffic(Mbyte/s) 8.8 1.824 0.6 CPU Utilization(%) 12.2 1.766 0.5 240 Paging Rate(page/s) 5.4 0.244 0 Disk traffic(Mbyte/s) 7.2 1.584 0.6 测试案例 并发用户数 资源占用指标 最大值 平均值 最小值 CPU Utilization(%) 100 87.082 0.875 60 Paging Rate(page/s) 268.992 158.865 0 创建工作Disk traffic(Mbyte/s) 193.319 110.948 2.25 流 CPU Utilization(%) 99.3 88.419 1.15 B 实例和工 120 Paging Rate(page/s) 751.358 189.785 1.8 作流C 实Disk traffic(Mbyte/s) 217.775 146.304 2 例 CPU Utilization(%) 100 88.909 0.6 240 Paging Rate(page/s) 521.447 151.829 0 Disk traffic(Mbyte/s) 197.725 146.285 0.6 2 集群运行环境①俩台应用服务器资源占用情况 测试 并发应用服务器1 应用服务器2 案例 用户资源占用指标 数 最大值 平均值 最小值 最大值 平均值 最小值 CPU Utilization(%) 46 21.005 14 46.25 14.025 7.667 120 Paging Rate(page/s) 3.5 0.392 0 2.167 0.206 0 创建工 Disk traffic(Mbyte/s) 65.334 6.647 0 73.833 7.588 0 作流 A 实CPU 例 Utilization(%) 42 27.163 1.583 37.333 17.856 0.75 240 Paging Rate(page/s) 3 0.206 0 0.667 0.045 0 Disk traffic(Mbyte/s) 7 0.849 0 6 0.674 0 ②数据库服务器资源占用情况 测试案例 并发用户数 资源占用指标 最大值 平均值 最小值 创建工作120 CPU Utilization(%) 13 2.868 0.333 5

流 Paging Rate(page/s) 0 0 0 A 实例 Disk traffic(Mbyte/s) 6.667 1.767 0.6 CPU Utilization(%) 34.5 5.644 0.25 240 Paging Rate(page/s) 10.667 0.508 0 Disk traffic(Mbyte/s) 5.6 1.596 0.75 【问题1】(6 分)单机运行环境和集群运行环境下,系统能够提供的客户端并发性能服务等级哪种更好?为什么?

【问题2】(10 分)试分析系统应用服务器和数据库服务器资源使用情况如何?是否有瓶颈存在?单机运行环境和集群运行环境相比,哪种环境下资源占用率更高?为什么?随着系统并发负载的加大,试预测哪种环境下资源占用率递增更快? 【问题3】(10 分)

集群对系统性能有哪些贡献?有哪些弊端?该系统是否应该采用此集群部署策略? 1 C 2 D 3 C 4 A 5 C 6 D 7 B 8 C 9 B 10 C 11 B 12 A 13 B 14 C 15 D 16 C 17 B 18 A 19 D 20 D 21 C 22 D 23 A 24 A 25 D 26 D 27 A 28 B 29 C 30 D 31 A 32 D 33 B 34 A 35 C 36 A 37 D 38 A 39 D 40 D 41 C 42 D 43 D 44 B 45 B 46 B 47 A 48 D 49 C 50 A 51 B 52 C 53 A 54 C 55 C 56 D 57 C 58 D 59 C 60 D 61 C 62 C 63 A 64 B 65 B 66 B 67 C 68 B 69 D 70 A 71 A 72 C 73 B 74 D 75 A 试题一 【问题1】(5分) 知识点包括:

模块接口测试(1分)、局部数据结构测试(1分)、路径测试(1分)、错误处理测试(1分)、边界测试(1分)。 【问题2】(5分) 知识点包括:

(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失(1分): (2)一个模块的功能是否会对另一个模块的功能产生不利的影响(1分); (3)各个子功能组合起来,能否达到预期要求的父功能(l分); (4)全局数据结构是否有问题(1分);

(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度(1分)。 【问题3】(2分) 知识点包括:

集成测试的主要依据是概要设计说明书,系统测试的主要依据是需求设计说明书。

集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。

(答出其中2个知识点即可得2点) 【问题4】(3分) 知识点包括:

验收测试要在系统测试通过之后,交付使用之前进行,而不是仅仅根据合同规定进行(1分)。2004年10月初并不具备验收测试的条件(1分)。

试题二

【问题1】(3分)知识点包括:控制流图

【问题2】(4分) 知识点包括: V(G)=4

【问题3】(8分) 知识点包括:

用例1:year是1000~2000之间不能被4整除的整数,如1001、1002、1003等(2分)。 用例2:year是1000~2000之间能被4整除但不能被100整除的整数,如1004、1008、1012、1016等(2分)。

用例3:year是1000~2000之间能被100整除但不能被400整除的整数,如1100、1300、1400、1500、1700、1800、1900(2分)。

用例4:year是1000~2000之间能被400整除的整数,如1200、1600、2000(2分)。 试题三

【问题1】(5分) 知识点包括:

在集群环境下,系统能够提供的客户端并发性能服务等级更好(3分)。 响应时间小,交易执行效率高(2分)。 【问题2】(lO分) 知识点包括:

单机环境和集群环境下,系统后台服务器资源利用率较低(2分) 不存在瓶颈(2分)。

与单机环境相比,集群环境下资源利用率更高(2分)。

为了实现集群策略,系统需要花费资源,所以造成集群环境下资源利用率更高(2分)。 随着系统承受负载的继续加大,单机环境下资源使用会递增较快,因为集群的负载均衡策略会发挥其作用(2分)。 【问题3】(l0分) 知识点包括:

6

集群能够提高系统的客户端并发性能服务等级,用户能够体验到更好的性能。(3分) 集群带来较大的花费,同时增加了维护费用。(3分)

该系统采用此集群策略是不合适的,我们看到在单机测试环境下,创建工作流B和工作流C时,数据库服务器CPU占用率平均值己经达到85%以上,应用服务器的集群策略使系统能够承受更多的并发负载,这样就给数据库服务器带来更大的压力,CPU占用率会成为瓶颈。(4分) 试题四

【问题1】(6分) 知识点包括: · 用户手册

· 安装和设置指导 · 联机帮助 · 指南、向导

· 样例、示例和模板 · 授权/注册登记表 · 最终用户许可协议

· 宣传材料、广告及其他插页(答对以上其中6点,每点给I分) 【问题2】(6分) 知识点包括: ●开发文档

◆ 软件需求说明书 ◆ 数据库设计说明书 ◆ 概要设计说明书 ◆ 详细设计说明书 ◆ 可行性研究报告 ● 管理文档

◆ 项目开发计划 ◆ 测试计划 ◆ 测试报告

◆ 开发进度月报

◆ 开发总结报告(在开发文档中答对其中4点,每1点给l分;在管理文档中答对其中2点,每1点给1分) 【问题3】(3分) 知识点包括:

·读者群。文档面向的读者定位要明确。对于初级用户、中级用户以及高级用户应该有不同的定位。

·术语。文档中用到的术语要适用于定位的读者群,用法一致,标准定义与业界规范相吻合。

·正确性。测试中需检查所有信息是否真实正确,查找由于过期产品说明书和销售人员夸大事实而导致的错误。检查所有的目录、索引和章节引用是否已更新,尝试链接是否准确,产品支持电话、地址和邮政编码是否正确。

·完整性。对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到。

·一致性。按照文档描述的操作执行后,检查软件返回的结果是否与文档描述相同。 ·易用性。对关键步骤以粗体或背景色给用户以提示,合理的页面布局、适量的图表都可以给用户更高的易用性。需要注意的是文档要有助于用户排除错误,不但描述正确操作,也要描述错误处理办法。文档对于用户看到的错误信息应当有更详细的文档解释。

·图表与界面截图。检查所有图表与界面截图是否与发行版本相同。

·样例和示例。像用户一样载入和使用样例。如果是一段程序,就输入数据并执行它。以每一个模版制作文件,确认它们的正确性。

·语言。不出现错别字,不要出现有二义性的说法。特别要注意的是屏幕截图或绘制图形中的文字。

·印刷与包装。检查印刷质量;手册厚度与开本是否合适;包装盒的大小是否合适;有没有零碎易丢失的小部件等。

2006年上半年软件评测师上午试题

● 在计算机系统中,存取速度最快的是___(1)___。

(1)A.CPU内部寄存器 B.计算机的高速缓存Cache C.计算机的主存 D.大容量磁盘 ● 模块的耦合度描述了___(2)___。

(2)A.模块内各种元素结合的程度 B.模块内多个功能之间的接口 C.模块之间公共数据的数量 D.模块之间相互关联的程度

● 若某计算机系统是由500个元器件构成的串联系统,且每个元器件的失效率均为10-7/H,在不考虑其它因素对可靠性的影响时,该计算机系统的平均故障间隔时间为___(3)___小时。

(3)A.2×1O4 B.5×1O4 C.2×1O5 D.5×105 ● 内聚是一种指标,表示一个模块___(4)___。

(4)A.代码优化的程度 B.代码功能的集中程度

C.完成任务时及时程度 D.为了与其他模块连接所要完成的工作量 ● 为了解决进程间的同步和互斥问题,通常来用一种称为___(5)___机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是___(6)___。

(5)A.调度 B.信号量 C.分派 D.通讯 (6)A.20 B.18 C.16 D.15 ● 在UNIX操作系统中,把输入/输出设备看作是___(7)___。

(7)A.普通文件 B.目录文件 C.索引文件 D.特殊文件

● 某磁盘盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,假定分配以扇区为单位。若使用位示图管理磁盘空间,则位示图需要占用_(8)_字节空间。 (8)A.16000 B.1000 C.2000 D.1600

●___(9)___描述数据的局部逻辑视图,是数据库用户的数据视图,它是与某一应用有关的数据逻辑表示。

(9)A.模式 B.逻辑模式 C.外模式 D.内模式 ● 某数据库中有员工关系E、产品关系P、仓库关系W和库存关系I,其中:

员工关系E(employeelD,name,department)中的属性为:员工编号,姓名,部门; 产品关系P(productID,name,model,size,color)中的属性为:产品编号,产品名称,型号,尺寸,颜色;

仓库关系W(warehouselD,name,address,employeeID)中的属性为:仓库编号,仓库名称,地址,员工编号;

库存关系I(warehouseID,productID,quantity)中的属性为仓库编号,产品编号和产品数量。

7

a.若要求仓库关系的负责人引用员工关系的员工编号,员工关系E的员工编号、仓库关系W的仓库编号和产品关系P的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是___(10)___。

b.可得到每种产品伪名称和该产品的总库存量的查询语句为; SELELCT name,SUM(quantity) FROM P,I

WHERE___(11)___

(10)A.实体完整性、参照完整性、用户定义完整性 B.参照完整性、实体完整性、用户定义完整性 C.用户定义完整性、实体完整性、参照完整性 D.实体完整性、用户定义完整性、参照完整性 (11)A.P.productID=I.productlD;

B.P.productID=I.product ID ORDER BY name; C.P.productID=I.product ID GROUP BY name;

D.P.productID=I.product ID GROUP BY name,quantity。 ● 与多模光纤相比较,单模光纤具有___(12)___等特点。 (12)A. 较高的传输率、较长的传输距离、较高的成本 B. 较低的传输率、较短的传输距离、较高的成本 C. 较高的传输率、较短的传输距离、较低的成本 D. 较低的传输率、较长的传输距离、较低的成本

● “science”是一个XML 元素的定义,其中元素标记的属性值是___(13)___。

(13)A.title B.style C.italic D.science ● 某校园网用户无法访问外部站点210.102.58.74,管理人员在windows 操作系统下可以使用___(14)___判断故障发生在校园网内还是校园网外。

(14)A. ping 210.102.58.74 B. tracert 210.102.58.74 C. netstat 210.102.58.74 D. arp 210.102.58.74 ● SNMP 所采用的传输层协议是___(15)___。

(15)A. UDP B. ICMP C. TCP D. IP ● 渐增式开发方法有利于___(16)___。

(16)A.获取软件需求 B.快速开发软件 C.大型团队开发 D.商业软件开发 ● 高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是

___(17)___。(17)A.语句 B.语义 C.语用 D.语法 ● ___(18)___是面向对象程序设计语言不同于其它语言的主要特点,是否建立了丰富的___(19)___是衡量一个面向对象程序设计语言成熟与否的重要标志之一。

(18)A. 继承性 B. 消息传递 C. 多态性 D. 静态联编 (19)A. 函数库 B. 类库 C. 类型库 D. 方法库

● 某市标准化行政主管部门制定并发布的工业产品的安全、卫生要求的标准,在其行政区域内是___(20)___。

(20)A.强制性标准 B.推荐性标准 C.自愿性标准 D.指导性标准 ● 王某购买了一个“海之久”牌活动硬盘,而且该活动硬盘还包含有一项实用新型专利,那么,王某享有___21___。

(21)A.“海之久”商标专用权 B.该盘的所有权

C.该盘的实用新型专利权 D.前三项权利之全部

● 甲企业委托软件公司程序员王某开发管理软件,并与王某签订了书面协议,但协议中未对软件著作权归属做出明确的约定,其软件著作权属于___(22)___。

(22)A.甲企业 B.软件公司 C.程序员王某 D.软件公司和甲企业

● 依据著作权法,计算机软件著作权保护的对象是指___(23)___。

(23)A. 计算机硬件 B. 计算机软件 C. 计算机硬件和软件 D. 计算机文档 ● 相对于DES算法而言,RSA算法的___(24)___,因此,RSA___(25)___。 (24)A.加密密钥和解密密钥是不相同的 B.加密密钥和解密密钥是相同的 C.加密速度比DES要高 D.解密速度比DES要高 (25)A.更适用于对文件加密 B.保密性不如DES

C.可用于对不同长度的消息生成消息摘要 D.可以用于数字签名

● 在C++语言中,已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3:类P和类Q是类O的派生类,其继承方式如下所示: class P : protected O {„}; class Q : public O {„};

关于方法F1的描述中正确的是___(26)___;关于方法F2韵描述中正确的是___(27)___;关于方法F3的描述中正确的是___(28)___。

(26)A.方法F1无法被访问 B.只有在类O内才能访问方法F1 C.只有在类P内才能访问方法F1 D.只有在类Q内才能访问方法F1 (27)A.类O、P和Q的对象都可以访问方法F2 B.类P和Q的对象都可以访问方法F2

C.类0和Q的对象都可以访问方法F2 D.只有在类P内才能访问方法F2 (28)A.类0、P和Q的对象都可以访问方法F3 B.类0、P和Q的对象都不可以访问方法F3

C.类0和Q的对象都可以访问方法F3 D.类P和Q的对象都可以访问方法F3。 ● 正式的技术评审FTR(Formal Technical Review)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中不正确的是___(29)___。 (29)A.评审产品,而不是评审生产者的能力 B.要有严格的评审计划,并遵守日程安排

C.对评审中出现的问题要充分讨论,以求彻底解决 D.限制参与者人数,并要求评审会之前做好准备

● 在绘制数据流图时,要遵循的一个原则是父图与子图的平衡,所谓平衡是指___(30)___。

(30)A.父图和子图都不得改变数据流的性质 B.子图不改变父图数据流的—致性

C.父图的输入/输出数据流与子图的输入/输出数据流一致 D.子图的输出数据流完全由父图的输入数据流确定

● 某系统的顶层DFD图如下,其中,加工1细化后的DFD图是___(31)___。

8

(31) ● 下图中的程序由A、B、C、D、E 5个模块组成,下表中描述了这些模块之间的接口,每一个接口有一个编号。此外,模块A、D和E都要引用一个专用数据区。那么A和E之间耦合关系是___(32)___。

编号 参数 返回值 1 数据项 数据项 2 数据项 数据项 3 功能码 无 4 无 列表

(32)A.公共耦合 B.数据耦合 C.内容耦合 D.无耦合 ● 在C++语言中,若类C中定义了一个方法int f(int a,int b),那么方法___(33)___不能与该方法同时存在于类C中。

(33)A.int f(int x,int y) B.int f(float a,int b) C.float f(int x,float y) D.int f(int x,float y) ● 在面向对象软件开发过程中,采用设计模式___(34)___。 (34)A.允许在非面向对象程序设计语言中使用面向对象的概念 B.以复用成功的设计和体系结构 C.以减少设计过程创建的类的个数 D.以保证程序的运行速度达到最优值

● 两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是___(35)___个。

(35)A.25 B.30 C.50 D.60 ● 对于软件的β测试,下列描述正确的是___(36)___。

(36)A.β测试就是在软件公司内部展开的测试,由公司专业的测试人员执行的测试 B.β测试就是在软件公司内部展开的测试,由公司的非专业测试人员执行的测试 C.β测试就是在软件公司外部展开的测试,由专业的测试人员执行的测试

D.β测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试

●___(37)___可以作为软件测试结束的标志。

(37)A.使用了特定的测试用例 B.错误强度曲线下降到预定的水平 C.查出了预定数目的错误 D.按照测试计划中所规定的时间进行了测试 ● 下面①--④是关于软件评测师工作原则的描述,正确的判断是___(38)___。 ①对于开发人员提交的程序必须进行完全的测试,以确保程序的质量

②必须合理安排测试任务,做好周密的测试计划,平均分配软件各个模块的测试时间 ③在测试之前需要与开发人员进行详细的交流,明确开发人员的程序设计思路,并以此为依据开展软件测试工作,最大程度地发现程序中与其设计思路不一致的错误 ④要对自己发现的问题负责,确保每一个问题都能被开发人员理解和修改。 (38)A.①、② B.②、③ C.①、③ D.无

● 在软件生命周期的不同阶段,需要实施不同类型的测试工作,单元测试是对程序设计进行验证,其中___(39)___不是单元测试的主要内容。在进行单元测试过程中,通常测试工程师都需要借助___(40)___来代替所测模块调用的子模块:在单元测试的基础上,需要将所有模块按照概要设计和详细设计说明书的要求进行组装,模块组装成系统的方式有两种,分别是___(41)___。

(39)A.模块接口测试 B.有效性测试 C.路径测试 D.边界测试 (40)A.桩模块 B.驱动模块 C.桩模块和驱动模块 D.存根模块和驱动模块 (41)A.一次性组装和增殖性组装 B.自顶向下组装和启底向上组装 C.单个模块组装和混合模块组装 D.接口组装和功能组装

● 黑盒测试是通过软件的外部表现来发现软件缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括___(42)___等。现有一个处理单价为1元的盒装饮料的自动售货机软件,若投入1元币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来,若投入的是2元币,在送出饮料的同时退还1元币。下表是用因果图法设计的部分测试用例,l表示执行该动作,0表示不执行该动作,___(43)___的各位数据,从左到右分别填入空格表中的(1)—(8)是正确的。 用例序号 1 2 3 4 5 投入1元币 1 1 0 0 0 投入2元币 0 0 1 0 0 按“可乐”按输 钮 1 0 0 0 0 入 按“雪碧”按钮 0 0 0 1 0 按“红茶”按钮 0 0 1 0 1 退还1元币 (1) 0 (5) (7) 0 送出“可乐”饮料 (2) 0 0 0 0 输 出 送出“雪碧”饮料 (3) 0 0 (8) 0 送出“红茶”饮料 (4) 0 (6) 0 0 (42)A.等价类划分法、因果图法、边界值分析法、错误推测法、判定表驱动法 B.等价类划分法、因果图法、边界值分析法、正交试验法、符号法

9

C.等价类划分法、因果图法、边界值分析法、功能图法、基本路径法 D.等价类划分法、因果图法、边界值分析法、静态质量度量法、场景法 (43)A.01001100 B.01101100 C.01001010 D.11001100

● 多条件覆盖是一种逻辑覆盖,它的含义是设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次,满足多条件覆盖级别的测试用例也是满足___(44)___级别的:针对布尔表达式A&&(B||C) 执行逻辑覆盖测试,测试用例至少需要___(45)___种组合才能满足多条件覆盖的要求。

(44)A.语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖

B.判定覆盖、条件覆盖;条件判定组合覆盖、修正条件判定覆盖 C.语句覆盖、判定覆盖、条件判定组合覆盖、修正条件判定覆盖 D.路径覆盖、判定覆盖、条件覆盖、条件判定组合覆盖

(45)A.6 B.4 C.8 D.12

● 典型的软件测试过程模型有___(46)___等,在这些模型中,___(47)___强调了测试计划等工作的先行和对系统需求和系统设计的测试,___(48)___对软件测试流程予以了说明。

(46)A.V模型、W模型、H模型、渐进模型 B.V模型、W模型、H模型、螺旋模型 C.X模型、W模型、H模型、前置测试模型 D.X模型、W模型、H模型、增量模型

(47)A.V模型 B.W模型 C.渐进模型 D.螺旋模型 (48)A.V模型 B.W模型 C.H模型 D.增量模型 ● 下述关于错误处理流程管理的原则,___(49)___的说法是不正确的。

(49)A.为了保证正确地定位错误,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,并且验证错误是否可以再现。 B.每次对错误的处理都要保留处理信息,包括处理人姓名、处理时间、处理方法、处理意见以及错误状态

C.错误修复后必须由报告错误的测试人员确认错误已经修复,才能关闭错误 D.对于无法再现的错误,应该由项目经理,测试经理和设计经理共同讨论决定拒绝或者延期。

● GB/T16260—2003《软件工程产品质量》规定的软件产品使用质量特性包_(50)_。 (50)A.适应性、生产率、可靠性、满意度 B.有效性、生产率、安全性、满意度 C.有效性、可靠性、适应性、满意度 D.适应性、适用性、效率、满意度

● 软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性___(51)___是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。

(51)A.成熟性 B.易恢复性 C.容错性 D.可靠性依从性 ● GB/T18905—2002《软件工程 产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价,其中有关“规定评价”部分包含的内容有___(52)___。

(52)A.选择度量、建立度量评定等级、确立评估准则: B.指定质量模型、选择度量、建立度量评定等级 C.选择度量、建立度量评定等级、制定评价计划 D.确定产品类型、选择度量、建立度量评定等级

● GB/T18905-2002《软件工程 产品评价》提供了软件产品评价的过程,其中GB/T18905—2002《软件工程 产品评价》第五部分评价者用的过程供___(53)___。

(53)A.计划获取或复用某个已有的软件产品的组织予以使用 B.对软件产品执行独立评估的评价者使用

C.计划开发新产品或增强现有的产品,以及打算利用他们自己的技术人员进行产品评价的组织使用

D.编制评价模块的文档提供指南

● 用边界值分析法,假定1④开发人员不能很好的理解需求说明书和沟通不足

(55)A.①、②、③ B.①、③ C.②、③ D.①、④ ● 关于软件质量的描述,正确的是___(56)___。 (56)A.软件质量是指软件满足规定用户需求的能力

B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性 C.软件质量保证过程就是软件测试过程 D.以上描述都不对

● 对于业务流清晰的系统可以利用___(57)___贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用___(58)___选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用___(59)___和判定表驱动法。

(57)A.等价类划分 B.因果图法 C.正交试验法 D.场景法 (58)A.等价类划分 B.因果图法 C.正交试验法 D.场景法 (59)A.等价类划分 B.因果图法 C.正交试验法 D.场景法 ● 逻辑路径覆盖法是白盒测试用例的重要设计方法,其中语句覆盖法是较为常用的方法,针对下面的语句段,采用语句覆盖法完成测试用例设计,测试用例见下表,对表中的空缺项(True或者False),正确的选择是___(60)___。 语句段:

if (A && (B||C)) x=l; else x=O; 用例表:

用例1 用例2 A TRUE FALSE B ① FALSE C TRUE ② A &&(B||C) ③ FALSE (60)A.①TRUE ②FALSE ③TRUE B.①TRUE ②FALSE ③FALSE C.①FALSE ②FALSE ③TRUE D.①TRUE ②TRUE ③FALSE ● ___(61)___方法根据输出对输入的依赖关系设计测试用例。

(61)A.路径测试 B.等价类 C.因果图 D.边界值 ● 针对下面程序段,边界值问题可以定位在___(62)___。 1:Rem Create a 10 element integer array

2:Rem lnitialize each element to -1

10

3:Dim data(10) As Integer 4:Dim i As Integer 5:For i=1 TO 10 6:data(i)=-1 7:Next i 8:End

(62) A. data(1) B. data(0) C. data(9) D. data(10) ● 以下控制流图的圈复杂度V(g)和基本圈复杂度EV(g)是___(63)___

(63)A.V(g)=5 EV(g)=1 B.V(g)=6 EV(g)=6 C.V(g)=5 EV(g)=5 D.V(g)=6 EV(g)=1

● 在网络应用测试中,网络延迟是一个重要指标。以下关于网络延迟的理解,正确的是___(64)___

(64)A.指响应时间

B.指报文从客户端发出到客户端接收到服务器响应的间隔时间 C.指报文在网络上的传输时间

D.指从报文开始进入网络到它开始离开网络之间的时间

● 为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括___(65)___

(65)A.配置项标识、配置项控制、配置状态报告、配置审计 B.配置基线确立、配置项控制、配置报告、配置审计 C.配置项标识、配置项变更、配置审计、配置跟踪

D.配置项标识、配置项控制、配置状态报告、配置跟踪

● Originally introduced by Netscape Communications,___(66)___ are a general mechanism which HTTP Server side applications, such as CGI (67) , can use to both store and retrieve information on the HTTP ___(68)___ side of the connection. Basically, Cookies can be used to compensate for the ___(69)___ nature of HTTP. The addition of a simple, persistent, client-side state significantly extends the capabilities of WWW-based ___(70)___ .

(66)A. Browsers B. Cookies C. Connections D. Scripts (67)A. graphics B. processes C. scripts D. texts (68)A. Client B. Editor C. Creator D. Server (69)A. fixed B. flexible C. stable D. stateless (70)A. programs B. applications C. frameworks D. constrains ● WebSQL is a SQL-like ___(71)___ language for extracting information from the web. Its capabilities for performing navigation of web ___(72)___ make it a useful tool for automating several web-related tasks that require the systematic

processing of either all the links in a ___(73)___ , all the pages that can be reached from a given URL through ___(74)___ that match a pattern, or a combination of both. WebSQL also provides transparent access to index servers that can be queried via the Common ___(75)___ Interface.

(71)A. query B. transaction C. communication D. programming (72)A. browsers B. servers C. hypertexts D. clients (73)A. hypertext B. page C. protocol D. operation (74)A. paths B. chips C. tools D. directories (75)A. Router B. Device C. Computer D. Gateway 试题一 (15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 [说明]

基本路径法设计出的测试用例能够保证在测试中程序的每一条可执行语句至少执行一次。以下代码由C什语言书写,请按要求回答问题。 void ReadPara( CString temp) {

if ( temp == \">=\")

m_oper.SetCurSel(0); else {

if (temp == \">\")

m_oper.SetCurSel(1); else {

if ( temp == \"==\") m_oper.SetCurSel(2); else {

if( temp == \"<=\")

m_oper.SetCurSel(3); else {

if ( temp == \"<\")

m_oper.SetCurSel(4); else

m_oper.SetCurSel(5); } } } } return; }

[问题1] (6分) 请画出以上代码的控制流图。

[问题2] (3分) 请计算上述控制流图的环路复杂度V(G)。 [问题3] (6分)

请使用基本路径测试法为变量temp设计测试用例,使之满足基本路径覆盖要求。

11

试题二(20分)阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内[说明] 针对某公司办公自动化(OA)系统的负载压力测试,采用专业的负载压力测试工具来执行测试。系统采用Browse/Server架构,服务器是一台PC Server(4路2.7GHz处理器,4GB内存),安装的平台软件包括Microsoft Internet Information Server 5.0,ASP.NET,SQLServer2000。使用2台笔记本电脑安装测试工具模拟客户端执行“登录”业务操作。 测试目标分别为以下两个:

第一,测试系统分别在2M、4M网络带宽下,能够支持用户登录的最大并发用户数; 第二,测试服务器的吞吐量(即:每秒可以处理的交易数),主要包括服务器CPU平均使用率达到85%时系统能够支持的最大吞吐量和服务器CPU平均使用率达到100%时系统能够支持的最大吞吐量。

本次测试的性能需求是:指标“响应时间”合理范围为0~5秒。 测试结果如下:案例 1 网络环境:2M带宽 客户端性能测试结果; 测试指标 平均值 登录响应时间 3.391秒 虚拟用户数 N/A 每秒处理完成登录的个数 11.897交易/秒

注:图中登录响应时间的纵坐标单位是0.1秒 服务器资源使用结果: 测试指标 平均值 CPU使用率 78%

案例2

网络环境:4M带宽 客户端性能测试结果: 测试指标 平均值 登录响应时间 4.795秒 虚拟用户数 N/A 每秒处理完成登录的个数 13.447交易/秒

注:图中登录响应时间的纵坐标单位是0.1秒 服务器资源使用结果 测试指标 平均值 CPU使用率 98% 12

5 6 序号 加油 加油机完成加油操作,从加油卡中扣除相应金额 返回加油卡 退还加油卡 用例名称 用例描述 在基本流A2过程中,该卡不能够识别或是非本机可以使用的IC 卡,加油机退卡,并退出基本流 在基本流A3过程中,判断该卡账产属于黑名单,例如:已经挂 失,加油机吞卡退出基本流 系统判断加油卡内现金不足,重新加入基本流A4,或选择退卡 备选流: B 加油卡无效 C D 卡账户属于黑名单 加油卡账面现金不足 E 加油机油量不足 系统判断加油机内油量不足,重新加入基本流A4,或选择退卡 [问题1] (3分)

简述软件系统交易执行响应时间(“RT”,ResponseTime)的概念。 [问题2] (3分)

分析案例 1 的测试结果数据;指出满足系统的性能指标需求时,系统能够承受的并发用户登录的最大数量,并说明理由。 [问题3] (4分)

分析案例 1 的测试结果数据,说明服务器CPU资源使用率是否合理,以及带宽是否是系统瓶颈,并陈述理由。 [问题4] (4分)

分析案例 2 的测试结果数据,说明服务器CPU资源使用率是否合理,以及增加带宽是否是提高系统性能的有效方法,并陈述理由。 [问题5] (6分) 论述CPU使用率成为系统性能瓶颈时,如何制定解决方案?论述网络带宽成为系统性能瓶颈时,如何制定解决方案? 试题三 (15分) 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 [说明] 软件系统几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。场景法就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有基本流(基本事件)和备选流(分支事件)。下面是对某IC卡加油机应用系统的基本流和备选流的描述。 基本流A; 序号 1 2 3 4 用例名称 准备加油 验证加油卡 验证黑名单 用例描述 客户将IC加油卡插入加油机 加油机从加油卡的磁条中读取账户代码,并检查它是否属于 可以接收的加油卡 加油机验证卡账户是否存在于黑名单中,如果属于黑名单, 加油机吞卡

[问题1] (5分) 使用场景法设计测试案例,指出场景涉及到的基本流和备选流,基本流用字母A表示,备选流用题干中描述的相应字母表示。 [问题2] (4分)

场景中的每一个场景都需要确定测试用例,一般采用矩阵来确定和管理测试用例。 如下表所示是一种通用格式,其中行代表各个测试用例,列代表测试用例的信息。本例中的测试用例包含测试用例、ID、场景涤件、测试用例中涉及的所有数据元素和预期结果等项目。首先确定执行用例场景所需的数据元素(本例中包括账号、是否黑名单卡、输入油量、账面金额、加油机油量),然后构建矩阵,最后要确定包含执行场景所需的适当条件的测试用例。在下面的矩阵中,V表示有效数据元素,I表示无效数据元素,n/a表示不适用,例如C01表示“成功加油”基本流。请按上述规定为其它应用场景设计用例矩阵。

测试用例表 测试用例 ID号 场景 账号 V 是否黑 名单卡 I 输入 油量 V 账面 金额 V 加油机 预期结果 油量 V 成功加油 C01. 场景1;成功加油 C02. C03. C04. C05. 输入购油量 客户输入需要购买的汽油数量 [问题3] (3分) 假如每升油4元人民币,用户的账户金额为1000元,加油机内油量足够,那么在A4输入油量的过程中,请运用边界值分析方法为A4选取合适的输入数据(即油量,单位;升)。 [问题4] (3分) 假设本系统开发人员在开发过程中通过测试发现了20个错误,独立的测试组通过上述测试用例发现了100个软件错误,系统在上线后,用户反馈了30个错误,请计算缺陷探测率(DDP)。 试题四 (15分) 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 [说明]易用性和用户文档是影响软件质量的重要指标,也是直接决定一个软件能否取得市13

场成功的关键因素。 [问题1] (5分)

用户对软件系统的第一认识来自于安装,因此易用性的一个重要体现就是安装的易用性。简述安装测试应当从哪几个方面来考虑? [问题2] (6分)

软件用户界面起着引导用户操作的重要作用,简述整体界面测试和界面中的元素测试分别应当设计哪些测试点? [问题3] (4分)

软件帮助是协助用户使用软件的关键途径,因此也是软件测试过程中的一个重要内容,简述在进行软件帮助测试时的测试要点。 试题五 (10分)

阅读以下说明,回答问题1和问题2,将解答填入答题纸的对应栏内。

[说明]软件测试是与软件开发密切相关的一系列有计划的活动,在软件测试过程模型“V模型”的指导下,开发过程中应该安排一系列不同类型的测试活动。

软件测试过程是由一系列的关键活动组成的,同时软件测试质量的保证手段是必不可少的。

[问题1] (2分)针对开发过程中的不同阶段,应该包含那些类型的软件测试。 [问题2] (8分)简述软件测试过程的关键活动,以及保证软件测试质量的手段。

2006年答案解析

(1) A (16) B (31) B (46) C (61) C (2) D (17) A (32) A (47) B (62) B (3) A (18) A (33) A (48) C (63) D (4) B (19) B (34) B (49) D (64) D (5) B (20) A (35) C (50) B (65) A (6) C (21) B (36) D (51) C (66) B (7) D (22) C (37) B (52) A (67) C (8) C (23) B (38) D (53) B (68) A (9) C (24) A (39) B (54) B (69) D (10) B (25) D (40) A (55) D (70) B (11) C (26) B (41) A (56) D (71) A (12) A (27) C (42) A (57) D (72) C (13) D (28) B (43) A (58) C (73) B (14) B (29) C (44) A (59) B (74) A (15) A (30) C (45) C (60) A (75) D 试题一 [问题1]

[问题2]

V(G)=6 [问题3]

用例编号 temp取值 1 >= 2 > 3 == 4 <= 5 < 6 除>=、>、==、<=、<之外的字符组合 试题二[问题1]响应时间是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。

[问题2]系统能够承受的并发用户登录的最大数量为50

题中指出\"通常情况下,交易操作合理的响应时间为5秒以内\"。此案例中,登录响应时间随虚拟并发用户数增加而增长。在50个虚拟并发用户的负载下,登录响应时间达到5秒(注意图形中响应时间指标的比例为10)。当负载超过50个虚拟并发用户,响应时间超过5秒。所以此案例中最合理的并发用户数为50。 [问题3]服务器CPU资源使用率是合理的。 2M带宽是系统处理业务的瓶颈。 理由是对比\"4M带宽登录\"案例,4M带宽下,系统每秒处理完成的登录个数固定在13.5个左右,登录响应时间随虚拟用户数增加而增长。在60个虚拟用户的压力下,登录响应时间在4.2秒左右(注意图形中响应时间指标的比例为10)。在80个虚拟用户的压力下,登录响应时间在5.8秒左右,所以在合理登录响应时间(5秒)内预计同时登录用户数是70左右。服务器CPU使用率成为系统处理的瓶颈。说明随着带宽的提高,系统的处理能力

14

进一步提高,同时高吞吐量造成了系统资源的紧张,带来了新的系统性能瓶颈。 [问题4]服务器CPU资源使用率不合理,其平均值超过85%。

4M带宽的网络测试环境与2M带宽的网络测试环境相比,带来了新的系统瓶颈(CPU资源使用率平均值超过85%),所以增加带宽不是提高系统性能的有效方法。在此基础上,继续提高带宽,系统的处理能力将进一步提高,高的处理能力会使服务器的资源瓶颈进一步加重,带来更加严重的后果。

[问题5]当CPU资源使用成为系统瓶颈时的解决方案可以概括为: 1. 增加CPU的个数;2. 提高CPU的主频;

3. 将web服务器与数据库服务器分开部署;4. 调整软件的设计与开发; 当带宽成为系统瓶颈时的解决方案可以概括为: 1. 增加带宽;2. 压缩传输数据。 试题三[问题1]

场景1:A 场景2:A、B 场景3:A、C 场景4:A、D 场景5:A、E [问题2]

[问题3] 1. 0升 2. 250升 3. 251升

[问题4] DDP=Bugstester(Bugstester+ Bugscustomer)=(20+100)(20+100+30)=80%(0.8)

其中,Bugstester为测试者发现的错误数;

Bugscustomer为客户发现并反馈技术支持人员进行修复的错误数。 试题四[问题1] 评估安装手册 安装的自动化测试

安装选项和设置的测试 安装过程的中断测试 安装顺序测试 多环境安装测试 安装正确性测试

修复安装与卸载测试

[问题2] 界面整体测试:规范性测试、合理性测试、一致性测试和界面定制性测试 界面元素测试:窗口测试、菜单测试、图标测试、鼠标测试和文字测试。 [问题3] 文本的准确性 与程序的接口 帮助索引的检查 超链接的正确性 链接的意义 风格应简洁

试题五 [问题1] 单元测试 集成测试 确认测试(系统测试) 验收测试 [问题2]知识点包括:

软件测试过程的关键活动: 测试需求分析

制定测试计划 测试设计 测试执行

测试分析与总结 质量保证手段:

制定质量保证计划、质量体系建立 测试活动审核、测试文档评审 测试过程数据的收集、度量与分析

2007年上半年软件上午试题

● (1) 不属于计算机控制器中的部件。 (1)A. 指令寄存器 IR C. 算术逻辑单元 ALU B. 程序计数器 PC

D. 程序状态字寄存器 PSW

● 在 CPU 与主存之间设置高速缓冲存储器 Cache 的目的是为了 (2) 。 (2)A.扩大主存的存储容量 B.提高 CPU 对主存的访问效率 C.既扩大主存容量又提高存取速度 D.提高外存储器的速度 ● 下面的描述中, (3) 不是 RISC 设计应遵循的设计原则。 (3)A. 指令条数应少一些 B. 寻址方式尽可能少

C. 采用变长指令,功能复杂的指令长度长而简单指令长度短 D. 设计尽可能多的通用寄存器

● 系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,其 (4) 。

(4)A. 响应时间越短,作业吞吐量越小 B. 响应时间越短,作业吞吐量越大 C. 响应时间越长,作业吞吐量越大 D. 响应时间不会影响作业吞吐量

● 计算机各功能部件之间的合作关系如下图所示。假设图中虚线表示控制流,实实线表示数据流,那么 a、b 和 c 分别表示 (5)

(5)A. 控制器、内存储器和运算器 B. 控制器、运算器和内存储器

C. 内存储器、运算器和控制器 D. 内存储器、控制器和运算器

15

● 下面关于编程语言的各种说法中, (6) 是正确的。

(6)A. 由于 C 语言程序是由函数构成的,所以也属于函数型语言 B. Smalltalk、C++、Java、C#都是面向对象语言

C. 函数型语言适用于编写高速计算的程序,常用于超级计算机的模拟计算 D. 逻辑型语言是在 Client/Server 系统中用于实现负载分散的程序语言 ● 在面向对象的语言中, (7) 。

(7)A. 类的实例化是指对类的实例分配存储空间

B. 每个类都必须创建一个实例 C. 每个类只能创建一个实例 D. 类的实例化是指对类进行初始化

● 在统一建模语言(UML)中,描述系统与外部系统及用户之间交互的图是 (8) 。 (8)A. 类图 B. 用例图 C. 对象图 D. 协作图

● 某供应商数据库中的供应关系为 SPJ(供应商号,零件号,工程号,数量),如

下命令查询某工程至少用了 3 家供应商(包含 3 家)供应的零件的平均数量,并按工程 号的降序排列。

SELECT 工程号, (14) FROM SPJ GROUP BY 工程号 (15)

ORDER BY 工程号 DESC;

(14)A. AVG(数量)At 平均数量 B. AVG(数量)AS 平均数量 C. 平均数量 At AVG(数量) D. 平均数量 AS AVG(数量) (15)A. HAVING COUNT(DISTINCT(供应商号))>2 B. Where COUNT(供应商号)>2

C. HAVING(DISTINCT(供应商号))>2 D. Where 供应商号 >2

(16)A. 若 A→B,B→C,则 A→C B. 若 A→B,A→C,则 A→BC

C. 若 A→C,则 AB→C D. 若 A→BC,则 A→B,A→C

●统一过程(UP)是一种用例驱动的迭代式增量开发过程,每次迭代过程中

主要的工作流包括捕获需求、分析、设计、实现和测试等。这种软件过程的用例图(Use Case Diagram)是通过 (19) 得到的。

(19)A. 捕获需求 B. 分析 C. 设计 D. 实现 ● 关于原型化开发方法的叙述中,不正确的是 (20)。 (20)A. 原型化方法适应于需求不明确的软件开发 B. 在开发过程中,可以废弃不用早期构造的软件原型 C. 原型化方法可以直接开发出最终产品

D. 原型化方法利于确认各项系统服务的可用性

● CMM 模型将软件过程的成熟度分为 5 个等级。在 (21) 使用定量分析来不断 地改进和管理软件过程。

(21)A. 优化级 B. 管理级 C. 定义级 D. 可重复级 ● 软件(22) 的提高,有利于软件可靠性的提高。

(22)A. 存储效率 B. 执行效率 C. 容错性 D. 可移植性

● 序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用, 一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入/输出 数据说明;开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是 (23) 。

(23)A. 程序对硬件、软件资源的要求 B. 重要变量和参数说明

C. 嵌入在程序中的 SQL 语句

D. 程序开发的原作者、审查者、修改者、编程日期等 ● LOC 是软件规模的一种量度,它表示 (24) 。

(24)A. 软件功能数 B. 源代码行数 C. 每单位成本数

D. 工作量

(25)不属于面向对象分析阶段。

(27)A. 视图 r B. 模型 C. 控制器 D. 视图和控制器 (28)A. 视图 B. 模型 C. 控制器 D. 视图和控制器 ● 在进行面向对象设计时,采用设计模式能够(29)。

(29)A. 复用相似问题的相同解决方案 B. 改善代码的平台可移植性 C. 改善代码的可理解性 D. 增强软件的易安装性 ● 下面给出了四种设计模式的作用:

外观(Façade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得 这一子系统更加容易使用;

装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加 一些额外的功能;

单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点; 模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作 步骤延迟到子类中实现。

请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只 有一个实例,那么采用(30) 设计模式能够有效达到该目的;该系统中的某子模块需 要为其他模块提供访问不同数据库系统(Oracle、SQL Server、DB2 UDB 等)的功能, 这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连 接数据库、再打开数据库、最后对数据进行查询,(31) 设计模式可抽象出相同的数据 库访问过程;系统中的文本显示类(TextView)和图片显示类(PictureView)都继承 了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有 黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多 只增加三个类,(32) 设计模式可以实现该目的。

(30)A. 外观 B. 装饰 C. 单件 D. 模板方法 (31)A. 外观 B. 装饰 C. 单件 D. 模板方法

● 函数 t()、f()的定义如下所示。若调用函数 t()时传递给 x 的值为 3,并且调用

函数 f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call ● 程序设计语言中(34) 。 r

(34)A. while 循环语句的执行效率比 do-while 循环语句的执行效率高

B. while 循环语 句的 循环体 执行 次数比 循环 条件的 判断 次数多 1, 而 do-while 语句的循环体执行次数比循环条件的判断次数少 1

C. while 语句的循环体执行次数比循环条件的判断次数少 1,而 do-while 语句的循环体执行次数比循环条件的判断次数多 1

D. while 语句的循环体执行次数比循环条件的判断次数少 1,而 do-while 语句的循环体执行次数等于循环条件的判断次数

● 两名以上的申请人分别就同样的发明创造申请专利的,专利权授权 (35) 。 (35)A. 最先发明的人 B. 最先申请的人 C. 所有申请的人 D.协商后的申请人 ● 下列叙述中(36)是正确的。

(36)A.压迫测试:提供条件任软件发挥,最大限度地发掘软件的能力

B.重复测试:使软件在不够理想的条件下运行,观察软件对外部资源的要 求和依赖的程度

16

C.重复测试:不断执行同样的操作,这种反复测试的主要原因是看内存是 否不足

D.完整 C/S 体系结构测试,只包括网络运行和性能测试

● 根据 ANSI/IEEE829 标准, 以下(37) 属于《测试程序说明》中程序步骤的内 容。

① 启动 ② 目的 ③ 日志 ④ 设置

(37)A.①、②、③ B.①、③、④ C.②、③ D.①、②、③、④

● 以下关于功能测试用例的意义的叙述,正确的是(38)

① 避免盲目测试并提高测试效率

② 令软件测试的实施重点突出、目的明确

③ 在回归测试中无需修正测试用例便可继续开展测试工作 ④ 测试用例的通用化和复用化使软件测试易于开展

● (41)不是易用性测试包括的内容。

(41)A.安装测试 B.界面测试 C.菜单测试 D.文档测试 ● (42)不是文档测试包括的内容。 (42)A.合同文档 B.开发文档 C.管理文档 D.用户文档

● 针对用户手册的测试,(43)描述不正确。

(43)A.准确地按照手册的描述使用程序 B.检查每条陈述

C.修改错误设计 D.查找容易误导用户的内容 ● 阅读下列流程图:

当用判定覆盖法进行测试时,至少需要设计(44) 个测试用例。

● 在某大学学籍管理信息系统中,假设学生年龄的输入范围为 16~40,则根据黑 盒测试中的等价类划分技术,下面划分正确的是 (46) 。 (46)A. 可划分为 2 个有效等价类,2 个无效等价类 B. 可划分为 1 个有效等价类,2 个无效等价类 C. 可划分为 2 个有效等价类,1 个无效等价类 D. 可划分为 1 个有效等价类,1 个无效等价类

● 以下各项中,(47)属于安装测试应关注的内容。 ① 安装手册的评估 ② 安装选项和设置的测试 ③ 安装顺序测试 ④ 修复安装测试与卸载测试 (47)A.①、②、③ B.③、④ C.②、③、④ D. ①、②、③、④

● 下面关于软件测试的说法,(48)是错误的。 (48)A.软件测试就是程序测试

B.软件测试贯穿于软件定义和开发的整个期间

C.需求规格说明、设计规格说明都是软件测试的对象 D.程序是软件测试的对象

● 关于白盒测试与黑盒测试的最主要区别,正确的是(49)。 (49)A.白盒测试侧重于程序结构,黑盒测试侧重于功能 B.白盒测试可以使用测试工具,黑盒测试不能使用工具 C.白盒测试需要程序员参与,黑盒测试不需要 D.黑盒测试比白盒测试应用更广泛

● 软件测试按实施组织分,测试应该包括以下的(50) 。

① 开发方测试② 用户方测试③ 第三方测试④ 验收测试⑤ 确认测试 学

● 关于对第三方测试的描述,正确的观点是(52) 。

(52)A.既不是用户,也不是开发人员所进行的测试就是第三方测试 B.第三方测试也称为独立测试,是由相对独立的组织进行的测试 C.第三方测试是在开发方与用户方的测试基础上进行的验证测试 D.第三方测试又被称为β测试

● 以下(53)属于 在 GB/T 18905《评价者用的过程》中定义软件评价过程的特性。①可重复性 ②可再现性 ③公正性 ④客观性 ⑤合理性 (53)A.①、②、④ B.①、②、③、④ C.③、④、⑤ D.①、②、③、④、⑤

● 以下控制流程图的环路复杂性 V(G)等于(54) 。

(54)A.4 B.5 C.6 D.1

● 通过疲劳强度测试,最容易发现(55)问题。

55)A.并发用户数 B.内存泄漏 C.系统安全性 D.功能错误

17

● 针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件 覆盖的要求。

IF ( ( A - 10 ) = 20 AND ( B + 20 ) > 10 ) THEN C = 0 IF ( ( A - 30 ) < 10 AND ( B - 30 ) < 0 ) THEN B = 30

①A=50 B=-10 ②A=40 B=40 ③A=30 B=-10 ④A=30 B=30 (57)A.①② B.③④ C.①④ D.②④ ● 针对逻辑覆盖有下列叙述,(58)是不正确的。

(58)A.达到 100%DC 要求就一定能够满足 100%SC 的要求 B.达到 100%CC 要求就一定能够满足 100%SC 的要求 C.达到 100%CDC 要求就一定能够满足 100%SC 的要求 D.达到 100%MCDC 要求就一定能够满足 100%SC 的要求

● 以下所示程序控制流程图中有(59)条线性无关的基本路径。

(59)A.1B.2 C.3

● 针对以下 C 语言程序段,对于(MaxNum,Type)的取值,至少需要(62)个测试 用例能够满足判定覆盖的要求。 while ( MaxNum-- > 0 ) {

if ( 10 == Type ) x = y * 2; else

if ( 100 == Type ) x = y - 20;

(64)A.单元测试、集成测试、确认测试和系统测试 B.确认、验证和测试

C.需求评审、设计评审、单元测试和综合测试 D.开发方测试、用户测试和第三方测试

● GB/T 16260 将软件的内部(外部)质量属性划分为六大质量特性,分别是(65)(65)A.功能性,可靠性,易用性,效率,维护性和可移植性 B.功能性、可靠性、易用性、效率、稳定性和可移植性 C.功能性、可靠性、安全性、效率、易用性和可移植性

D.功能性、可靠性、兼容性、效率、稳定性和可移植性

● 软件内部/外部质量模型中,以下(66)不是功能性包括的子特性。 (66)A.适合性 B.准确性 C.稳定性 D.互操作性

● 《GB/T 18905 软件工程 产品评价》中确定的通用评价过程包括四个方面,其 中有关“规定评价”部分包含的内容有(67) 。

(67)A.选择度量、建立度量评定等级、确立评估准则 B.指定质量模型、选择度量、建立度量评定等级 C.选择度量、建立度量评定等级、制定评价计划 D.确定产品类型、选择度量、建立度量评定等级

● 下列测试工具中,使用(68)执行自动化负载压力测试,使用(69)执行代码 静态结构分析,使用(70)执行网络测试。 (68)A.SmartBits B.Logiscope

C.Quick Test Professional D.LoadRunner

(69)A.SmartBits B.Logiscope

C.Quick Test Professional

(70)A.SmartBits

C.Quick Test Professional D.LoadRunner B.Logiscope

2007年上半年下午题

试题一(15 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。

18

。[说明]

以下代码由 C 语言书写,能根据指定的年、月计算当月所含天数。 int GetMaxDay( int year, int month ) {

int maxday = 0;

if ( month >= 1 && month <= 12 ) {

if ( month == 2 ) {

if ( year % 4 == 0 ) {

if ( year % 100 == 0 ) {

if ( year % 400 == 0 ) maxday = 29; else

maxday = 28; } else

maxday = 29; } else

maxday = 28; } else {

if ( month == 4 || month == 6 || month == 9 || month == 11 ) maxday = 30; else

maxday = 31; } }

return maxday; }

[问题 1](4 分)

请画出以上代码的控制流图。 [问题 2](3 分)

请计算上述控制流图的环路复杂度 V(G)。 [问题 3](8 分)

假设 year 的取值范围是 1000 < year < 2001,请使用基本路径测试法为变量 year、

month 设计测试用例(写出 year 取值、month 取值、maxday 预期结果),

使之满足基本 路径覆盖要求。 试题二(16 分)

阅读下列说明,回答问题 1 至问题 5,将解答填入答题纸的对应栏内。 [说明]

负载压力性能测试是评估系统性能、性能故障诊断以及性能调优的有效手段。下述

表格是针对税务征管系统中“税票录入”业务的测试结果,系统服务器端由应用服务器

和单节点数据库服务器组成。

交 易 响 应 数据库服务器 应 用 服 务 器 并发用户交易吞吐量平均 时 间 平 均 CPU 平均利用 CPU 平均利数 用 值(trans/s) 值 (s) 率 率 10 0.56 0.57 37.50% 13.58% 20 2.15 1.16 57.32% 24.02% 30 3.87 3.66 70.83% 39.12% 50 7.02 6.63 97.59% 53.06%

[问题 1](4 分)

简述交易吞吐量和交易响应时间的概念。 [问题 2](2 分)

试判断随着负载增加,当交易吞吐量不再递增时,交易响应时间是否会递增,并说

明理由。

[问题 3](3 分)

根据上述测试结果,判断服务器资源使用情况是否合理,为什么? [问题 4](5 分)

在并发用户数为 50 时,如果交易吞吐量和交易响应时间都不满足需求,简述数据

库端造成此缺陷的主要原因,有效的解决方案是什么? [问题 5](2 分)

去年全年处理“税票录入”交易约 100 万笔,考虑到 3 年后交易量递增到每年 200 万笔。假设每年交易量集中在 8 个月,每个月 20 个工作日,每个工作日 8 小时,试采

用 80~20 原理估算系统服务器高峰期 “税票录入”的交易吞吐量(trans/s)。 试题三(15

分)

19

阅读下列说明,回答问题 1

至问题

3,将解答填入答题纸的对应栏内。 [说明]

ERP(企业资源计划)系统中,“计划管理”模块的流程图如下:

[问题 1](4 分)

因果图法是功能测试案例设计方法中的一种,简述利用因果图导出测试用例需要经 过哪几个步骤? [问题 2](4 分)

根据题干中的流程图,利用因果图法,找出哪些是正确的输入条件,那些是正确的

输出结果,将下列描述的字母编号填入表中。 a.可以进行销售发货管理

b.可用库存不满足销售需求(有可用库存) c.可用库存不满足销售需求(无可用库存) d.可用库存满足生产需求 e.可用库存不满足生产需求

f.可用库存不满足生产需求(无可用库存) g.可以进行 MPS 运算 h.可用库存满足销售需求 i.生成主生产计划 j.生成计划采购定单 k.生成计划生产定单 l.可以进行 MRP 运算

输入条件 输出结果 [问题 3](7 分) 下图画出“计划管理”模块的因果图。请把问题 2 中列出的输入条件和输出结果的

字母编号填入到空白框中相应的位置。

20

试题四(15 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

软件测试是与软件开发紧密相关的一系列有计划的系统性活动。软件测试需要用测 试模型去指导实践,软件测试专家通过测试实践总结出了很多很好的测试模型。 [问题 1](4 分)

V 模型是最具有代表意义的软件测试模型。请将开发活动和相应的测试活动填入下 图空白框中。 [问题 2](4 分)

在集成测试阶段,可采用不同的组装方式把模块组装起来形成一个可运行的系统, 其中增殖式组装方式包括哪几种?除增殖式组装方式外还有哪种组装方式? [问题 3](7 分)

测试工程师甲按照 V 模型安排测试活动,在验收测试阶段发现的某些功能缺陷是与 产品需求设计说明书有关,造成软件缺陷修复成本较高。你认为若采用 W 模型能否避 免类似问题出现?简述 W 模型的优点。

试题五(14)

阅读以下说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

企业在质量方面的投资会产生利润,诸如提高产品质量会提高公司的声誉,降低产

品交付之后的维护成本等等。测试是重要的质量保证手段,但必须付出相应的测试成本。 [问题 1](3 分)

简述测试实施成本的构成。 [问题 2](3 分)

简述缺陷探测率的计算公式。 [问题 3](8 分)

假设对一个开发的 MIS(管理信息系统)系统进行测试。属于质量预防方面的一致

性成本只考虑软件测试的投资,把发布之前和之后发现、修改缺陷产生的成本看成非一

致性成本。

假设发现的缺陷为

300

个,各阶段花费在发现及修改缺陷的成本假设如下: 在开发过程单元测试阶段,软件开发人员发现及修改每一个缺陷的成本为

100

元;

在独立测试阶段进行集成和系统测试,测试人员发现、开发人员修改、测试人员再

确认每一个缺陷的成本为 400

元;

在产品发布后,由客户发现,报告技术支持人员、相关开发人员修改,测试组再进

行回归测试,每一个缺陷的成本为

4000

元。

请对比这

3

种测试情况,填补下表空格中的内容

21

质量 成本项 测试成本项 自动测试 测试人工费 50000 试 环境使用费 10000 资 测试工具费 15000 测试总投资 单 发现缺陷数 80 测 每个缺陷成本 100 内部(开发)缺陷成本 独 发现缺陷数 215 测 试 每个缺陷成本 400 内部(测试)缺陷成本 回 发现缺陷数 5 测 每个缺陷成本 4000 外部缺陷成本 质 一致性成本 成 本 非一致性成本 总质量成本 DDP 缺陷探测率

2007年上半年软件评测师上午题&答案

下午参考答案

试题一【问题1】

22

随着负载增加,当交易吞吐量不再递增时,交易响应时间一般会递增。

当系统达到交易吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中。 【问题3】数据库服务器资源使用不合理。

当并发用户数达到50时,数据库服务器CPU平均利用率(%)达到97.5%,属不合理范围。【问题4】 数据库端造成此缺陷的主要原因包括: 服务器资源负载过重; 数据库设计不合理;

数据库单个事务处理响应时间长;系统并发负载造成最终用户响应时间长; 有效的解决方案是:采用数据库集群策略,并注意配置正确。 【问题5】(1000000*2*80%)/(8*20*8*3600*20%)=1.74trans/s 即服务器处理\"税票录入\"交易的吞吐量应达到1.74trans/s

试题三【问题1】(1)分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或输入条件的等价类,而结果是输出条件。(2)分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的\"因果图\"。

(3)标明约束条件。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个标准的符号标明约束条件。

(4)把因果图转换成判定表,为判定表中每一列表示的情况设计测试用例。【问题2】

【问题3】

【问题2】 V(G) = 7 【问题3】

试题二【问题1】交易吞吐量:系统服务器每秒能够处理通过的交易数。

交易响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。 【问题2】知识点包括:

23

试题四 【问题1】

【问题2】

自顶向下的增殖方式 自底向上的增殖方式 混合增殖式测试

除增殖式组装方式外还有一次性组装方式 【问题3】 能。

测试的活动与软件开发同步进行

测试的对象不仅仅是程序,还包括需求和设计 尽早发现软件缺陷可降低软件开发的成本 试题五 【问题1】

测试准备成本 测试执行成本 测试结束成本 【问题2】

缺陷探测率=测试者发现的错误数/(探测者发现的错误数+客户发现并反馈给技术支持人员进行修复的错误数)

【问题3】

2008年试题及答案解析

试题(1)

在计算机体系结构中,CPU内部包括程序计数器PC、存储器数据寄存器MDR、指令寄存器IR和存储器地址寄存器MAR等。若CPU要执行的指令为:MOV R0, #100(即将数值100传送到寄存器R0中),则CPU首先要完成的操作是 (1) 。

(1)A.100→R0 B.100→MDR C.PC→MAR D.PC→IR 试题(1)分析

本题考查计算机基本工作原理。

CPU中的程序计数器PC用于保存要执行的指令的地址,访问内存时,需先将内存地址送入存储器地址寄存器MAR中,向内存写入数据时,待写入的数据要先放入数据寄存器MDR。程序中的指令一般放在内存中,要执行时,首先要访问内存取得指令并保存在指令寄存器IR中。

24

计算机中指令的执行过程一般分为取指令、分析指令并获取操作数、运算和传送结果等阶段,每条指令被执行时都要经过这几个阶段。若CPU要执行的指令为:MOV R0, #100(即将数值100传送到寄存器R0中),则CPU首先要完成的操作是将要执行的指令的地址送入程序计数器PC,访问内存以获取指令。

参考答案 (1)C 试题(2)

现有四级指令流水线,分别完成取指、取数、运算、传送结果4步操作。若完成上述操作的时间依次为9ns、10ns、6ns、8ns,则流水线的操作周期应设计为 (2) ns。

(2)A.6 B.8 C.9 D.10 试题(2)分析

本题考查计算机流水线基本工作原理。

流水线的基本原理是把一个重复的过程分解为若干个子过程,前一个子过程为下一个子过程创造执行条件,每一个过程可以与其他子过程同时进行。流水线各段执行时间最长的那段为整个流水线的瓶颈,一般的,将其执行时间称为流水线的周期。

参考答案 (2)D 试题(3)

内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16KB×8bit的存储器芯片构成该内存,至少需要 (3) 片。

(3)A.2 B.4 C.8 D.16 试题(3)分析

本题考查计算机中的存储部件组成。

内存按字节编址,地址从90000H到CFFFFH时,存储单元数为CFFFFH-90000H=

3FFFFH,即218B。若存储芯片的容量为16K×8bit,则需218/16K=24个芯片组成该内存。

参考答案 (3)D 试题(4)

CPU中的数据总线宽度会影响 (4) 。

(4)A. 内存容量的大小 B. 系统的运算速度 C. 指令系统的指令数量 D. 寄存器的宽度 试题(4)分析

本题考查计算机组成基础知识。

CPU与其他部件交换数据时,用数据总线传输数据。数据总线宽度指同时传送的二进制位数,内存容量、指令系统中的指令数量和寄存器的位数与数据总线的宽度无关。数据总线宽度越大,单位时间内能进出CPU的数据就越多,系统的运算速度越快。

参考答案 (4)B 试题(5)

利用高速通信网络将多台高性能工作站或微型机互连构成机群系统,其系统结构形式属于 (5) 计算机。

(5)A. 单指令流单数据流(SISD) B. 多指令流单数据流(MISD) C. 单指令流多数据流(SIMD) D. 多指令流多数据流(MIMD) 试题(5)分析

本题考查计算机系统结构基础知识。 传统地,串行计算是指在单个计算机(具有单个中央处理单元)上顺序地执行指令。CPU按照一个指令序列执行以解决问题,但任意时刻只有一条指令可提供随时并及时的使用。

并行计算是相对于串行计算来说的,并行计算分为时间上的并行和空间上的并行。时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。

空间上的并行导致了两类并行机的产生,按照Flynn的说法,根据不同指令流-数据流组织方式把计算机系统分成4类:单指令流单数据流(SISD,如单处理机)、单指令流多数据流(SIMD,如相联处理机)、多指令流单数据流(MISD,如流水线计算机)和多指令流多数据流(MIMD,如多处理机系统)。利用高速通信网络将多台高性能工作站或微型机互连构成机群系统,其系统结构形式属于多指令流多数据流(MIMD)计 算机。

参考答案 (5)D 试题(6)

内存采用段式存储管理有许多优点,但\" (6) \"不是其优点。 (6)A. 分段是信息的逻辑单位,用户不可见 B. 各段程序的修改互不影响 C. 地址变换速度快、内存碎片少 D. 便于多道程序共享主存的某些段 试题(6)分析

本题考查操作系统内存管理方面的基本概念。操作系统内存管理方案有许多种,其中,分页存储管理系统中的每一页只是存放信息的物理单位,其本身没有完整的意义,因而不便于实现信息的共享,而段却是信息的逻辑单位,各段程序的修改互不影响,无内碎片,有利于信息的共享。

参考答案 (6)C 试题(7)

在软件设计和编码过程中,采取\" (7) \"的做法将使软件更加容易理解和维护。 (7)A. 良好的程序结构,有无文档均可 B. 使用标准或规定之外的语句

C. 编写详细正确的文档,采用良好的程序结构 D. 尽量减少程序中的注释 试题(7)分析

软件的易理解程度和可维护程度是衡量软件质量的重要指标,对于程序是否容易修改有重要影响。为使得软件更加容易理解和维护,需要从多方面做出努力。首先,要有详细且正确的软件文档,同时文档应始终与软件代码保持一致;其次,编写的代码应该具有良好的编程风格,如采用较好的程序结构,增加必要的程序注释,尽量使用行业或项目规定的标准等。

参考答案 (7)C 试题(8)

软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档。其中开发文档不包括 (8) 。

(8)A. 软件需求说明 B. 可行性研究报告 C. 维护修改建议 D. 项目开发计划 试题(8)分析

25

本题考查软件文档的分类和作用。软件文档在软件开发过程和运行维护中起着重要作用,比如文件可以提高软件开发过程的能见度,提高开发效率,便于协调软件的开发、使用和维护,另外也可对软件的运维和培训提供相关信息,便于各类相关人员之间进行交流。按照文档产生和使用范围,软件文件可分为开发文档、管理文档和用户文档,其中开发文档产生于软件开发过程,是前一阶段的工作成果体现,也是后一阶段工作的依据,用户文档是为用户准备的软件使用、操作、维护的资料。

参考答案 (8)C 试题(9)

软件维护成本在软件成本中占较大比重。为降低维护的难度,可采取的措施有 (9) 。 (9)A. 设计并实现没有错误的软件 B. 限制可修改的范围 C. 增加维护人员数量

D. 在开发过程中就采取有利于维护的措施,并加强维护管理 试题(9)分析

软件的可维护性、维护过程管理是否规范等对于软件维护成本具有举足轻重的作用。为提高软件的可维护性,在软件开发阶段就必须采取相关措施,如编制相关软件文档、规范软件编码规范、进行充分有效的测试、组织阶段评审等,而在软件提交用户使用后,必须规范维护过程管理。另外,各过程中可使用相关的辅助工具软件。

参考答案 (9)D

试题(10)

关于软件著作权产生的时间,表述正确的是 (10) 。 (10)A. 自软件首次公开发表时 B. 自开发者有开发意图时

C. 自软件得到国家著作权行政管理部门认可时 D. 自软件完成创作之日起 试题(10)分析

著作权法规定,软件著作权自软件开发完成之日起产生。 参考答案 (10)D 试题(11)

李某大学毕业后在M公司销售部门工作,后由于该公司软件开发部门人手较紧,李某被暂调到该公司软件开发部开发新产品,2周后,李某开发出一种新软件。该软件著作权应归 (11) 所有。

(11)A. 李某 B. M公司 C. 李某和M公司 D. 软件开发部 试题(11)分析

因李某大学毕业后在M公司销售部门工作,后由于该公司软件开发部门人手较紧,李某被暂调到该公司软件开发部开发新产品,2周后,李某开发出一种新软件。该软件与工作任务有关,属于职务作品。所以,该项作品应属于软件公司所有。

法律依据:著作权法规定\"执行本单位的任务或者主要是利用本单位的物质条件所完成的职务作品,其权利属于该单位。\"

职务作品人是指作品人或者设计人执行本单位的任务,或者主要是利用本单位的物质技术条件所完成的作品的人。该作品的权利为该作品人所在单位所有。职务作品包括以下情形: ① 在本职工作中做出的作品。

② 履行本单位交付的本职工作之外的任务所做出的作品。

③ 退职、退休或者调动工作后1年内做出的,与其在原单位承担的本职工作或者原单位分配的任务有关的作品。

④ 主要利用本单位的物质技术条件(包括本单位的资金、设备、不对外公开的技术资料等)完成的作品。

参考答案 (11)B

试题(12)、(13)

(12)是指把数据以及操作数据的相关方法组合在同一个单元中,使我们可以把类作为软件中的基本复用单元,提高其内聚度,降低其耦合度。面向对象中的(13)机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。

(12)A. 封装 B. 多态 C. 继承 D. 变异 (13)A. 封装 B. 多态 C. 继承 D. 变异 试题(12)、(13)分析

本题考查的是面向对象的基本概念。封装是指把数据以及操作数据的相关方法组合在同一个单元中。而多态指同一个消息可以具有不同的响应。面向对象中的继承使得子类能够获得父类的属性和方法,如同现实世界中的遗传现象。

参考答案

(12)A (13)C 试题(14)、(15)

(14)以静态或动态的连接方式,为应用程序提供一组可使用的类。(15)除了提供可被应用程序调用的类以外,还基本实现了一个可执行的架构。

(14)A. 函数库 B. 类库 C. 框架 D. 类属 (15)A. 函数库 B. 类库 C. 框架 D. 类属 试题(14)、(15)分析

本题考查的是框架和类库的概念与区别。类库为应用程序提供了一组可以被使用的类,而框架除了提供类之外,还基本实现了一个可以执行的架构。函数库提供被调用的函数。

参考答案

(14)B (15)C 试题(16)

(16) 是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。 (16)A. 结构化开发方法 B. Jackson系统开发方法 C. Booch方法 D. UML(统一建模语言) 试题(16)分析

本题考查软件开发方法基本概念。结构化开发方法是传统的、也是应用较为广发的一种软件开发方法,它基于数据流进行需求分析和软件设计,用抽象模型的概念,按照软件内部数据传递和转换关系,对问题和功能自顶向下逐层分解。Jackson系统开发方法是一种典型的面向数据结构的分析和设计方法,以活动为中心,一连串活动的顺序组合成一个完整的工作进程。Booch方法是一种面向对象的软件开发方法。UML仅仅是一种建模标准语言,规定了构成软件的各个元素和构件的图示规范。

参考答案 (16)A 试题(17)

26

采用UML进行软件设计时,可用 (17) 关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部分关系。

(17)A. 依赖 B. 聚集 C. 泛化 D. 实现 试题(17)分析

本题考查对UML中关系概念的理解。按照面向对象技术的描述,若两类事物之间存在特殊/一般关系,则用继承机制表示该关系,即UML中的泛化关系。

参考答案 (17)C

试题(18)、(19)

风险分析在软件项目开发中具有重要作用,包括风险识别、风险预测、风险评估和风险控制等。\"建立风险条目检查表\"是 (18) 时的活动,\"描述风险的结果\"是 (19) 时的活动。

(18)A. 风险识别 B. 风险预测 C. 风险评估 D. 风险控制 (19)A. 风险识别 B. 风险预测 C. 风险评估 D. 风险控制 试题(18)、(19)分析

本题考查软件开发过程中的风险分析基础知识。风险分析包括风险识别、风险预测、风险评估和风险控制等4个不同活动,在风险识别过程中,要识别潜在的预算、进度、个体、资源、用户和需求等方面的问题以及对整个项目的影响,并建立风险条目检查表,列出所有可能的风险事项。在风险预测过程中,需要建立一个表示风险可能性的参考标准,描述风险条目的结果,估计风险对项目的影响等。

参考答案

(18)A (19)B 试题(20)

关于汇编语言,以下叙述中正确的是 (20) 。 (20)A. 汇编语言源程序可以直接在计算机上运行

B. 将汇编语言源程序转换成目标程序的软件称为解释程序 C. 在汇编语言程序中,不能定义符号常量

D. 将汇编语言源程序翻译成机器语言程序的软件称为汇编程序 试题(20)分析

本题考查程序语言基本知识。

计算机能直接识别或执行的语言是机器语言,其他形式的语言程序都要先翻译成机器语言才能运行。汇编语言是对机器语言的第一层抽象,将0、1序列表示的操作用符号表示,例如,用MOV表示数据传送、ADD表示相加运算等,因此汇编语言需要翻译,实现该翻译任务的软件称为汇编程序(或汇编器)。

参考答案 (20)D 试题(21)

对高级语言源程序进行编译时,可发现源程序中的 (21) 错误。

(21)A. 堆栈溢出 B. 变量未定义 C. 指针异常 D. 数组元素下标越界 试题(21)分析

本题考查编译过程基本知识。

高级语言源程序中的错误分为两类:语法错误和语义错误,其中语义错误又可分为静态语义错误和动态语义错误。语法错误指语言结构上的错误,静态语义错误指编译时就能发现的程序含义上的错误,动态语义错误只有在程序运行时才能表现出来。堆栈溢出、指针异常和数组元素下标越界都是程序运行中才能出现的问题,而遵循先声明后引用原则的程序语言必须先定义变量,然后才能使用,否则编译器会在语法分析阶段指出变量未定义错误。

参考答案 (21)B 试题(22)

编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中, (22) 并不是每种编译器都必需的。

(22)A. 词法分析和语法分析 B. 语义分析和中间代码生成 C. 中间代码生成和代码优化 D. 代码优化和目标代码生成 试题(22)分析

本题考查程序语言翻译基础知识。

编译器对高级语言源程序的处理过程可以分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等阶段,以及符号表管理模块和出错处理模块。在编译器的分析综合模式中,前端将源程序翻译成一种中间表示,后端根据这个中间表示生成目标代码。目标语言的细节尽可能限制在后端。尽管可以将源程序直接翻译成目标语言代码,但使用与机器无关的中间表示形式具有以下优点:

① 重置目标比较容易。不同机器上的编译器可以在已有前端的基础上附加一个适合这个机器的后端来生成。

② 可以在中间表示上应用与机器无关的代码优化器。 参考答案 (22)C 试题(23)

下列叙述中错误的是 (23) 。

(23)A. 面向对象程序设计语言可支持过程化的程序设计

B. 给定算法的时间复杂性与实现该算法所采用的程序设计语言无关 C. 与汇编语言相比,采用脚本语言编程可获得更高的运行效率

D. 面向对象程序设计语言不支持对一个对象的成员变量进行直接访问 试题(23)分析

本题考查程序设计基础知识。关于脚本语言的一些基本知识如下:

① 脚本语言(JavaScript,VBscript等)是介于HTML和C、C++、Java、C#等编程语言之间的程序设计语言。HTML通常用于格式化和链接文本,而编程语言通常用于向机器发出一系列复杂的指令。

② 脚本语言中也使用变量和函数,这一点与编程语言相似。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂。

③ 脚本语言一般都有相应的脚本引擎来解释执行,是一种解释性语言,一般需要解释器才能运行。

④ 脚本语言一般以文本形式存在,类似于一种命令。

下面举例说明脚本语言。设有一个可执行程序open_aa.exe,用于打开扩展名为.aa的文件。编写.aa文件需要指定一套规则(语法),open_aa.exe就用这种规则来理解文件编写人的意图并做出回应。因此,这一套规则就是脚本语言。

汇编语言是符号化的机器语言,一般情况下,用汇编语言编写的程序比高级语言效率更高。根据脚本语言的以上特点,\"采用脚本语言编程可获得更高的运行效率\"是错 误的。

参考答案

27

(23)C

试题(24)、(25)

设有职工EMP(职工号, 姓名, 性别, 部门号,职务,进单位时间, 电话),职务JOB(职务,月薪)和部门DEPT(部门号, 部门名称, 部门电话, 负责人)实体集。一个职务可以由多个职工担任,但一个职工只能担任一个职务,并属于一个部门,部门负责人是一个职工。下图所示的a、b处的实体名分别为 (24) ;图中a、b之间为 (25) 联系。

(24)A. DEPT、EMP B. EMP、DEPT C. JOB、EMP D. EMP、JOB

(25)A. B. C. D. 试题(24)、(25)分析

本题考查数据库系统中ER模型方面的基础知识。

根据题意,职工EMP关系中一个职工只能担任一个职务,并属于一个部门,因此职工EMP和部门DEPT关系之间是一个一对多的联系 ,故a应为EMP关系;又因为一个职务可以由多个职工担任,所以职工EMP和职务关系之间是一个多对一的联系 。

职务JOB(职务,月薪)关系的主码为职务,部门DEPT关系的主码为部门号,因此根据外码是另一个关系中的主码的定义,职工EMP关系中的外码为部门号和职务。

参考答案

(24)D (25)C

试题(26)、(27)分析

本题考查的是应试者对数据库系统中模式方面的基本概念。

站在数据库管理系统的角度看,数据库系统体系结构一般采用三级模式结构。数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。

模式/内模式的映像:该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。

外模式/模式的映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。

正因为这两级映射保证了数据库中的数据具有较高的逻辑独立性和物理独立性。数据的独立性是指数据与程序独立,将数据的定义从程序中分离出去,由DBMS负责数据的存储,从而简化应用程序,大大减少应用程序编制的工作量。

参考答案

(26)C (27)D 试题(28)、(29) 若关系R、S如下图所示,则R与S自然连接后的属性列数和元组个数分别为 (28) ;

= (29) 。 A B C D C D a b c d c d a c d c g f a d g f a b g f R

S (28)A. 4和3 B. 4和6 C. 6和3 D. 6和6

试题(28)、(29)分析

本题考查关系运算方面的基础知识。

根据自然连接要求,两个关系中进行比较的分量必须是相同的属性组,并且在结果中将重复属性列去掉,故 后的属性列数为4。同时,自然连接是一种特殊的等值连接,即R关系中的C、D属性与S关系中的C、D属性进行等值连接,并去掉重复属性列,其结果为:

可见

后的元组个数为3。因此试题(55)的正确答案是A。

对于试题(56)

分析如下:

的6个属性列为: RR.B R.C R.D S.C S.D .A 表示R与S关系进行笛卡儿积后,选取第3个属性等于第6个

属性的元组,即选取R.C等于S.D的元组;

表示从

的结果中投影第1个和第4个属性列,即投影R.A和R.D属性列,

因此试题(56)的正确答案是C。

参考答案

(28)A (29)C 试题(30)

某公司采用的软件开发过程通过了CMM2认证,表明该公司 (30) 。 (30)A. 开发项目成效不稳定,管理混乱

B. 对软件过程和产品质量建立了定量的质量目标

28

C. 建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制 D. 可集中精力采用新技术新方法,优化软件过程 试题(30)分析

本题考查软件能力成熟度模型(Capability maturity model,CMM)的基本概念。CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义、评价软件开发过程的成熟度,并提供提高软件质量的指导。CMM模型定义了初始级(1级)、可重复级(2级)、定义级(3级)、管理级(4级)、优化级(5级)共5个成熟度等级,低级别是实现高级别的基础。该公司通过了CMM2认证,表明了它的软件开发过程成熟度达到了2级标准,即已经建立了基本的项目级管理制度和规程,可对项目的成本、进度进行跟踪和控制,以加强过程能力。

参考答案 (30)C 试题(31)

国标16260中,在描述外部(内部)效率度量时,给出了若干针对计算机系统时间消耗的定义,以下描述项中正确的有(31)。

① 响应时间是指从按下传送键到得到结果为止所需要的时间。

② 处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间。 ③ 周转时间是指从提出要求到得到结果所需要的时间。 ④ 响应时间包括处理时间和传输时间。

(31)A.① ② ③ ④ B.① ③ C.② ③ D.① ② ④ 试题(31)分析

本题考查国标16260中的效率度量。 正确的概念如下:

响应时间包括处理时间和传输时间,是指从按下传送键到得到结果为止所需要的时间。

处理时间是指从接受一个消息到送出它的结果之间计算机的历时时间。 周转时间是指从提出要求到得到结果所需要的时间。 参考答案 (31)A 试题(32)

测试用例是测试使用的文档化的细则,其规定如何对软件某项功能或功能组合进行测试。测试用例应包括下列(32)内容的详细信息。

① 测试目标和被测功能。 ② 测试环境和其他条件。 ③ 测试数据和测试步骤。 ④ 测试记录和测试结果。

(32)A.① ③ B.① ② ③ C.① ③ ④ D.① ② ③ ④ 试题(32)分析

本题考查测试用例的概念。 测试用例应包括: 测试目标和被测功能。 测试环境和其他条件。 测试数据和测试步骤。 参考答案 (32)B 试题(33)

软件内部/外部质量模型中,(33)不是可移植性包括的子特性。 (33)A.适应性 B.易改变性 C.共存性 D.易替换性 试题(33)分析

本题考查国标16260中可移植性包括的子特性。 可移植性包括的子特性如下。

适应性:软件产品无需采用手段就可能适应不同的指定环境的能力。 易安装性:软件产品在指定环境中被安装的能力。

共存性:软件在公共环境中分享资源与其他独立软件共存的能力。 易替换性:在环境、目的相同的情况下替代另一个指定软件的能力。 可移植性依从性:软件产品依从可移植性相关的标准或约定的能力。 参考答案 (33)B 试题(34)

评价规格说明中不包括(34) 。

(34)A.分析产品的描述 B.规定对产品及部件执行的测量 C.按照评价需求验证产生的规格说明 D.请求者说明评价覆盖范围 试题(34)分析

本题考查评价过程中如何编写评价规格说明。 编制评价规格说明的活动由下列3个子活动组成: 分析产品的描述。

规定对产品及部件执行的测量。 按照评价需求验证编制的规格说明。 参考答案 (34)D 试题(35)

在进行产品评价时,评价者需要对产品部件进行管理和登记,其完整的登记内容应包括(35)。

① 部件或文档的唯一标识符。 ② 部件的名称或文档标题。

③ 文档的状态,包括物理状态或变异方面的状态。 ④ 请求者提供的版本、配置和日期信息。

(35)A.① ③ B.① ② C.① ③ ④ D.① ② ③ ④ 试题(35)分析

本题考查评价执行时,软件样品登记的内容。 软件样品登记的信息应至少包括: 部件或文档的唯一标识符。 部件的名称或文档标题。

文档的状态(包括物理状态或变异状态)。 请求者提供样品的版本、配置和日期信息。 接收的日期。

除非请求者有另外的许可,否则,评价者将保守全部产品部件和相关文档的秘密。 参考答案 (35)D 试题(36)

29

下面的描述中,不能体现前置测试模型要点的是(36) 。

(36)A.前置测试模型主张根据业务需求进行测试设计,认为需求分析阶段是进行测试计划和测试设计的最好时机

B.前置测试模型将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为,提出业务需求最好在设计和开发之前就被正确定义

C.前置测试将测试执行和开发结合在一起,并在开发阶段以编码-测试-编码-测试的方式来体现,强调对每一个交付的开发结果都必须通过一定的方式进行测试

D.前置测试模型提出验收测试应该独立于技术测试,以保证设计及程序编码能够符合最终用户的需求

试题(36)分析

本题考查前置测试模型的概念。

前置测试模型主张根据业务需求进行测试设计,认为设计阶段是进行测试计划和测试设计的最好时机。

参考答案 (36)A 试题(37)

在进行软件编码规范评测过程中需要围绕几个方面的内容展开,以下描述中不属于编码规范评测内容的有(37) 。

(37)A.源程序文档化检查,包括符号名的命名、程序的注释等规范性检查 B.数据说明检查,包括数据说明次序、语句中变量顺序检查

C.程序结构检查,程序应采用基本的控制结构、避免不必要的转移控制等 D.程序逻辑检查,阅读源代码,比较实际程序控制流与程序设计控制流的区别 试题(37)分析

本题考查编码规范评测的内容。

软件编码规范评测也是围绕以下4个方面展开:源程序文档化、数据说明的方法、语句结构和输入/输出方法。

参考答案 (37)D 试题(38)

(38)属于概要设计说明书的评测内容。

① 分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。

② 系统定义的目标是否与用户的要求一致。

③ 从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护。 ④ 是否所有界面与更高级别文档中的需求一致。

(38)A.① ② ③ B.① ③ ④ C.② ③ ④ D.① ② ③ ④ 试题(38)分析

本题考查概要设计说明书的评测内容。 概要设计说明书的评测内容如下。

可追溯性:分析该软件的系统结构、子系统结构,确认该软件设计是否覆盖了所有已确定的软件需求,软件每一成分是否可追溯到某一项需求。

接口:分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义,模块是否满足高内聚和低耦合的要求,模块作用范围是否在其控制范围之内。

风险:确认该软件设计在现有技术条件下和预算范围内是否能按时实现。 实用性:确认该软件设计对于需求的解决方案是否实用。

技术清晰度:确认该软件设计是否以一种易于翻译成代码的形式表达。

可维护性:从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护。 质量:确认该软件设计是否表现出良好的质量特征。

各种选择方案:看是否考虑过其他方案,比较各种选择方案的标准是什么。 限制:评估对该软件的限制是否现实,是否与需求一致。 其他具体问题:对于文档、可测试性、设计过程等进行评估。 参考答案 (38)B 试题(39)

关于确认测试,描述正确的是(39) 。

① 确认测试一般包括有效性测试与软件配置复查,采用黑盒测试为主,白盒测试为辅的测试方法进行测试。

② 确认测试配置项复查时应当严格检查用户手册和操作手册中规定的使用步骤的完整性和正确性。

③ 确认测试需要检测与证实软件是否满足软件需求说明书中规定的要求。

④ 确认测试是保证软件正确实现特定功能的一系列活动和过程,目的是保证软件生命周期中的每一个阶段的成果满足上一个阶段所设定的目标。

(39)A.① ② B.② ③ C.③ ④ D.② ④ 试题(39)分析

本题考查确认测试的概念。

确认测试的任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明中明确规定。确认测试一般包括有效性测试和软件配置复查。

有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证所测软件是否满足需求规格说明书列出的需求。

软件配置复查。软件配置复查的目的是保证软件配置的所有成分都齐全,各 方面的质量都符合要求,具有维护阶段所必须的细节,而且已经编排好分类的目录。

参考答案 (39)B 试题(40)

关于软件测试的说法,(40)是不正确的。

(40)A.代码审查是代码检查的一种,是由程序员和测试员组成一个审查小组,通 过阅读、讨论和争议,对程序进行静态分析的过程

B.软件测试的对象不仅仅是程序,文档、数据和规程都是软件测试的对象 C.白盒测试是通过对程序内部结构的分析、检测来寻找问题的测试方法 D.单元测试是针对软件设计的最小单位--程序模块进行正确性检验的测试 工作,它通常需要开发辅助的桩模块作为主程序调用被测模块来完成测试 试题(40)分析

本题考查软件测试的基本概念。

代码审查是代码检查的一种,是由程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。

软件测试的对象不仅仅是程序,文档、数据和规程都是软件测试的对象。 白盒测试是通过对程序内部结构的分析、检测来寻找问题的测试方法。

30

单元测试又称模块测试,是针对软件设计的最小单位--程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。

参考答案 (40)D 试题(41)

关于集成测试的描述中,正确的是(41) 。

① 集成测试也叫做组装测试或联合测试,通常是在单元测试的基础上,将所有模块按照概要设计说明书和详细设计说明书的要求进行组装和测试的过程。

② 自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模块中存在的错误能够较早地发现。

③ 自底向上的增殖方式需要建立桩模块,并行地对多个模块实施测试,并逐步形成程序实体,完成所有模块的组装和集成测试。

④ 在集成测试时,测试者应当确定关键模块,对这些关键模块及早进行测试,比如高层控制模块、有明确性能要求和定义的模块等。

(41)A.① ② B.② ③ C.① ④ D.② ④ 试题(41)分析

本题考查集成测试的相关概念。

集成测试也叫做组装测试或联合测试。通常,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。

自顶向下的增值方式是将模块按系统程序结构,沿控制层次自顶向下进行组装。自顶向下的增值方式在测试过程中较早地验证了主要的控制和判断点。在一个功能划分合理的程序模块结构中,判断常常出现在较高的层次里,因而,能够较早地遇到这种问题。如果主要控制有问题,尽早发现它能够减少以后的返工,这是十分必要的。如果选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能,可先对逻辑输入的分支进行组装和测试,检查和克服潜藏的错误和缺陷,验证其功能的正确性,就为其后对主要加工分支的组装和测试提供了保证。

自底向上的增值方式是从程序模块结构的最底层模块开始组装和测试。自底向上增值方式的缺点是\"程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体\"。就是说,在自底向上组装和测试的过程中,对主要的控制直到最后才接触到。这种方式的优点是不需要桩模块,而建立驱动模块一般比建立桩模块容易,同时由于涉及到复杂算法和真正输入/输出的模块最先得到组装和测试,可以把最容易出问题的部分在早期解决。此外自底向上增值的方式可以实施多个模块的并行测试,提高测试效率。因此,通常是把以上两种方式结合起来进行组装和测试。

在进行集成测试时,测试者应当确定关键模块,对这些关键模块及早进行测试。关键模块至少应具有特征:满足某些软件需求、在程序的模块结构中位于较高的层次(高层控制模块)、较复杂和较易发生错误、有明确定义的性能要求。

参考答案 (41)C 试题(42)

缺陷探测率DDP是衡量一个公司测试工作效率的软件质量成本的指标。在某公司开发一个软件产品的过程中,开发人员自行发现并修正的缺陷数量为80个,测试人员A发现的缺陷数量为50个,测试人员B发现的缺陷数为50个,测试人员A和测试人员B发现的缺陷不重复,客户反馈缺陷数量为50个,则该公司针对本产品的缺陷探测率为(42)。

(42)A.56.5% B.78.3% C.43.5% D.34.8%

试题(42)分析

本题考查缺陷探测率DDP的概念。

缺陷探测率DDP是另一个衡量测试工作效率的软件质量成本的指标,计算公式如下:

其中, 为测试者发现的错误数; 为客户发现并反馈技术支持人员进行修复的错误数。

参考答案 (42)B 试题(43)

在执行测试和评价的过程中,会产生较多的文档,(43)是对文档内容的正确描述。 ① 评价需求的主要内容是描述评价的目标,特别是描述了产品的质量需求。

② 评价规格说明的主要内容是确定对软件及其部件实行的所有分析和测量,标识要采用的操作规程、测试方法和工具。

③ 评价记录的主要内容是对评价执行过程的详细记载,由评价请求者保留。

④ 评价报告的主要内容是执行测量和分析的结果,以及能被重复和重新评价的必要信息。

(43)A.① ② B.② ③ C.① ④ D.② ④ 试题(43)分析

本题考查对测试和评价的过程中产生的文档的理解。

评价需求的主要内容是描述评价的目标,特别是描述了产品的质量需求。

评价规格说明是确定对软件及其部件实行的所有分析和测量,标识要分析和测量的软件部件。

评价记录是评价执行计划时详细记载的动作组成。

评价报告的主要内容是执行测量和分析的结果,以及能被重复和重新评价的必要信息。

参考答案 (43)C 试题(44)

用等价类划分法设计8位长数字类型用户名登录操作的测试用例,应该分成(44)个等价区间。

(44)A.2 B.3 C.4 D.6 试题(44)分析

本题考查黑盒测试用例的设计方法--等价类划分法。

等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会查出错误(除非等价类中的某些例子属于另一等价类,因为几个等价类是可能相交的)。

参考答案 (44)C 试题(45)

下面为C语言程序,边界值问题可以定位在(45)。

31

int data(3), int i, for (i=1,i<=3,i++) data(i)= 100 (45)A. data(0) B. data(1) C. data(2) D. data(3) 试题(45)分析

本题考查测试用例的设计方法--边界值法。 在本题中创建了一个3个元素的数组。程序从1~3循环将数组元素的值初始化为100,但是由于数组的第一个元素是data(0),因此它没有被初始化。

参考答案 (45)A

试题(46)分析

本题考查软件测试的基本概念。 正确的概念是:

测试用例应由测试设计人员来制定。 测试点应由测试设计人员确立。

测试工作展开于项目立项后,而不是代码开发完成之后。

软件包括程序、数据和文档,所以软件测试并不仅仅是程序测试。 参考答案 (46)C 试题(47)

通常测试用例很难100%覆盖测试需求,因为(47)。 ① 输入量太大。 ② 输出结果太多。 ③ 软件实现途径多。

④ 测试依据没有统一标准。

(47)A.① ② B.① ③ C.① ② ③ D.① ② ③ ④ 试题(47)分析

本题考查测试用例很难100%覆盖测试需求的原因。 原因包括: 输入量太大。 输出结果太多。 软件实现途径多。

测试依据没有统一标准。 参考答案 (47)D 试题(48)

假定X为整数类型变量,X>=1并且X<=10,如果用边界值分析法,X在测试中应该取(48)值。

(48)A.1,10 B.0,1,10,11 C.1,11 D.1,5,10,11 试题(48)分析

本题考查边界值分析法中选择边界值的原则之一。

正确的理解是:如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

参考答案

(48)B 试题(49)

以下(49)方法不是黑盒测试用例的设计方法。

(49)A. 场景法 B. 边界值法 C. 因果图法 D. 路径法 试题(49)分析

本题考查黑盒测试用例的设计方法。

黑盒测试用例的设计方法包括:等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。

参考答案 (49)D 试题(50)

不属于界面元素测试的是(50) 。

(50)A.窗口测试 B.文字测试 C.功能点测试 D.鼠标测试 试题(50)分析

本题考查界面元素测试的内容。

界面元素测试包括:窗口测试、菜单测试、图标测试、文字测试、鼠标测试。 参考答案 (50)C 试题(51)

以下说法不正确的是(51) 。

(51)A.易用性测试不仅是针对应用程序的测试,而且还要包括用户手册等系列文档

B.安装测试就是按照用户安装手册安装软件,来评估安装过程的易用性、正确性 C.辅助系统测试包括帮助测试、向导测试、信息提示测试等

D.界面整体测试是指对界面的规范性、可维护性、整体性等进行测试和评估 试题(51)分析

本题考查易用性测试的概念。 正确的概念如下:

易用性测试不仅是针对应用程序的测试,而且还包括用户手册等系列文档。 安装测试就是按照用户安装手册安装软件,来评估安装过程的易用性、正确性。 辅助系统测试包括帮助测试、向导测试、信息提示测试等。

界面整体测试是指对界面的规范性、一致性、合理性等进行测试和评估。 参考答案 (51)D 试题(52)

针对下列程序段,需要(52)个测试用例才可以满足语句覆盖的要求。 switch ( value ) { case 0: other = 30; break; case 1: other = 50; break; case 2: 32

other = 300; case 3: other = other / value; break; default: other = other * value; } (52)A.2 B.3 C.4 D.5 试题(52)分析

本题考查白盒测试用例设计方法--语句覆盖法的概念。

语句覆盖(Statement Coverage)的含义是:选择足够多的测试数据,使被测程序中的每条语句至少执行一次。

参考答案 (52)C 试题(53)

针对逻辑覆盖(53)叙述是不正确的。

(53)A.达到100%CC要求就一定能够满足100%DC的要求 B.达到100%CDC要求就一定能够满足100%DC的要求 C.达到100%MCDC要求就一定能够满足100%DC的要求 D.达到100%路径覆盖要求就一定能够满足100%DC的要求 试题(53)分析

本题考查白盒测试用例设计方法的基本概念。

达到100%CC要求不一定能够满足100%DC的要求。 达到100%CDC要求就一定能够满足100%DC的要求。 达到100%MCDC要求就一定能够满足100%DC的要求。 达到100%路径覆盖要求就一定能够满足100%DC的要求。 参考答案 (53)A 试题(54)

以下控制流程图的环路复杂性V(G)等于(54)。 (54)A. 5 B. 6 C. 9 D 12 试题(54)分析

本题考查白盒测试中控制流程图的环路复杂性V(G)的计算方法。 其计算方法包括3种: V(G)=区域数

V(G)=判断结点数+1 V(G)=边-节点+2 参考答案 (54)B 试题(55)

在程序控制流图中,有8条边,6个节点,则控制流程图的环路复杂性V(G)等于(55)。 (55)A. 2 B. 4 C. 6 D. 8 试题(55)分析

本题考查白盒测试中控制流程图的环路复杂性V(G)的计算方法。 其计算方法包括3种: V(G)=区域数 V(G)=判断结点数+1 V(G)=边-节点+2

参考答案 (55)B 试题(56)

针对程序段: IF(X>10)AND(Y<20)THEN W=W/A,对于(X,Y)的取值,以下(56)组测试用例能够满足判定覆盖的要求。

(56)A.(30,15)(40,10)B.(3,0)(30,30) C.(5,25)(10,20)D.(20,10)(1,100) 试题(56)分析

本题考查白盒测试用例设计方法--判定覆盖法的概念。

比语句覆盖稍强的覆盖标准是判定覆盖(Decision Coverage)。判定覆盖的含义是:设计足够的测试用例,使得程序中的每个判定至少都获得一次\"真值\"或\"假值\",或者说使得程序中的每一个取\"真\"分支和取\"假\"分支至少经历一次,因此判定覆盖又称为分支覆盖。

参考答案 (56)D 试题(57)

关于数据库索引,以下表述正确的是(57) 。

① 如果对表创建了索引,那么更新、插入和删除表中的记录都将导致额外的系统开销。

② 全表扫描一定比使用索引的执行效率低。 ③ 在字段选择性很低的情况下适用索引。

④ 一个表创建的索引越多,对系统的性能提升越大。 (57)A.① ② ③B. ① ③C. ① ② ③ ④D. ① ③ ④ 试题(57)分析

本题考查性能测试中数据库索引的概念。 正确的描述是:

如果对表创建了索引,那么更新、插入和删除表中的记录都将导致额外的系统开销。 当表中记录数不多时,全表扫描不一定比使用索引的执行效率低。

33

在字段选择性很低的情况下适用索引。

当索引建立不正确时,一个表创建的索引多,不一定对系统的性能提升大。 参考答案 (57)B 试题(58)

对于提升磁盘I/O性能问题,以下表述正确的是(58) 。

(58)A.数据库对象在物理设备上的合理分布能改善系统读写性能 B.磁盘镜像可以提高磁盘读写的速度

C.建议把数据库、回滚段、日志放在同一块设备上,以提高数据读写的性能 D.将磁盘升级到更大容量可提高磁盘I/O速度 试题(58)分析

本题考查提升磁盘I/O的方法。 正确的概念是:

数据库对象在物理设备上的合理分布能改善系统读写性能。 不是所有的磁盘镜像都可以提高磁盘读写的速度。

建议把数据库、回滚段、日志不要放在同一块设备上,以提高数据读写的性能。 将磁盘升级到更大容量并不能提高磁盘I/O速度。 参考答案 (58)A 试题(59)

反映Web应用客户端交易处理性能的评估指标有(59) 。

①并发用户数 ②交易响应时间 ③交易通过率 ④吞吐量 ⑤点击率 (59)A.① ② ③ ④B.① ② ③ ④ ⑤C.② ③D.② ③ ④ 试题(59)分析

本题考查负载压力测试中Web应用客户端交易处理性能的评估指标。

并发用户数、交易响应时间、交易通过率、吞吐量、点击率都是Web应用客户端交易处理性能的评估指标。

参考答案 (59)B 试题(60)

(60)是功能测试工具。

(60)A.LoadRunnerB. WinRunnerC. QALoadD. WAS 试题(60)分析

本题考查测试工具的概念。

WinRunner是功能测试工具,其他各项都是负载压力性能测试工具。 参考答案 (60)B 试题(61)

(61)是导致软件缺陷的最大原因。

(61)A.需求规格说明书 B.设计方案 C.编写代码 D.测试计划 试题(61)分析

本题考查导致软件缺陷的最大原因。

需求规格说明书是导致软件缺陷的最大原因。 参考答案 (61)A 试题(62)

根据ANSI/IEEE829标准,(62)属于《测试案例说明》中的内容。 ①输入说明 ②测试目的 ③环境要求 ④特殊要求 (62)A.① ② ③B.① ③ ④C.② ③D.① ② ③ ④ 试题(62)分析

本题考查IEEE829标准中《测试案例说明》的定义。

输入说明、环境要求、特殊要求是《测试案例说明》中的内容。 参考答案 (62)B 试题(63)

负载压力性能测试需求分析时,应该选择(63)类型的业务作为测试案例。

① 高吞吐量的业务 ② 业务逻辑复杂的业务 ③ 高商业风险的业务 ④ 高服务器负载的业务 ⑤ 批处理的业务

(63)A.① ② ③B.① ③ ④C.① ④D.① ② ③ ④ ⑤ 试题(63)分析

本题考查负载压力性能测试需求分析的方法。

应该选择高吞吐量的业务、高商业风险的业务、高服务器负载类型的业务作为测试案例。

参考答案 (63)B 试题(64)

测试记录包括(64)。

① 测试计划或包含测试用例的测试规格说明。 ② 测试期间出现问题的评估与分析。

③ 与测试用例相关的所有结果,包括在测试期间出现的所有失败。 ④ 测试中涉及的人员身份。

(64)A.① ② ③B.① ③ ④C.② ③D.① ② ③ ④ 试题(64)分析

本题考查测试记录的内容。 测试记录包括:

测试计划或包含测试用例的测试规格说明。

与测试用例相关的所有结果,包括在测试期间出现的所有失败。 测试中涉及的人员身份。 参考答案 (64)B 试题(65)

在性能测试中,关于数据准备,(65)描述是正确的。 ① 识别数据状态验证测试案例。

② 初始数据提供了基线用来评估测试执行的结果。 ③ 业务数据提供负载压力背景。 ④ 脚本中参数数据真实模拟负载。

(65)A.① ② ③B.① ③ ④C.② ③D.① ② ③ ④ 试题(65)分析

本题考查性能测试中为什么要准备测试数据。

34

原因包括:

识别数据状态验证测试案例。

初始数据提供了基线用来评估测试执行的结果。 业务数据提供负载压力背景。 脚本中参数数据真实模拟负载。 参考答案 (65)D

试题(66)、(67)

运行Web 浏览器的计算机与网页所在的计算机要建立 (66) 连接,采用(67) 协议传输网页文件。

(66)A. UDP B. TCP C. IP D. RIP (67)A. HTTP B. HTML C. ASP D. RPC 试题(66)、(67)分析

运行Web 浏览器的计算机与网页所在的计算机首先要建立TCP连接,采用HTTP协议传输网页文件。HTTP是Hyper Text Transportation Protocol(超文本传输协议)的缩写,是计算机之间交换数据的方式。HTTP应用的相当广泛,其主要任务是用来浏览网页,但也能用来下载。用户是按照一定的规则(协议)和提供文件的服务器取得联系,并将相关文件传输到用户端的计算机中来。

参考答案

(66)B (67)A 试题(68)

(68) 不属于电子邮件协议。

(68)A. POP3 B. SMTP C. IMAP D. MPLS 试题(68)分析

本题考查电子邮件协议。 POP3(Post Office Protocol 3)协议是适用于C/S结构的脱机模型的电子邮件协议。SMTP(Simple Mail Transfer Protocol)协议是简单邮件传输协议。IMAP (Internet Message Access Protocol)是由美国华盛顿大学所研发的一种邮件获取协议。MPLS (Multiprotocol Label Switch)即多协议标记交换,是一种标记(label)机制的包交换技术。

参考答案 (68)D 试题(69)

某客户端在采用ping命令检测网络连接故障时,发现可以ping通127.0.0.1及本机的IP地址,但无法ping通同一网段内其他工作正常的计算机的IP地址,说明该客户端的故障是 (69) 。

(69)A. TCP/IP协议不能正常工作 B. 本机网卡不能正常工作 C. 本机网络接口故障 D. 本机DNS服务器地址设置错误 试题(69)分析

本题考查ping命令的使用。

采用ping命令检测网络连接故障时,可以先输入Ping 127.0.0.1,即本地循环地址,如发现本地址无法Ping通,就表明本地机TCP/IP协议不能正常工作。

如果上面的操作成功,接下来可以Ping 本机IP,若通,则表明网络适配器(网卡或MODEM)工作正常,不通则是网络适配器出现故障。

最后Ping同网段中某计算机的IP,如果ping不通则表明网络线路出现故障。 参考答案 (69)C 试题(70)

用户可以通过http://www.a.com和http://www.b.com访问在同一台服务器上(70)不同的两个Web站点。

(70)A. IP地址 B. 端口号 C. 协议 D. 虚拟目录 试题(70)分析

本题考查IIS下多站点的配置。

在IIS下配置多站点时,可以采用虚拟主机和虚拟目录两种方式。

采用虚拟目录时,发布的站点没有独立域名,而是在主域名下建立虚拟目录,从题目要求看,需要两个独立的域名,所以不能实现。

采用虚拟主机时有3种方式,即使用不同IP地址、不同端口号和不同的主机头。 使用不同IP地址时要求Web服务器配备多网卡;使用不同端口号时,要求在访问Web服务器虚拟主机时指名端口号,如http://www.b.com:8080;使用不同主机头时,在IIS发布中要做主机头域名指定。

从题目选项中可见,只有A选项符合要求。 参考答案 (70)A

试题(71)~(75)

Object-oriented analysis (OOA) is a semiformal specification technique for the object-oriented paradigm. Object-oriented analysis consists of three steps. The first step is (71). It determines how the various results are computed by the product and presents this information in the form of a (72) and associated scenarios. The second is (73) , which determines the classes and their attributes. Then determine the interrelationships and interaction among the classes. The last step is (74) , which determines the actions performed by or to each class or subclass and presents this information in the form of (75) .

(71)A. use-case modeling B. class modeling C. dynamic modeling D. behavioral modeling (72)A. collaboration diagram B. sequence diagram C. use-case diagram D. activity diagram (73)A. use-case modeling B. class modeling C. dynamic modeling D. behavioral modeling (74)A. use-case modeling B. class modeling C. dynamic modeling D. behavioral modeling (75)A. activity diagram B. component diagram C. sequence diagram D. state diagram

参考译文

面向对象的分析(OOA)是一种面向对象范型的半形式化描述技术。面向对象的分析包括3个步骤:第1步是用例建模,它决定了如何由产品得到各项计算结果,并以用例图和相关场景的方式展现出来;第2步是类建模,它决定了类及其属性,然后确定类之间的关系和交互;第3步是动态建模,它决定了类或每个子类的行为,并以状态图的形式进行表示。

参考答案

(71)A (72)C (73)B (74)C (75)D

35

试题一(共15分) 阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】 某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下: 1.系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。 2.系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。 3.根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为1周,每位客户每次最多只能租借6件音像制品。 4.客户租借某种音像制品的具体流程如下。 (1)根据客户提供的用户名和密码,验证客户身份。 (2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。 (3)若还有该音像制品,且客户所要租借的音像制品数小于等于6个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。 (4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。 (5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。 5.当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。 6.客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。 (点击查看大图) (b) 【问题1】 图(a)中只有一个外部实体E1。使用【说明】中的词语,给出E1的名称。 【问题2】 使用【说明】中的词语,给出图(b)中的数据存储D1~D4的名称。 【问题3】 数据流图(b)缺少了3条数据流,根据说明及数据流图(a)提供的信息,分别指出这3条数据流的起点和终点。 起 点 终 点 【问题4】 在进行系统分析与设计时,面向数据结构的设计方法(如Jackson方法)也被广泛应用。简要说明面向数据结构设计方法的基本思想及其适用场合。

36

(a) 试题一分析

本题考查数据流图的设计和应用。

根据题目说明,本系统的外部实体仅仅涉及到客户,因此系统的顶层数据流图中E1应该对应为客户。

题目的第二个问题在于识别系统中的数据文件D1~D4,根据0层数据流图中的数据文件与处理之间的关系分析可以得知:

D1为创建新客户加工的输出,并且为加工1、6和7的输入,再根据题目中的描述,客户信息文件与创建客户信息、预约、归还和履行预约都相关,因此D1便是客户信息文件。同理可分析出D2为音像制品信息文件、D3为租借记录文件、D4为预约记录文件。

图(b)中缺少了3条数据流,我们先检查顶层数据流图和0层数据流是否一致。首先,从顶层数据流图中可以看出,与E1直接相关的数据流共有9条,而在0层数据流图中与E1直接关联的只有7条,因此可以直接断定,图(b)中至少缺少直接与E1相关的两条数据流:新客户创建请求和预约流水号。新客户创建请求通过创建新客户加工将客户的信息写入客户信息文件中,因此其起点和终点分别为:E1和4。同理,预约流水号的起点和终点为5和E1。在说明中,客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。因此,在客户归还和履行预约服务之间存在着数据上的联系。

面向数据结构的设计方法以数据结构作为设计的基础,它根据输入/输出数据结构导出程序的结构。面向数据结构的设计方法用于规模不大的数据处理系统。

参考答案 【问题1】 E1:客户 【问题2】

D1: 客户信息文件 D2: 音像制品信息文件 D3: 租借记录文件 D4: 预约记录文件 【问题3】 起 点 终 点 E1 或 客户 4 或 创建新客户 5 或 创建预约记录 E1 或 客户 6 或 归还音像制品 7 或 履行预约服务 注意:3条数据流无前后顺序区分。 【问题4】

面向数据结构的设计方法以数据结构作为设计的基础,它根据输入/输出数据结构导出程序的结构。

面向数据结构的设计方法用于规模不大的数据处理系统。 试题二(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。 【需求分析结果】

1.登记参赛。球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。

2.安排球队的训练信息。比赛组织者为球队提供了若干块场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如下表所示。系统记录训练场地安排的信息。 球队名称 场地名训练时间 称 解放军 一号球2008-06-09 14:00-场 18:00 解放军 一号球2008-06-12 09:00-场 12:00 解放军 二号球2008-06-11 14:00-场 18:00 山西 一号球2008-06-10 09:00-场 12:00 3.安排比赛。该赛事聘请专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队名称、比赛时间、比分、比赛场地等信息,如下表所示。

A组: 甲队——场地名比赛时间 裁判 比分 乙队 称 解放军—一号球2008-06-17 李大 —北京 场 15:00 明 天津——一号球2008-06-17 胡学 山西 场 19:00 梅 B组: 甲队——场地名比赛时间 裁判 比分 乙队 称 上海——二号球2008-06-17 丁鸿 安徽 场 15:00 平 山东——二号球2008-06-17 郭爱 辽宁 场 19:00 琪 4.所有球员、教练和裁判可能出现重名情况。 【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下: 1.实体联系图(图2-1)

37

同样,球队与教练之间的1∶1联系也应通过将一方的主码增加到另一方实体对应的关系中,来表达联系。 训练和比赛为多对多联系,只能独立成一个关系模式,取与该联系相关联的各实体的码及联系自有的属性构成。例如,比分和分组应该是比赛的属性,再加上球队、裁判、场地的码,即构成\"比赛记录\"的关系模式。 同理,训练是球队和场地的多对多联系,训练开始时间和结束时间为训练的属性,加上球队的码和场地的码,构成\"训练记录\"关系模式。 球迷与球队之间为多对多联系,需新增球迷实体和球迷与球队之间的支持联系。 参考答案 【问题1】 (对联系名称不做要求,但不能出现重名,图中的M、N、P也可表示为*) 2.关系模式 教练(教练编号,姓名,年龄) 队员(队员编号,姓名,年龄,身高,体重, (a) ) 球队(球队名称,代表地区,成立时间, (b) ) 场地(场地名称,场地规模,位置) 训练记录( (c) ) 裁判(裁判编号,姓名,年龄,级别) 比赛记录( (d) ) 【问题1】 根据问题描述,补充联系及其类型,完善实体联系图2-1。(联系及其类型的书写格式参照教练与球队之间的联系描述,联系名称也可使用联系1、联系2、„„) 【问题2】 根据实体联系图,填充关系模式中的(a)、(b)、(c)和(d),并给出训练记录和比赛记录关系模式的主键和外键。

【问题3】

如果考虑记录一些特别资深的热心球迷的情况,每个热心球迷可能支持多个球队。热心球迷包括:姓名、住址和喜欢的俱乐部等基本信息。根据这一要求修改上图的实体联系图,给出修改后的关系模式(仅给出增加的关系模式描述)。

试题二分析

本题考查数据库概念结构设计及向逻辑结构转换的基本方法。

此类题目要求认真阅读题目对现实问题的描述,经过分类、聚集、概括等方法,从中确定实体及其联系。题目已经给出了4个实体,需要根据需求描述,给出实体间的联系。

由\"每个球队有一个教练负责管理球队,一个教练仅负责一个球队。\"知球队与教练间为1∶1联系;球队与队员之间应为1∶N联系;多个球队使用多个训练场地,球队与场地之间为M∶M联系;比赛是球队、场地与裁判之间的联系,一个球队会与同组的其他多个队之间比赛,有多个场地和裁决,一位裁判会对多场比赛判罚,一个场地会有多场比赛,涉及多个球队和裁判,因此球队、场地与裁判之间的比赛关系为M∶N∶P联系。

根据补充后的E-R图,球队与球员之间的1∶N联系应通过将1端实体(球员)的主码(球队名称)加入到N端实体(球员)对应的关系中来表达。这类联系也可通过独立的一个关系来表达,如球队-球员(球队名称,队员编号),这样会对查询增加多余的连接操作,因此一般不采用这种方法。

【问题2】 (1)球队名称 (2)教练编号

(3)球队名称,场地名称,开始时间,结束时间

(4)甲队,乙队,比赛时间,场地名称,比分,裁判,分组 (球队,开始时间) 或 (场地名称,开始时间) 主键 或 (球队,结束时间) 或 (场地名称,结束时间) 训练记录 球队名称,场地名称 外键 比赛记录 【问题3】 主键 外键 (甲队,比赛时间) 或 (场地名称,比赛时间) 或 (裁判,比赛时间) 或(乙队,比赛时间) 甲队,乙队,场地名称,裁判 38

用 例 名 说 明 类 名 说 明 汽车进停车场信息系Car entry CentralComputer 入停车场 统 汽车离Car exit PaymentMachine 付款机器 开停车场 停车场,保存车CarPark 位信息 记录停Report 车场的相关信Statistics 息 Barrier 自动护栏 关系模式:

热心球迷(球迷编号,姓名,住址,俱乐部) 支持球队(球迷编号,球队) 试题三(共15分)

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】

某汽车停车场欲建立一个信息系统,已经调查到的需求如下:

1.在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示意图如下: 没有车位时,EntryBarrier Car entry 汽车请求进入when full 停车场 ExitBarrier 入口的护栏 出口的护栏 状 态 名 Idle Disable Await Entry Await Ticket Take Await Enable 说 明 空闲状态,汽车可以入停车场 没有车位 等待汽车 进入 等待打印停车卡 等待停车场内有空闲车位 2.当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。

3.在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。

4.当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。

5.系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示\"车位已满\"信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。

根据上述描述,采用面向对象方法对其进行分析与设计,得到了如下表所示的类/用例/状态列表、下图(a)所示的用例图、图(b)所示的初始类图以及图(c)所示的描述入口自动栏杆行为的UML状态图。

类/用例/状态列表

(a) 用例图 39

(b) 初始类图 (点击查看大图)(c) 入口护栏的状态图 【问题1】 根据说明中的描述,使用上页表给出的用例名称,给出图(a)中U1、U2和U3所对

应的用例。

【问题2】

根据说明中的描述,使用上页表给出的类的名称,给出图(b)中的A~D所对应 的类。

【问题3】

根据说明中的描述,使用上页表给出的状态名称,给出图(c)中S1~S4所对应的状态。

【问题4】

简要解释图(a)中用例U1和U3之间的extend关系的内涵。 试题三分析

本题考查面向对象设计基本知识和方法。

题目给出了4个用例,在4个用例中,两个用例表示汽车进入停车场,一个用例表示汽车退出停车场,另一个用例表示记录停车场相关信息。经分析得出,前3个用例的参与者都是驾驶员,因此U1、U2和U3对应进入和退出停车场。U1和U3之间存在扩展关系,而用例之间的延伸关系用于对被用户看作是可选系统行为的用例的一部分建模。通过这种方式,可以把可选行为从必需的行为中分离出来。Car entry when full 和 Car entry之间就可以使用extend关系进行建模。

类图问题的回答比较容易,因为首先可以判断Barrier、EntryBarrier和ExitBarrier之间存在继承关系,而类图中表示继承关系的部分只有一处,因此这3个类分别对应B、C和D,而剩下的空A只有选择类CarPark了。

在状态图中,Idle表示有空闲车位,Disable表示没有空闲车位,因此在其之间存在双向的状态迁移,因此状态图上的状态S1为Idle状态。当停车场存在空闲车位时,汽车请求进入停车场,根据说明描述\"当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡\",可知在该动作正对应于状态图上的S1和状态S2之间的迁移,因此,状态S2表示的含义应该是按下按钮后状态,此时,驾驶员等待打印停车卡,所以,状态S2为Await Ticket Take。同理可分析出状态S3和状态S4。

参考答案 【问题1】

U1:Car entry U2:Car exit U3:Car entry when full 【问题2】

A:CarPark B:Barrier C:EntryBarrier D:ExitBarrier

其中,C、D的答案可以互换 【问题3】

S1:Idle S2:Await Ticket Take S3:Await Enable S4:Await Entry 【问题4】

用例之间的延伸关系用于对被用户看作是可选系统行为的用例的一部分建模。通过这种方式,可以把可选行为从必需的行为中分离出来。

试题四(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

快速排序是一种典型的分治算法。采用快速排序对数组A[p..r]排序的3个步骤如下。 1.分解:选择一个枢轴(pivot)元素划分数组。将数组A[p..r]划分为两个子数组

(可能为空)A[p..q-1]和A[q+1..r],使得A[q]大于等于A[p..q-1]中的每个元素,小于

A[q+1..r]中的每个元素。q的值在划分过程中计算。 2.递归求解:通过递归的调用快速排序,对子数组A[p..q-1]和A[q+1..r]分别排序。

3.合并:快速排序在原地排序,故不需合并操作。

【问题1】

下面是快速排序的伪代码,请填补其中的空缺。伪代码中的主要变量说明如下。

A:待排序数组

p, r:数组元素下标,从p到r

40

q:划分的位置 x:枢轴元素

i:整型变量,用于描述数组下标。下标小于或等于i的元素的值小于或等于枢轴元素的值

j:循环控制变量,表示数组元素下标 QUICKSORT(A, p, r){ if (p < r){ q = PARTITION(A,p,r) ; QUICKSORT(A, p, q-1); QUICKSORT(A, q+1, r); } } PARTITION(A, p, r){ x = A[r]; i = p - 1; for (j = p ; j ≤ r - 1; j++){ if (A[j] ≤ x){ i = i + 1 ; 交换A[i] 和 A[j] } } 交换 (1) 和 (2) //注:空(1)和空(2)答案可互换,但两空全部答对方可得分 return (3) } 【问题2】 (1) 假设要排序包含n个元素的数组,请给出在各种不同的划分情况下,快速排序的时间复杂度,用O记号。最佳情况为 (4) ,平均情况为 (5) ,最坏情况为 (6) 。

(2) 假设要排序的n个元素都具有相同值时,快速排序的运行时间复杂度属于哪种情况? (7) 。(最佳、平均、最坏)

【问题3】

(1)待排序数组是否能被较均匀地划分对快速排序的性能有重要影响,因此枢轴元素的选取非常重要。有人提出从待排序的数组元素中随机地取出一个元素作为枢轴元素,下面是随机化快速排序划分的伪代码--利用原有的快速排序的划分操作,请填充其中的空缺处。其中,RANDOM(i,j)表示随机取i到j之间的一个数,包括i和j。 RANDOMIZED-PARTITION(A,p,r){ i = RANDOM(p,r); 交换 (8) 和 (9) ;//注:空(8)和空(9)答案可互换,但两空全部答对方可得分 return PARTITION(A,p,r); } 2)随机化快速排序是否能够消除最坏情况的发生? (10) 。(是或否) 试题四分析

本题考查算法的设计与分析技术。

问题1考查快速排序算法的伪代码,快速排序最核心的处理是进行划分,即PARTITION操作,根据枢轴元素的值,把一个较大的数组分成两个较小的子数组,一个子数组的所有元素的值小于等于枢轴元素的值,一个子数组的所有元素的值大于枢轴元素的值,而子数组内的元素不排序。划分时,以最后一个元素为枢轴元素,从左到右依次访问数组的每一个元素,判断其与枢轴元素的大小关系,并进行元素的交换,如图4-1所示: 图4-1 PARTITION操作 在问题1给出的伪代码中,当循环结束后,A[p..i]中的值应小于等于枢轴元素值x,而A[i+1..r-1]中的值应大于枢轴元素值x。此时A[i+1]是第一个比A[r]大的元素,因此A[r]与A[i+1]交换,得到划分后的两个子数组。PARTITION操作返回枢轴元素的位置,因此返回值为i+1。 问题2考查的是快速排序算法的时间复杂度分析。当每次能作均匀划分时,算法为最佳情况,此时时间复杂度可以通过计算递归式 得到时间复杂度为 当每次为极端不均匀划分时,即长度为n的数组划分后一个子数组为n-1,一个为0,算法为最坏情况,此时时间复杂度可以通过计算递归式

得到时间复杂度为

析较为复杂,我们可以假设数组每次划分为算递归式

平均情况的分

此时时间复杂度可以通过计

得到时间复杂度为

因此在平均情况下快速排序仍然有较好的性能,时间复杂度为

当所有的n个元素具有相同的值时,可以认为数组已经有序,此时每次都划分为长度为n-1和0的两个子数组,属于最坏情况。

问题3中,由于随机化的快速排序的划分调用了传统的快速排序算法的PARTITION操作,而传统的划分每次以数组的最后一个元素作为枢轴元素,因此,随机化的划分操作中每次先随机获得一个元素,将其与最后一个元素交换。随机化的快速排序消除了输入数据的不同排列对算法性能的影响,降低了极端不均匀划分的概率,但不能保证不会导致最坏情况的发生。

参考答案【问题1】(1)A[i + 1] (2)A[r] (3)i + 1 注:空(1)和空(2)答案可以互换 【问题2】

41

【问题3】

(8)A[i] (9)A[r] (10)否 注:空(8)和空(9)答案可以互换 试题五(共15分)

阅读下列说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

栈(Stack)结构是计算机语言实现中的一种重要数据结构。对于任意栈,进行插入和删除操作的一端称为栈顶(Stack Top),而另一端称为栈底(Stack Bottom)。栈的基本操作包括:创建栈(NewStack)、 判断栈是否为空(IsEmpty)、判断栈是否已满(IsFull)、获取栈顶数据(Top)、压栈/入栈(Push)、弹栈/出栈(Pop)。

当设计栈的存储结构时,可以采取多种方式。其中,采用链式存储结构实现的栈中各数据项不必连续存储(如下图所示)。

以下C代码采用链式存储结构实现一个整数栈操作。

【C代码】 typedef struct List { int data; // 栈数据 struct List* next; // 上次入栈的数据地址 }List; typedef struct Stack { List* pTop; // 当前栈顶指针 }Stack; Stack* NewStack() { return (Stack*)calloc(1,sizeof(Stack)); } int IsEmpty(Stack* S){ //判断栈S是否为空栈 if((1)) return 1; return 0; } int Top(Stack* S){ //获取栈顶数据。若栈为空,则返回机器可表示的最小整数 if( IsEmpty(S) ) return INT_MIN; return (2) ; } void Push(Stack* S, int theData) {//将数据theData压栈 List* newNode; newNode = (List*)calloc(1, sizeof(List)); newNode->data = theData; newNode->next = S->pTop; S->pTop = (3) ; } void Pop(Stack* S) {//弹栈 List* lastTop; if( IsEmpty(S) ) return; lastTop = S->pTop; S->pTop = (4) ; free(lastTop); } #define MD(a) a<<2 int main(){ int i; Stack* myStack; myStack = NewStack(); Push(myStack, MD(1)); Push(myStack, MD(2)); Pop(myStack); Push(myStack, MD(3)+1); while( !IsEmpty(myStack) ){ printf(\"%d\Pop(myStack); } return 0; } 以上程序运行时的输出结果为: (5) 试题五分析

本题考查基本程序设计能力。

堆栈是软件设计中常使用的一种经典数据结构,题目给出的操作都是任何堆栈都具有的基本操作。堆栈的存储结构通常采用数组或链表形式,但无论采用哪种存储结构,整体上呈现的是后进先出的特点,即后进入堆栈的元素先出栈。题目中给出的结构体Stack仅包含一个指向栈顶元素的指针(栈顶指针),当且仅当堆栈中没有元素时,该指针应为NULL。当向堆栈中增加元素时,首先需要动态创建该元素的存储区,并且栈顶指针指向该元素。当元素出栈时,栈顶指针则指向出栈元素的紧前一个元素。结构体List表示栈中元素,包含对应的数据和指向紧上次入栈的元素指针next,对于第1个入栈的元素,指针next为NULL,而其他元素中的指针next一定不为NULL。

C语言中,如果用一个整数型表达式表示条件判定语句的话,该表达式的值为0则表示假,非0表示真。从给定程序代码可以看出,对于函数IsEmpty,若其返回值为0则表示堆栈非空,否则表示堆栈为空。因此,对于空(1),必须填写可表示堆栈为空的判定语句:S==NULL||S->pTop==NULL,这2个条件中只要有1个条件满足,则表明堆栈S为空。对于空(2),此时需要返回栈顶元素中的数据,而栈顶元素为S->pTop,所以对应的数据应该为S->pTop->data。

对于压栈操作Push,在为新元素获取存储空间后,必须调整堆栈的栈顶指针S->pTop指向新元素的存储区,即S->pTop=newNode。对于弹栈操作Pop,弹出栈顶元素lastTop后,

42

需要调整栈顶指针,使其指向被弹出元素的下一个元素,即S->pTop=S->pTop->next,或S->pTop=lastTop->next。

对于main函数中宏MD(x),在程序预编译时会按字符替换为 \"x<<2\"。所以在main函数中,首先入栈的元素为\"1<<2\",即整数4,第2个入栈的元素为\"2<<2\",即整数8,其次将8弹出,然后再将\"3<<2+1\"入栈,C语言中 \"+\"优先级高于\"<<\",所以此时入栈者为整数24,而此时堆栈中有2个元素,其中栈顶元素为24,下一元素为4。最后,若堆栈非空,则循环完成显示栈顶元素的值、弹出栈顶元素的操作,直至堆栈为空。所以程序执行时的输出内容为\"24 4\"。

参考答案

(1)S == NULL || S->pTop == NULL (2)S->pTop->data (3)newNode (4)S->pTop->next,或 lastTop->next (5)24 4 试题六(共15分)

阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。遥控器如左下所示。该遥控器共有4个按钮,编号分别是0至3,按钮0和2能够遥控打开电器1和电器2,按钮1和3则能遥控关闭电器1和电器2。由于遥控系统需要支持形式多样的电器,因此,该系统的设计要求具有较高的扩展性。 现假设需要控制客厅电视和卧室电灯,对该遥控系统进行设计所得类图如右下所示。

右上图中,类RomoteController的方法onPressButton(int button)表示当遥控器按键按下时调用的方法,参数为按键的编号;Command接口中on和off方法分别用于控制电器的开与关;Light中turnLight(int degree)方法用于调整电灯灯光的强弱,参数degree值为0时表示关灯,值为100时表示开灯并且将灯光亮度调整到最大;TV中setChannel(int channel)方法表示设置电视播放的频道,参数channel值为0时表示关闭电视,为1时表示开机并将频道切换为第1频道。

【C++代码】 class Light{ //电灯类 public: void trunLight(int degree){ //调整灯光亮度,0表示关灯,100表示亮度最大}; }; class TV{ //电视机类 public: void setChannel(int channel){//调整电视频道,0表示关机,1表示开机并切换到1 频道}; }; class Command{ //抽象命令类 public: virtual void on()=0; virtual void off()=0; }; class RemoteController{ //遥控器类 protected: Command *commands[4]; //遥控器有4个按钮,按照编号分别对应4个Command对象 public: void onPressButton(int button){ //按钮被按下时执行命令对象中的命令 if(button % 2 == 0)commands[button]->on(); else commands[button]->off(); } void setCommand(int button,Command * command){ (1) = command; //设置每个按钮对应的命令对象 } }; class LightCommand : public Command{ //电灯命令类 protected: Light *light; //指向要控制的电灯对象 public: void on(){light->trunLight(100);}; void off(){light->(2);}; LightCommand(Light * light){this->light = light;}; }; class TVCommand : public Command{ //电视机命令类 protected: TV * tv; //指向要控制的电视机对象 public: void on(){tv->(3);}; void off(){tv->setChannel(0);}; TVCommand(TV * tv){ this->tv = tv; }; }; void main(){ Light light; TV tv; //创建电灯和电视对象 LightCommand lightCommand(&light); TVCommand tvCommand(&tv); RemoteController remoteController; remoteController.setCommand(0, (4)); //设置按钮0的命令对象 „//此处省略设置按钮1、按钮2和按钮3的命令对象代码 } 本题中,应用命令模式能够有效让类 (5)和类 (6 、类 (7) 之间的耦合性降至最小。

试题六分析

本题考查的是设计模式中的命令模式。

设计时,为了保证遥控器和家用电器之间的独立性,定义了Command类,当用户按下遥控器上的按钮时,触发Command上的On或者Off方法,因此,一对按钮分别对应一个Command对象。题目中的LightCommand以及与TVCommand分别为Command的子类,该子类用于控制实际的Light以及TV对象,将On与Off方法委托给Light以及TV实现。空(1)表示要设置遥控器上按钮控制的对象,其参数传递的是某一个命令对象,因此只需将该命令对象存储下来即可;空(2)表示关闭电灯,根据说明,关闭电灯的方法为turnLight(0);空(3)表示打开电视机,因此需要调用打开电视的方法。空(4)表示将按钮0和相应的Command对象相关联,根据题目描述,按钮0用于控制灯或者电视,因此,应该设置灯或

43

者电视的命令对象。本题中应用命令模式的目的是为了使为了让遥控器和类Light与TV之间的耦合性降至最低。

参考答案

(1)commands[button] (2)trunLight(0) (3)setChannel(1) (4)&lightCommand (5)RemoteController (6)Light (7)TV 试题七(共15分)

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。遥控器如下图(a)所示。该遥控器共有4个按钮,编号分别是0至3,按钮0和2能够遥控打开电器1和电器2,按钮1和3则能遥控关闭电器1和电器2。由于遥控系统需要支持形式多样的电器,因此,该系统的设计要求具有较高的扩展性。 现假设需要控制客厅电视和卧室电灯,对该遥控系统进行设计所得类图如下图(b)所示。

(点击查看大图)(a)

图(b)中,类RomoteController的方法onPressButton(int button)表示当遥控器按键按下时调用的方法,参数为按键的编号;Command接口中on和off方法分别用于控制电器的开与关;Light中turnLight(int degree)方法用于调整电灯灯光的强弱,参数degree值为0时表示关灯,值为100时表示开灯并且将灯光亮度调整到最大;TV中setChannel(int channel)方法表示设置电视播放的频道,参数channel值为0时表示关闭电视,为1时表示开机并将频道切换为第1频道。

【Java代码】 class Light{ //电灯类 public void trunLight(int degree){ //调整灯光亮度,0表示关灯,100表示亮度最大} }; class TV{ //电视机类 public void setChannel(int channel){// 0表示关机,1表示开机并切换到1频道 } }; interface Command{ //抽象命令类 void on(); void off(); }; class RemoteController{ //遥控器类 protected Command []commands = new Command[4]; //遥控器有4个按钮,按照编号分别对应4个Command对象 public void onPressButton(int button){ //按钮被按下时执行命令对象中的命令 44

if(button % 2 == 0)commands[button].on(); else commands[button].off(); } public void setCommand(int button, Command command){ (1) = command; //设置每个按钮对应的命令对象 } }; class LightCommand implements Command{ //电灯命令类 protected Light light; //指向要控制的电灯对象 public void on(){light.trunLight(100);}; public void off(){light. (2);}; public LightCommand(Light light){this.light = light;}; }; class TVCommand implements Command{ //电视机命令类 protected TV tv; //指向要控制的电视机对象 public void on(){tv. (3);}; public void off(){tv.setChannel(0);}; public TVCommand(TV tv){this.tv = tv;}; }; public class rs{ public static void main(String []args){ Light light = new Light(); TV tv = new TV();//创建电灯和电视对象 LightCommand lightCommand = new LightCommand(light); TVCommand tvCommand = new TVCommand(tv); RemoteController remoteController = new RemoteController(); //设置按钮和命令对象 remoteController.setCommand(0, (4)); „//此处省略设置按钮1、按钮2和按钮3的命令对象代码 } } 本题中,应用命令模式能够有效让类 (5) 和类 (6) 、类 (7)之间的耦合性降至最小。

试题七分析

本题考查的是设计模式中的命令模式。

在设计时,为了保证遥控器和家用电器之间的独立性,定义了Command类,当用户按下遥控器上的按钮时,触发Command上的On或者Off方法,因此,一对按钮分别对应一个Command对象。题目中的LightCommand以及与TVCommand分别为Command的子类,该子类用于控制实际的Light以及TV对象,将On与Off方法委托给Light以及TV实现。空(1)表示要设置遥控器上按钮控制的对象,其参数传递的是某一个命令对象,因此只需将该命令对象存储下来即可;空(2)表示关闭电灯,根据说明,关闭电灯的方法为turnLight(0);空(3)表示打开电视机,因此需要调用打开电视的方法。空(4)表示将按钮0和相应的Command对象相关联,根据题目描述,按钮0用于控制灯或者电视,因此,应该设置灯或者电视的命令对象。本题中应用命令模式的目的是为了使为了让遥控器和类Light与TV之间的耦合性降至最低。

参考答案

(1)commands[button] (2)trunLight(0) (3)setChannel(1) (4)lightCommand (5)RemoteController (6)Light (7)TV

全国计算机技术与软件专业技术资格(水平)考试

2009 年上半年 软件评测师 上午试卷

● 计算机的用途不同,对其部件的性能指标要求也有所不同。以科学计算为主的 计算机,对 (1) 要求较高,而且应该重点考虑 (2) 。 (1)A. 外存储器的读写速度 B. 主机的运算速度 C. I/O 设备的速度 D. 显示分辨率 ●(2)A. CPU 的主频和字长,以及内存容量 B. 硬盘读写速度和字长 C. CPU 的主频和显示分辨率 D. 硬盘读写速度和显示分辨率

●(3) 是指按内容访问的存储器。

(3)A. 虚拟存储器 B. 相联存 储器

C. 高速缓存(Cache) D. 随机访问存储器

● 处理机主要由处理器、存储器和总线组成,总线包括 (4) 。

(4)A. 数据总线、地址总线、控制总线 B. 并行总线、串行总线、逻辑总线 C. 单工总线、双工总线、外部总线 D. 逻辑总线、物理总线、内部总线 ● 下面关于加密的说法中,错误的是 (5) 。 (5)A. 数据加密的目的是保护数据的机密性

B. 加密过程是利用密钥和加密算法将明文转换成密文的过程 C. 选择密钥和加密算法的原则是保证密文不可能被破解 D. 加密技术通常分为非对称加密技术和对称密钥加密技术 ● 下面关于防火墙功能的说法中,不正确的是(6) 。 (6)A. 防火墙能有效防范病毒的入侵 B. 防火墙能控制对特殊站点的访问 C. 防火墙能对进出的数据包进行过滤

D. 防火墙能对部分网络攻击行为进行检测和报警

● 下面关于漏洞扫描系统的叙述,错误的是 (7) 。

(7)A. 漏洞扫描系统是一种自动检测目标主机安全弱点的程序 B. 黑客利用漏洞扫描系统可以发现目标主机的安全漏洞 C. 漏洞扫描系统可以用于发现网络入侵者

D. 漏洞扫描系统的实现依赖于系统漏洞库的完善

● 软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段 的复审期间,应该从 (8) 出发,评价软件的结构和过程。 (8)A. 指出可移植性问题以及可能影响软件维护的系统界面 B. 容易修改、模块化和功能独立的目的 C. 强调编码风格和内部说明文档 D. 可测试性

45

● 计算机感染特洛伊木马后的典型现象是 (9) 。

(9)A. 程序异常退出 B. 有未知程序试图建立网络连接 C. 邮箱被垃圾邮件填满 D. Windows系统黑屏 ● 关于软件著作权产生的时间,下面表述正确的是 (10) 。 (10)A. 自作品首次公开发表时 B. 自作者有创作意图时

C. 自作品得到国家著作权行政管理部门认可时 D. 自作品完成创作之日

● 程序员甲与同事乙在乙家探讨甲近期编写的程序,甲表示对该程序极不满意, 说要弃之重写,并将程序手稿扔到乙家垃圾筒。后来乙将甲这一程序稍加修改,并署乙

名发表。以下说法正确的是 (11) 。 (11)A. 乙的行为侵犯了甲的软件著作权

B. 乙的行为没有侵犯甲的软件著作权,因为甲已将程序手稿丢弃 C. 乙的行为没有侵犯甲的著作权,因为乙已将程序修改

D. 甲没有发表该程序并弃之,而乙将程序修改后发表,故乙应享有著作权

● 零件关系 P(零件名,条形码,供应商,产地,价格)中的 (12) 属性可以作为

该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价

格分列表示,对应的 SQL 语句为: SELECT 零件名,供应商,价格 FROM P

WHERE 零件名='P2' AND (13) ;

(12)A. 零件名 B. 条形码 C. 产地 D. 供应商 (13)A. 条形码=西安 B. 条形码='西安' C. 产地=西安 D. 产地='西安' ● 软件风险一般包含 (14) 两个特性。

(14)A. 救火和危机管理 B. 已知风险和未知风险 C. 不确定性和损失 D. 员工和预算

● 在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计 活动是 (15) ,它是一种重新组织的技术,可以简化构件的设计而无需改变其功能或

行为。

(15)A. 精化 B. 设计类 C. 重构 D. 抽象 ● 一个软件开发过程描述了“谁做”、“做什么”、“怎么做”和“什么时候做”,RUP

用 (16) 来表述“谁做”。

(16)A. 角色 B. 活动 C. 制品 D. 工作流 ● 瀑布模型表达了一种系统的、顺序的软件开发方法。以下关于瀑布模型的叙述 中,正确的是 (17) 。

(17)A. 瀑布模型能够非常快速地开发大规模软件项目 B. 只有很大的开发团队才使用瀑布模型

C. 瀑布模型已不再适合于现今的软件开发环境

D. 瀑布模型适用于软件需求确定,开发过程能够采用线性方式完成的项目 ● 一个软件系统的生存周期包含可行性分析和项目开发计划、需求分析、设计(概 要设计和详细设计)、编码、测试和维护等活动,其中 (18) 是软件工程的技术核心,

其任务是确定如何实现软件系统。

(18)A. 可行性分析和项目开发计划 B. 需求分析 C. 设计 D. 编码

● 程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。 关于变量的叙述, (19) 是错误的。

(19)A. 根据作用域规则,在函数中定义的变量只能在函数中引用 B. 在函数中定义的变量,其生存期为整个程序执行期间 C. 在函数中定义的变量不能与其所在函数的形参同名 D. 在函数中定义的变量,其存储单元在内存的栈区

● 函数调用时,基本的参数传递方式有传值与传地址两种, (20) 。 (20)A. 在传值方式下,形参将值传给实参 B. 在传值方式下,实参不能是数组元素

C. 在传地址方式下,形参和实参间可以实现数据的双向传递 D. 在传地址方式下,实参可以是任意的变量和表达式

● 已知某高级语言源程序 A 经编译后得到机器 C 上的目标程序 B,则 (21) 。 (21)A. 对 B 进行反编译,一般不能还原出源程序 A

B. 对 B 进行反汇编,不能得到与源程序 A 等价的汇编程序代码 C. 对 B 进行反编译,得到的是源程序 A 的变量声明和算法流程

D. 对 A 和 B 进行交叉编译,可以产生在机器 C 上运行的动态链接库 ● 下面关于程序语言的叙述,错误的是 (22) 。

(22)A. 脚本语言属于动态语言,其程序结构可以在运行中改变 B. 脚本语言一般通过脚本引擎解释执行,不产生独立保存的目标程序 C. php、JavaScript 属于静态语言,其所有成分可在编译时确定 D. C 语言属于静态语言,其所有成分可在编译时确定

● 在 Windows XP 操作系统中,用户利用“磁盘管理”程序可以对磁盘进行初始化、 创建卷, (23) 。通常将“C:\\Windows\\myprogram.exe”文件设置成只读和隐藏属性,

以便控制用户对该文件的访问,这一级安全管理称之为 (24) 安全管理。 (23)A. 但只能使用 FAT 文件系统格式化卷 B. 但只能使用 FAT 32 文件系统格式化卷 C. 但只能使用 NTFS 文件系统格式化卷

D. 可以选择使用 FAT32 或 NTFS 文件系统格式化卷

(24)A. 文件级 B. 目录级 C. 用户级 D. 系统级

● (25) 属于系统软件,它直接执行高级语言源程序或与源程序等价的某种中 间代码。

(25)A. 编译程序 B. 预处理程序 C. 汇编程序 D. 解释程序

● 设系统中有 R 类资源 m 个,现有 n 个进程互斥使用。若每个进程对 R 资源的最

大需求为 w,那么当 m、n、w 取下表的值时,对于下表中的 a~e 五种情况, (26) 两

种情况可能会发生死锁。对于这两种情况,若将 (27) ,则不会发生死锁。

46

a B c d e

m 2 2 2 4 4 n 1 2 2 3 3 w 2 1 2 2 3

(26)A. a 和 b B. b 和 c C. c 和 d D. c 和 e (27)A. n 加 1 或 w 加 1 B. m 加 1 或 w 减 1 C. m 减 1 或 w 加 1 D. m 减 1 或 w 减 1

● 在软件开发过程中,常采用图形表示相关的信息, (28) 不用于表示软件模 块的执行过程。

(28)A. N-S 盒图 B. E-R 图 C. PAD 图 D. 程序流程图 ● 软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为 5 级。目前, 达到 CMM 第 3 级(已定义级)是许多组织努力的目标,该级的核心是 (29) 。 (29)A. 建立基本的项目管理和实践来跟踪项目费用、进度和功能特性 B. 使用标准开发过程(或方法论)构建(或集成)系统 C. 管理层寻求更主动地应对系统的开发问题 D. 连续地监督和改进标准化的系统开发过程

● RUP 在每个阶段都有主要目标,并在结束时产生一些制品。在 (30) 结束时产 生“在适当的平台上集成的软件产品”。

(30)A. 初期阶段 B. 精化阶段 C. 构建阶段 D. 移交阶段 ● 关于软件测试,(31)的叙述是正确的。 ① 测试开始越早,越有利于发现软件缺陷

② 采用正确的测试用例设计方法,软件测试可以做到穷举测试 ③ 测试覆盖度和测试用例数量成正比 ④ 软件测试的时间越长越好

(31)A.④ B.① C.②、③ D.①、③

● 系统功能测试过程中,验证需求可以正确实现的测试用例称为(32)。 (32)A.业务流程测试用例 B.功能点测试用例 C.通过测试用例 D.失败测试用例

● (33)不属于功能测试用例构成元素。

(33)A.测试数据 B.测试步骤 C.预期结果 D.实测结果

● 针对电子政务类应用系统的功能测试,为设计有效的测试用例,应(34)。 (34)A.使业务需求的覆盖率达到 100%

B.利用等价类法模拟核心业务流程的正确执行 C.对一个业务流程的测试用例设计一条验证数据 D.经常使用边界值法验证界面输入值

● (35)测试用例设计方法既可以用于黑盒测试,也可以用于白盒测试。 (35)A.边界值法 B.基本路径法 C.正交试验设计法 D.逻辑覆盖法 ● 对“功能测试的回归测试经常要多次重复”的正确理解是(36)。 (36)A.回归测试应该执行初测时所用的全部测试用例 B.回归测试只要执行发现缺陷的那些测试用例即可 C.通过多次的回归测试可以发现所有缺陷 D.回归测试就是验收测试

● 功能测试执行过后一般可以确认系统的功能缺陷,缺陷的类型包括(37)。 ① 功能不满足隐性需求②功能实现不正确

④ 功能易用性不好③功能不符合相关的法律法规

(37)A.① B.①②③ C.②③④ D.②

● 以下关于软件测试的概念,正确的是(38)。

(38)A.软件测试的目的是想证实在一个给定的外部环境中软件的逻辑正确性, 即保证软件以正确的方式来做这个事件

B.软件质量保证的基本措施就是对软件进行确认测试

C.软件测试的对象不仅仅是程序,文档、数据和规程都是软件测试的对象 D.单元测试可检验程序单元或部件的接口关系,应能发现并排除在模块连 接中可能发生的问题

● 以下不正确的软件测试原则是(39) 。 (39)A.软件测试可以发现软件潜在的缺陷 B.所有的软件测试都可追溯到用户需求 C.测试应尽早不断地执行

D.程序员应避免测试自己的程序

● 在编码阶段对系统执行的测试类型主要包括单元测试和集成测试,(40)属于单 元测试的内容。

(40)A.接口数据测试 B.局部数据测试 C.模块间时序测试 D.全局数据测试

● 以下关于软件测试概念的叙述,不正确的是(41)。

(41)A.软件失效指软件运行时产生了一种不希望或不可接受的内部行为 B.软件功能实现超出了产品说明书的规定说明软件存在缺陷

C.测试目的是为了发现软件缺陷与错误,也是对软件质量进行度量和评估 D.在软件生命周期各个阶段都可能产生错误

● 以下关于软件测试分类定义的叙述,不正确的是(42)。

(42)A.软件测试可分为单元测试、集成测试、确认测试、系统测试、验收测试 B.确认测试是在模块测试完成的基础上,将所有的程序模块进行组合并验 证其是否满足用户需求的过程

C.软件测试可分为白盒测试和黑盒测试

D.系统测试是将被测软件作为整个基于计算机系统的一个元素,与计算机

硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起进行测试的过程 ● 正确的集成测试描述包括(43)。

①集成测试也叫做组装测试,通常是在单元测试的基础上,将模块按照设计说明书 要求进行组装和测试的过程。

②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和 判断点,对于输入输出模块、复杂算法模块中存在的错误能够较早地发现。

③集成测试的目的在于检查被测模块能否正确实现详细设计说明中的模块功能、性 能、接口和设计约束等要求

④集成测试需要重点关注各个模块之间的相互影响,发现并排除全局数据结构问题 (43)A.①② B.②③ C.①④ D.②④ ● 以下关于软件质量特性测试的叙述,正确的是(44)。

①成熟性测试是检验软件系统故障,或违反指定接口的情况下维持规定的性能水平 有关的测试工作

②功能性测试是检验适合性、准确性、互操作性、安全保密性、功能依从性的测试

47

工作

③易学性测试是检查系统中用户为操作和运行控制所花努力有关的测试工作

④效率测试是指在规定条件下产品执行其功能时,对时间消耗及资源利用的测试工 作

(44)A.①②③④ B.①④ C.①③④ D.②④ ● 对软件可靠性的理解,正确的是(45)。

①软件可靠性是指在指定条件下使用时,软件产品维持规定的性能级别的能力 ②软件可靠性的种种局限是由于随着时间的推移,软件需求和使用方式发生了变化 ③软件可靠性包括成熟性、有效性、容错性、易恢复性等质量子特性 ④针对软件可靠性中的容错性子特性应测试软件失效防护能力 (45)A.①③ B.②③ C.①④ D.①②③④ ● 软件可移植性应从如下(46)方面进行测试。 (46)A.适应性、易安装性、共存性、易替换性 B.适应性、易安装性、可伸缩性、易替换性 C.适应性、易安装性、兼容性、易替换性 D.适应性、成熟性、兼容性、易替换性

● 以下关于基于 V&V 原理的 W 模型的叙述中,(47)是错误的。

(47)A.W 模型指出当需求被提交后,就需要确定高级别的测试用例来测试这些需 求,当详细设计编写完成后,即可执行单元测试

B.根据 W 模型要求,一旦有文档提供,就要及时确定测试条件、编写测试 用例

C.软件测试贯串于软件定义和开发的整个期间

D.程序、需求规格说明、设计规格说明都是软件测试的对象 ● 以下说法不正确的选项包括(48)。

①软件测试不仅仅指测试的执行,还包括很多其他的活动

②软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行 ③应用 H 模型有利于资源调配,有助于跟踪测试投入的流向

④H 模型指出,单元测试、集成测试、系统测试不存在严格的次序关系,各层次之 间的测试存在反复触发、迭代和增量关系等

(48)A.①③ B.②③ C.①④ D.无 ● 以下软件质量保证的目标中,(49)是错误的。 (49)A.通过监控软件开发过程来保证产品质量

B.保证开发出来的软件和软件开发过程符合相应标准与规程,不存在软件 缺陷

C.保证软件产品、软件过程中存在的问题得到处理,必要时将问题反映给 高级管理者

D.确保项目组制定的计划、标准和规程适合项目组需要,同时满足评审和 审计需要

● (50)不会影响测试质量。 (50)A.用户需求频繁变化 C.采用背靠背测试方式 B.测试流程不规范 D.测试周期被压缩

● (51)不属于测试人员编写的文档。

(51)A.缺陷报告 B.测试环境配置文档 C.缺陷修复报告 D.测试用例说明文档 ● GB/T 16260-2006《软件工程 (52)。

产品质量》规定的软件产品使用质量特性包括: (52)A.适应性、生产率、可靠性、满意度 B.有效性、生产率、安全性、满意度 C.有效性、可靠性、适应性、满意度 D.适应性、适用性、效率、满意度

● GB 17859-1999《计算机信息系统安全保护等级划分准则》中将计算机安全保护 2009 年上半年 软件评测师 上午试卷 第 9 页 (共 13 页) 划分为(53)个级别。 (53)A.3 B.4 C.5 D.6

● 假设在程序控制流图中,有 12 条边,8 个节点,则确保程序中每个可执行语句 至少执行一次所必需的测试用例数目的上限是(54)。

(54)A.12 B.8 C.6 D.4 ● 关于白盒测试的测试用例设计方法叙述,正确的是(55)。

(55)A.完成 SC(语句判定)所需的测试用例数目一定多于完成 DC(逻辑判定) 所需的测试用例数目

B.达到 100%CC(条件判定)要求就一定能够满足 100%SC 的要求

C.达到 100%CDC(条件判定组合覆盖)要求就一定能够满足 100%CC 的要 求

D.任何情况下,都可以达到 100%路径覆盖的要求 ● 以下控制流图的圈复杂度 V(g)为(56)。 (56)A.4 B.6 C.8 D.10

● 针对程序段:IF( A||B||C )THEN W=W/X,对于(A,B,C)的取值,(57)测试用 例能够满足 MCDC(修正条件逻辑判定)的要求。 (57)A.(F,T,T) (T,F,T) (T,F,F) (T,T,F) B.(T,F,F) (T,T,F) (F,T,T) (F,F,F) C.(T,F,F) (T,T,F) (F,T,T) (F,F,T) D.(T,F,F) (F,T,F) (F,F,T) (F,F,F)

● 针对下列程序段,需要(58)个测试用例可以满足分支覆盖的要求。 int IsLeap(int year) {

if ( year % 4 == 0 ) {

if ( ( year % 100 == 0 ) {

if ( year % 400 == 0 )

48

leap = 1; else

leap = 0; } else

leap = 1; } else

leap = 0; return leap; }

(58)A.3 B.4 C.6 D.7

● 黑盒测试中,(59)是根据输出对输入的依赖关系设计测试用例。

(59)A.基本路径法 B.等价类 C.因果图 D.功能图法 ● Web 应用系统负载压力测试中,(60)不是衡量业务执行效率的指标。 (60)A.并发请求数 B.每秒点击率 C.交易执行吞吐量 D.交易执行响应时间

● 软件测试的基本方法包括白盒测试和黑盒测试方法,以下关于二者之间关联的 叙述,错误的是(61)。

(61)A.黑盒测试与白盒测试是设计测试用例的两种基本方法 B.在集成测试阶段是采用黑盒测试与白盒测试相结合的方法

C.针对相同的系统模块,执行黑盒测试和白盒测试对代码的覆盖率都能够 达到 100%

D.应用系统负载压力测试一般采用黑盒测试方法

● 为验证某音乐会订票系统是否能够承受大量用户同时访问,测试工程师一般采 用(62)测试工具。

(62)A.故障诊断 B.代码 C.负载压力 D.网络仿真 ● (63)不属于网站渗透测试的内容。

(63)A.防火墙日志审查 B.防火墙远程探测与攻击 C.跨站攻击 D.SQL 注入

● 能够主动采集信息,分析网络攻击行为和误操作的实时保护策略是指(64)。 (64)A.安全日志 B.入侵检测 C.隔离防护 D.防火墙 ● 下列设备和技术中,(65)不属于数据安全策略范畴。 (65)A.SAN B.异地容灾 C. 数字证书 D. 双机容错

● 以下对用户口令进行限定的措施中,(66)对提高安全性来说是无用的。 (66)A.最小改变口令的时限 B.最短口令长度

C.口令不能全为数字或小写字母之外的字符 D.首次登录必需改变口令

● (67)不属于用户认证机制。 (67)A.用户名和密码 B.数字证书 C.SSL

D.User Key

● 在 Windows 系统中设置默认路由的作用是 (68) 。 (68)A. 当主机接收到一个访问请求时首先选择的路由 B. 当没有其它路由可选时最后选择的路由 C. 访问本地主机的路由 D. 必须选择的路由

● 集线器是一种物理层联网设备,下面有关集线器的叙述中,错误的是 (69) 。 (69)A. 集线器没有自动寻址能力

B. 连接在集线器上的故障设备不会影响其他结点通信 C. 集线器可以隔离广播风暴

D. 连接在集线器上的所有结点构成一个冲突域 ● 用户访问某 Web 网站,浏览器上显示“HTTP-404”错误,则故障原因是 (70) 。 (70)A. 默认路由器配置不当 B. 所请求当前页面不存在 C. Web 服务器内部出错 D. 用户无权访问

● For nearly ten years, the Unified Modeling Language (UML) has been the industry

standard for visualizing, specifying, constructing, and documenting the (71) of a

software-intensive system. As the (72) standard modeling language, the UML facilitates

communication and reduces confusion among project (73) . The recent standardization of

UML 2.0 has further extended the language's scope and viability. Its inherent expressiveness

allows users to (74) everything from enterprise information systems and distributed

Web-based applications to real-time embedded systems.

The UML is not limited to modeling software. In fact, it is expressive enough to model

(75) systems, such as workflow in the legal system, the structure and behavior of a patient

healthcare system, software engineering in aircraft combat systems, and the design of

hardware. To understand the UML, you need to form a conceptual model of the language, and this

requires learning three major elements: the UML's basic building blocks, the rules that dictate

how those building blocks may be put together, and some common mechanisms that apply

throughout the UML. (71)A. classes B. components C. sequences D. artifacts (72)A. real B. legal C. de facto D. illegal

49

(73)A. investors B. developers C. designers D. stakeholders

(74)A. model B. code C. test D. modify (75)A. non-hardware B. non-software C. hardware D. software

2009 年上半年 软件评测师 下午试卷

试题一(18 分)

阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 [说明]

软件测试的质量决定着被测产品的质量,是企业关注的重点。 [问题 1](3 分)

请简要叙述软件测试质量包括哪些管理要素。 [问题 2](2 分)

请简要论述软件测试质量控制的主要方法。 [问题 3](4 分)

企业衡量软件测试的质量经常采用两个指标:测试用例覆盖率和缺陷修复率,请简 述这两个指标的概念。 [问题 4](9 分)

企业内部测试组在测试某办公自动化系统的过程中,使用 60 个测试用例进行测试, 共发现了 20 个问题。

开发组对软件修改后,向测试组提交问题修改报告及修改后的软件。问题修改报告 中提出:所发现问题中的 5 个问题是用户所要求的,无需修改,其余 15 个问题已修改

完成。

测试组使用针对上轮测试中发现的 15 个问题的 36 个测试用例进行了回归测试,确 认问题已得到修改,因此测试组做出结论:当前版本可以进入配置管理库,进行后续集

成工作。

请简要分析测试组的做法是否存在问题并简述理由。

此办公自动化系统提交给用户之后,用户在使用过程中发现了 5 个问题,测试项目 经理打算采用缺陷探测率来对测试人员进行绩效评估。请计算此测试项目的缺陷探测 率。

试题二(20 分)

阅读下列说明,回答问题 1 至问题 5,将解答填入答题纸的对应栏内。 [说明]

某“网站稿件管理发布系统”是采用 J2EE 架构开发的 B/S 系统,Web 服务器、应用

服务器以及数据库服务器部署在一台物理设备上。

系统实现的功能主要包括稿件管理和文档上传下载。稿件管理模块可以对稿件进行 增加、查询、删除、修改、显示和批准等操作,批准后的稿件即可在网站上发布;文档

上传下载模块可以将稿件直接以 Word 文档的格式进行上传下载。

系统性能需求如下:

(1)主要功能操作在 5 秒钟内完成; (2)支持 50 个在线用户;

(3)稿件管理的主要功能至少支持 20 个并发用户;

(4)在 50 个用户并发的高峰期,稿件管理的主要功能,处理能力至少要达 到 8trans/s;

(5)系统可以连续稳定运行 12 小时。 [问题 1](3 分)

简要叙述“网站稿件管理发布系统”在生产环境下承受的主要负载类型。 [问题 2](3 分)

简要叙述进行“网站稿件管理发布系统”的性能测试中应测试的关键指标。 [问题 3](3 分)

请简述访问系统的“在线用户”和“并发用户”的区别。 [问题 4](3 分)

系统性能需求中要求“系统可以连续稳定运行 12 小时”,若系统连续运行 12 小时 完成的总业务量为 1000 笔,系统能够提供的最大交易执行吞吐量为 200 笔/小时,试设

计测试周期,并说明理由。 [问题 5](8 分)

下图为并发 50 个用户执行“稿件查询”操作的测试结果。 (1)请判断结果是否满足系统性能需求并说明理由。

(2)简要说明 Transactions per Second 与 Average Transaction Response Time 之间的关系。

50

试题三(14 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

场景法是黑盒测试中重要的测试用例设计方法。目前多数软件系统都是用事件触发 来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。场

景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例

遍历软件系统功能,验证其正确性。

下面是对网上银行支付交易系统的基本流和备选流的描述:

注:假定输入的银行卡号是正确的;不考虑备选流内循环情况。

[问题

1](6

分)

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

A

表示,

备选流用题干中描述对应编号表示。 [问题

2](5

分)

请针对问题

1

设计的测试用例,依次将银行卡号、初次输入密码、最终输入密码、卡内余额、测试用例,银行卡可支付额度等信息填入下述测试用例表中。

表中行代表各个列代表测试用例的输入值,用

V 表示有效数据元素,I

表示无效数据元素,n/a

表示不适测试用例用,例如

C01 银行卡号

表示 “ 成功支付 初次输入 ”

用例。

最终输入 卡内余额 银行卡可支付额

[问题

3](3

分)

在上述系统中,假设银行卡号只能输入

0~9 的数字,请参考下表,给出用

51

边界值法

检查卡号字符合法性的关键测试数据(字符或

ASCII

值)。

试题四(10 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

逻辑覆盖是通过对程序逻辑结构的遍历实现程序的覆盖,是设计白盒测试用例的主 要方法之一。以下代码由 C 语言书写,请按要求回答问题。 void cal( int n ) {

int g, s, b, q;

if ( ( n > 1000 ) && ( n < 2000 ) ) {

g = n % 10;

s = n % 100 / 10; b = n / 100 % 10; q = n / 1000;

if( ( q + g ) == ( s + b ) ) {

printf(\"%-5d\} }

printf(\"\\n\"); return; }

[问题 1](3 分)

请找出程序中所有的逻辑判断语句。 [问题 2](4 分)

请分析并给出分别满足 100%DC(判定覆盖)和 100%CC(条件覆盖)时所需的逻辑条件。

[问题 3](3 分)

假设 n 的取值范围是 0 < n < 3000,请用逻辑覆盖法为 n 的取值设计测试用例,使用

例集满足基本路径覆盖标准。 试题五(13 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

某企业信息中心委托系统集成单位开发了企业网站,将应用服务器、Web 服务器和 数据库服务器都部署在信息中心机房,系统集成工作完成后,集成单位对网段、防火墙、

入侵检测系统、防病毒系统等进行了全面的安全检查,向信息中心提交了安全测评报告。

信息中心主管认为该测评报告不够全面,要求尽可能提供系统的、多层次的、深入 的安全测评报告。 [问题 1](5 分)

请简述系统的安全防护体系包括的层次。 [问题 2](4 分)

对于服务器操作系统的安全,应当从哪些方面进行测评? [问题 3](4 分)

安全日志是软件被动防范的措施,是重要的安全功能,软件的安全日志应当记录哪 些信息?在安全测试中应当检查安全日志的哪些方面?

2009

年上半年软件评测师上午答案

1-10: BADAC ACBBD 11-20 ABDBC ADBBA 21-30:CCDDB BBBBC 31-40 BBDBD ABCAA 41-50 BBCAD AACBC 51-60 CDCCC BBBCB 61-70 CCABC DCBCB 71-75:BBBAB

2009年上半年下午题试题解析 试题一:

52

试题二

试题三

53

试题四

试题五

54

2010 年下半年 软件评测师 上午试卷

● 在输入输出控制方法中,采用(1)可以使得设备与主存间的数据块传送无需 CPU

干预。

(1)A. 程序控制输入输出 B. 中断 C. DMA D. 总线控制

● 若某计算机采用 8 位整数补码表示数据,则运算(2)将产生溢出。 (2)A. 127+1 B. -127-1 C.-127+1 D. 127-1

● 若内存容量为 4GB,字长为 32,则(3)。 (3)A. 地址总线和数据总线的宽度都为 32 B. 地址总线的宽度为 30,数据总线的宽度为 32 C. 地址总线的宽度为 30,数据总线的宽度为 8 D. 地址总线的宽度为 32,数据总线的宽度为 8

● 设用 2K×4位的存储器芯片组成 16K×8 位的存储器(地址单元为 0000H~3FFFH,

每个芯片的地址空间连续),则地址单元 0B1FH 所在芯片的最小地址编号为(4)。

(4)A. 0000H B. 2800 H C. 2000 H D. 0800 H ● 编写汇编语言程序时,下列寄存器中程序员可访问的是(5)。 (5)A. 存储器地址寄存器(MAR) B. 指令寄存器(IR) C. 存储器数据寄存器(MDR) D. 程序计数器(PC)

● CMM 对软件测试没有提供单独的关键过程领域(KPA),所以许多研究机构和测试

服务机构从不同角度出发提出有关软件测试方面的能力成熟度模型,其中软件测试成熟

度模型(TMM)是当前影响力最大的软件测试过程模型。TMM 制定了五个成熟度等级,它们

依次是:初始级,阶段定义级,集成级,管理和度量级,(6)。

(6)A.优化、缺陷预防和可重复级 B.优化、缺陷预防和质量控制级

C.缺陷预防和质量控制级 D.优化和质量控制级 ● 以下关于软件生命周期的叙述不正确的是(7)。

(7)A.软件生命周期包括以下几个阶段:项目规划、需求定义和需求分析、软件

设计、程序编码、软件测试、运行维护

B.程序编码阶段是将软件设计的结果转换成计算机可运行的程序代码。为了

保证程序的可读性、易维护性和提高程序的运行效率,可以通过在该阶段中制定统一并

符合标准的编写规范来使编程人员程序设计规范化

C.软件设计阶段主要根据需求分析的结果,对整个软件系统进行设计,如系

统框架设计,数据库设计等

D.需求分析阶段对软件需要实现的各个功能进行详细分析。软件需求一旦确

定,在整个软件开发过程就不能再变化,这样才能保证软件开发的稳定性,并控制风险

● 在软件工程中,不属于软件定义阶段的任务是(8)。 (8)A.制定验收测试计划 B.制定集成测试计划 C.需求分析 D.制定软件项目计划 ● 软件设计阶段一般又可分为(9)。

(9)A.逻辑设计与功能设计 B.概要设计与详细设计 C.概念设计与物理设计 D.模型设计与程序设计

● 程序描述语言(PDL)是软件开发过程中用于(10)阶段的描述工具。 (10)A.需求分析 B.概要设计 C.详细设计 D.编程

● 软件测试的目的是(11)。

(11)A.试验性运行软件 B.找出软件中全部错误 C.证明软件正确 D.发现软件错误

● 按照测试实施组织,可将测试划分为开发方测试、用户测试、第三方测试。下

面关于开发方测试的描述正确的是(12)。

①开发方测试通常也叫“验证测试”或“Alpha 测试” ②开发方测试又称“Beta 测试”

③开发方测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后

开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始

④开发方测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,

并评价、检查软件

(12)A.②③ B.①③ C.②④ D.①②③

● 黑盒测试法是根据产品的(13)来设计测试用例的。

(13)A.功能 B.输入数据 C.应用范围 D.内部逻辑

55

● 软件生命周期中持续时间最长的是(14)阶段。 (14)A.需求分析 B.程序编码 C.软件测试 D.软件运行维护

● 软件工程概念的提出是由于(15)。

(15)A.计算技术的发展 B.软件危机的出现 C.程序设计方法学的影响 D.其它工程科学的影响 ● 关系数据库管理系统应能实现的专门关系运算包括(16)。

(16)A.选择、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表 ● 为了使软件测试更加高效,应遵循的原则包括(17)。

①所有的软件测试都应追溯到用户需求、充分注意缺陷群集现象 ②尽早地和不断地进行软件测试、回归测试

③为了证明程序的正确性,尽可能多的开发测试用例 ④应由不同的测试人员对测试所发现的缺陷进行确认 ⑤增量测试,由小到大

(17)A.①②③④ B.①③④⑤ C.②③④ ● 软件测试信息流的输入包括(18)。 D.①②④⑤

①软件配置(包括软件开发文档、目标执行程序、数据结构) ②开发工具(开发环境、数据库、中间件等)

③测试配置(包括测试计划、测试用例、测试驱动程序等)

④测试工具(为提高软件测试效率,使用测试工具为测试工作服务) (18)A.①②③④ B.①②④ C.①③④ D.②③④

● ISO/IEC 9126《软件工程 产品质量》统一了多种质量模型。其中,下述关于

软件使用质量描述,不正确的是(19)。

(19)A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属

B.使用质量的属性分为四个特性:有效性,生产率,安全性和满意度 C.使用质量是基于用户、开发者、维护者观点的质量

D.使用质量的获得依赖于取得必需的外部质量,而外部质量的获得则依赖

于取得必需的内部质量

● V 模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程

各阶段的对应关系。其中,集成测试阶段对应的开发阶段是(20)。 (20)A.需求分析阶段 B.概要设计阶段

C.详细设计阶段 D.编码阶段 ● 下面关于软件测试模型的描述中,不正确的包括(21)。

①V 模型的软件测试策略既包括低层测试又包括了高层测试,高层测试是为了源代

码的正确性,低层测试是为了使整个系统满足用户的需求

②V 模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细

设计及编码之后的一个阶段

③W 模型可以说是 V 模型自然而然的发展。它强调:测试伴随着整个软件开发周期,

而且测试的对象不仅仅是程序,需求、功能和设计同样要测试

④H 模型中软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发

地进行

⑤H 模型中测试准备和测试实施紧密结合,有利于资源调配 (21)A.①⑤ B.②④ C.③④ D.②③

● 程序设计语言一般可划分为低级语言和高级语言两大类,与高级语言相比,用

低级语言开发的程序具有(22)等特点。

(22)A.开发效率低,运行效率低 B.开发效率高,运行效率低 C.开发效率低,运行效率高 D.开发效率高,运行效率高

● 广义的软件测试由“确认”、 验证”、 测试”3 个方面组成,其中“确认”是(23)。

(23)A.想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运

行环境上是否达到预期的目标

B.检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件

开发各阶段的要求或期望的结果相一致

C.检查某样东西是否符合事先已定好的标准

D.试图证明软件在软件生命周期各个阶段以及阶段间的逻辑协调性、完备

性和正确性

● 与设计测试用例无关的文档是(24)。

(24)A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序

● 白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和

动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有(25)。

(25)A.代码检查法 B.逻辑覆盖法

56

C.基本路径测试法 D.结构覆盖法

● 结构化分析 (Structured Analysis,简称 SA)是面向数据流的需求分析方法,

(26)不属于 SA 工具。

(26)A.分层的数据流图 B.数据词典

C.问题分析图 D.描述加工逻辑的结构化语言、判定表或判定树

● 螺旋模型综合了(27)的优点,并增加了这两种模型忽略的风险分析。 (27)A.瀑布模型和演化模型 B.瀑布模型和喷泉模型

C.演化模型和喷泉模型 D.原型和喷泉模型

● 软件评审作为质量控制的一个重要手段,已经被业界广泛使用。评审分为内部

评审和外部评审。关于内部评审的叙述,正确的包括(28)。 ①对软件的每个开发阶段都要进行内部评审

②评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与

③评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定

④内部评审由用户单位主持,由信息系统建设单位组织,应成立评审委员会

(28)A.①②④ B.①②③ C.②③④ D.①②③④

● 软件质量保证的主要目标不包括(29)。

(29)A.通过预防、检查与改进来保证软件质量

B.保证开发出来的软件和软件开发过程符合相应标准与规程

C.收集软件产品、软件过程中存在的不符合项,在项目总结时进行分析 D.确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审

计需要

● 软件设计要遵循的基本原则包括(30)。

① 模块化 ② 抽象 ③ 封装 ④ 信息隐蔽 (30)A.①②③④ B.①②④ C.②③④ D.①②③

● 关于软件质量,(31)的叙述是正确的。 ① 软件满足规定或潜在用户需求特性的总和

② 软件特性的总和,软件满足规定用户需求的能力 ③ 是关于软件特性具备“能力”的体现

④ 软件质量包括“代码质量”、“外部质量”和“使用质量”三部分 (31)A.①③ B.①② C.②③ D.②④ ● 关于软件测试与质量保证,正确的理解的是(32)。

(32)A.软件测试关注的是过程中的活动,软件质量保证关注的是过程的产物

B.软件测试不是软件质量保证工作中的内容 C.软件测试是软件质量保证的重要手段 D.软件质量保证人员就是软件测试人员 ● (33)不是正确的软件测试目的。 (33)A.尽最大的可能找出最多的错误

B.设计一个好的测试用例对用户需求的覆盖度达到 100% C.对软件质量进行度量和评估,以提高软件的质量

D.发现开发所采用的软件过程的缺陷,进行软件过程改进 ● 设计功能测试用例的根本依据是(34)。

(34)A.用户需求规格说明书 B.用户手册 C.被测产品的用户界面 D.概要设计说明书 ● 关于软件测试与软件开发的认识,不正确的是(35)。 (35)A.软件生命周期各个阶段都可能产生错误 B.软件测试是独立于软件开发的一个工作

C.软件开发的需求分析和设计阶段就应开始测试工作 D.测试越早进行,越有助于提高被测软件的质量

● 软件测试原则中指出“完全测试是不可能的”,主要原因是(36)。 (36)A.输入量太大、输出结果太多以及路径组合太多 B.自动化测试技术不够完善 C.测试的时间和人员有限

D.仅仅靠黑盒测试不能达到完全测试

● 产品的功能性测试的内容不包括(37)。

(37)A.适合性 B.易用性 C.正确性 D.互操作性

● 以下关于设计功能测试用例的叙述,(38)是不正确的。 (38)A.尽量用 80%测试用例覆盖 20%的核心业务模块 B.功能测试用例中不包括功能的依从性测试用例 C.功能测试用例中包括业务流,也包括测试数据 D.功能测试用例的设计应注意缺陷群集现象 ● 以下不属于软件测试对象的有(39)项。

①需求规格说明书 ②软件的程序模块 ③概要设计说明书与详细设计说明书 ④软件的用户手册 (39)A.2 B.3 C.4 D.0 ● 以下关于不同类型软件测试的叙述,正确的是(40)。 (40)A.单元测试不是模块测试

B.多个模块不能平行地独立进行测试,应该顺序执行 C.系统测试是检验程序单元或部件之间的接口关系

57

D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特

定预期用途的需求

● 以下关于白盒测试和黑盒测试的理解,正确是(41)。

(41)A.白盒测试通过对程序内部结构的分析、检测来寻找问题

B.白盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态 C.单元测试可应用白盒测试方法,集成测试则采用黑盒测试方法 D.在软件生命周期各个阶段都需要用白盒测试方法

● V 模型是具有代表意义的测试模型,以下理解正确的是(42)。 (42)A.V 模型认为测试阶段是与开发阶段并行的

B.V 模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关

系 C.V 模型造成需求分析阶段隐藏的问题一直到后期的验收测试才被发现 D.V 模型是对 W 模型的改进

● 网络杀毒软件厂商已经开始使用数据库技术和 LDAP 技术进行策略日志存储和用

户管理,这里 LDAP 指的是(43)。

(43)A.轻量目录访问协议 B.本地目录访问协议 C.轻量数据访问协议 D.本地数据访问协议 ● 计算以下控制流程图的环路复杂性 V(G),正确答案是(44)。 (44)A.V(G)=2 B.V(G)=4 C.V(G)=9 D.V(G)=11

● 对需求说明书评测的内容包括(45)。 ①系统定义的目标是否与用户的要求一致

②被开发项目的数据流与数据结构是否足够、确定 ③与所有其它系统交互的重要接口是否都已经描述

④主要功能是否已包含在规定的软件范围之内,是否都已充分说明 ⑤确认软件的内部接口与外部接口是否已明确定义

(45)A.①③⑤ B.②③⑤ C.①②④⑤ D.①②③④

● 加密和解密是明文和密文之间的可逆转换,(46)不属于加密算法。 (46)A.RSA B.SHA C.DES D.AES ● 假设 A、B 为布尔变量,对于逻辑表达式( A && B || C ),需要(47)个测试

用例才能完成判定覆盖(DC)。

(47)A.2 B.3 C.4 D.5 ● 以下关于汇编语言的叙述中,错误的是(48)。

(48)A. 汇编语言源程序中的指令语句将被翻译成机器代码

B. 汇编语言的指令语句必须具有操作码字段,可以没有操作数字段

C. 汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出

D. 汇编程序先将源程序中的伪指令翻译成机器代码,然后再翻译指令语句

● 设有学生实体 Students(学号,姓名,性别,年龄,家庭住址,家庭成员,关

系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息;“家庭成员,关系,

联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。 学生实体 Students 中的“家庭住址”是一个(49)属性;为使数据库模式设计更合理,对于关系模式 Students(50)。

(49)A. 简单 B. 多值 C. 派生 D. 复合体

(50)A. 可以不作任何处理,因为该关系模式达到了 3NF

B. 只允许记录一个亲属的姓名、与学生的关系以及联系电话的信息 C. 应该将家庭成员、关系及联系电话加上学生号,设计成为一个独立的实

D. 需要对关系模式 Students 增加若干组家庭成员、关系及联系电话字段 ● 有关评估系统效率质量特性,以下论述正确的是(51)。 (51)A.响应时间越长,系统执行效率越高

B.响应时间和交易执行吞吐量都是用来衡量系统执行快慢的 C.响应时间越短,交易执行吞吐量越大

D.系统的访问量越大,交易执行吞吐量越大 ● (52)不属于易用性测试范畴。

(52)A.软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务

和使用条件的能力

B.软件产品使用户能操作和控制它的能力

C.对软件中的缺陷或失效原因进行诊断,或识别待修改部分的能力 D.软件产品吸引用户的能力

● 以下关于软件系统安全防护策略的叙述,不正确的是(53)。 (53)A.网闸的主要目的是实现内网和外网的物理隔离 B.防火墙的主要目的是实现内网和外网的逻辑隔离 C.入侵检测系统通常部署在防火墙之外 D.安全日志属于被动防护策略

● 假设在程序控制流图中,有 14 条边,10 个节点,则控制流程图的环路复杂性

V(G)等于是(54)。

(54)A.12 B.8 C.6 D.4 ● 目前信息系统所使用的主要用户认证机制,身份识别标识不包括(55)。 58

(55)A.指纹 B.智能卡 C.数字证书 D.身份证号码

● 针对以下 C 语言程序段,假设 sta[10]= -1,对于 x 的取值,需要(56)个测试

用例能够满足分支覆盖的要求。 int MathMine( int x ) {

int m = 0; int i;

for( i = x-1; i <= x + 1; i++ ) {

if ( i < 0 ) if ( i >31 )

continue; break; }

if ( sta[i] == -1 ) m++; }

return m;

(56)A.3 B.4 C.5 D.6 ● 以下关于信息安全的叙述,不正确的是(57)。

(57)A.SYN 洪水攻击通过发送大量 TCP 连接请求以占满网络带宽,使其他用户无法正常连接服务

B.缓冲区溢出攻击能通过修改函数返回地址并执行恶意代码,进而获得系统的控制权

C.计算机病毒的主要特征包括破坏性、寄生性、自我复制能力和传染能力

D.会话标识和时间戳都是抵御重演攻击的有效技术 ● 软件测试使用各种术语描述软件出现的问题,以下叙述正确的是(58)。 (58)A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错

误,其结果是导致软件故障的产生

B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希 望或不可接受的偏差

C.软件故障(fault)是指软件运行过程中出现的一种不希望或不可接受的外

部状态 D.软件失效(failure)是指软件运行时产生的一种不希望或不可接受的内部 行为结果

● 网络测试不能解决的问题是(59)。 (59)A.连通性 B.丢包 C.全表扫描 D.延迟

● 关于 bug 管理流程,(60)是正确的做法。

(60)A.开发人员提交新的 bug 入库,设置状态为“New” B.开发人员确认是 bug,设置状态为“Fixed”

C.测试人员确认问题解决了,设置状态为“Closed” D.测试人员确认不是 bug,设置状态为“Reopen” ● (61)是当前自动化测试技术不能解决的问题。

(61)A.保证测试质量 B.提高测试效率 C.排除手工操作错误 D.降低测试用例设计的难度 ● GB/T 18905.5《软件工程 产品评价》中,分别规定了开发者用、需方用、评

价者用的过程,以下理解正确的是(62)。

(62)A.计划开发新产品的厂商,该标准中规定不允许利用他们自己的技术人员

进行产品评价

B.软件产品的一般评价过程是:确立评价需求,规定、设计和执行评价 C.该标准不适用于对软件产品执行独立评估的第三方评测机构

D.该标准可用来决定从众多可选产品中选择某个产品,但该产品不可以是

较大产品的一部分

● 软件测评相关的标准一般可以分为国际标准、国家标准、行业标准以及企业标

准。一般情况下,技术要求最高的是(63)。

(63)A.国际标准 B.国家标准 C.行业标准 D.企业标准

● 为验证某呼叫中心是否能够承受大量呼叫信息同时呼入并得到正确处理,测试

工程师一般采用(64)测试工具。

(64)A.负载压力 B.代码 C.网络仿真 D.故障诊断

● 关于软件测试过程中的配置管理,(65)是不正确的表述。

(65)A.测试活动的配置管理属于整个软件项目配置管理的一部分 B.软件测试配置管理包括 4 个基本的活动:配置项变更控制、配置状态报

告、配置审计、配置管理委员会建立

C.配置项变更控制要规定测试基线,对每个基线进行描述

D.配置状态报告要确认过程记录、跟踪问题报告、更改请求以及更改次序等

59

● 测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,

以下理解正确的是(66)。

(66)A.测试准备成本属于测试实施成本

B.可以通过加强软件测试的配置管理来降低测试维护成本

C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试专用设备

D.回归测试将测试案例全部重新执行一遍,可以将测试维护成本降至最低

● 以下关于缺陷探测率(DDP)的表述,不正确的是(67)。 (67)A.DDP 是一个衡量测试工作效率的软件质量成本指标

B.缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错

误才可能越少

C.DDP 是衡量测试投资回报的一个重要指标 D.测试周期越长,缺陷探测率就会越高

● 在一个完整的功能测试过程中,(68)不属于应该编写的测试文档。 (68)A.测试需求文档 B.测试用例文档 C.测试标准 D.问题报告单

● 性能测试过程中需要对数据库服务器的资源使用进行监控,(69)不属于应该监

控的的指标。

(69)A.CPU 占用率 B.可用内存数 C.点击率 D.缓存命中率

● J2EE 系统架构被各种信息系统普遍采用,(70)不属于其服务器端应用组件。

(70)A.Servlet B.JSP C.EJB D.Applet ● People are indulging in an illusion whenever they fi nd themselves explaining at a

cocktail(鸡尾酒) party, say, that they are \"in computers,\" or \"in telecommunications,\" or \"i n

electronic funds transfer\". The impli cation is that they are part of the high-tech world. Just

between us, they usually aren't. The researchers who made fundamental breakthroughs i n

those areas are in a high-tech business. The rest of us are (71) of their work. We use

computers and ot her new technology components to develop our products or to organize our

affairs. Because we go about this work in teams and projects and other tightly knit working

groups(紧密联系在一起的工作小组), we are mostly in the human communication business.

Our successes stem from good human interactions by all participants in the effort, and our

failures stem from poor human i nteractions.

The main reason we tend to focus on the (72) rather than the human side of the work

is not because it's more (73) , but because it's easier to do. Getting the new disk drive

installed is positively trivial compared t o figuring out why Horace is in a blue funk(恐惧) or

why Susan is dissatisfied wit h the company after only a few months. Human interactions are

complicated and never very crisp(干脆的,干净利落的) and clean in their effects, but t hey

matter more t han any other aspect of the work.

If you find yourself concentrating on the (74) rather than t he (75), you're like the

vaudeville character(杂耍人物) who loses his keys on a dark street and looks for t hem on the

adjacent street because, as he explains, \"The li ght is better there!\". (71)A. creators B. innovators C. appliers D. invent ors

(72)A. technical B. classical C. social D. societal (73)A. trivial B. crucial C. minor D. insi gnificant (74)A. technology B. sociology C. physiology D. astronomy

(75)A. technology B. sociology C. physiology D. astronomy

2010 年下半年 软件评测师 下午试卷

试题一(15 分)

阅读下列说明,回答问题 1 至问题 2,将解答填入答题纸的对应栏内。 [说明]

场景法是黑盒测试中重要的测试用例设计方法。目前多数软件系统都是用事件触发

60

来控制业务流程,事件触发时的情景便形成了场景,场景的不同触发顺序构成用例。场

景法通过场景描述业务流程(包括基本流(基本流程)和备选流(分支流程)),设计用例

遍历软件系统功能,验证其正确性。

图 1 描述了简化的中心层、省市层、地区层三级的“公文流转”业务流程,表 1 描

述了省市层(图 1 阴影部分)业务的基本流和备选流。 公文的状态包括:已下发、未下发、已接收、未接收。

【问题 1】(5 分)

用表 1 中表述的基本流和备选流,使用场景法设计测试场景。基本流和备选流用表 1 中对应的字母编号表示。

【问题 2】(10 分)

下表给出了测试用例名称,请将表中的输入条件和预期输出补充完整。

试题二(14 分)

阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】

某软件公司在研发一个城镇居民保险系统时,为了加快进度,测试工作在系统开发

初步完成之后开始并直接进行系统测试。测试工程师针对界面进行了功能测试。测试工

程师和开发工程师借助缺陷管理工具,交互进行测试与缺陷修复工作。测试期间发现系

统的“文档审批”功能出现严重缺陷,开发工程师认为修改难度大,经测试工程师认可

后决定暂停修复该缺陷,直到产品发布前,该缺陷在开发环境下被修复。随后,测试工

程师在开发环境下针对该缺陷执行了有关的用例,进行了回归测试。回归测试结束后,

开发工程师在开发环境下对产品直接打包发布。 【问题 1】(3 分)

测试开展的时间是过早、过晚还是合适?说明理由。 【问题 2】(2 分)

测试工程师功能测试的方法是否正确?若不正确,请陈述正确的方法;若正确,请

说明理由。

【问题 3】(6 分)

该案例中对缺陷的管理有哪些不妥之处? 【问题 4】(3 分)

开发工程师产品发布的做法是否正确? 试题三(16 分)

阅读下列说明,回答问题 1 至问题 3,将解答或相应的编号填入答题纸的对应栏内。

【说明】

61

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

实现程序的覆盖。针对以下由 C 语言编写的程序,按要求回答问题。 getit( int m ) {

int i, k;

k = sqrt( m );

for ( i = 2; i <= k; i++ ) if ( m % i == 0 ) break; if ( i >= k + 1 )

printf( “%d is a selected number\\n”, m ); else

printf( “%d is not a selected number\\n”, m ); }

【问题 1】(3 分)

请找出程序中所有的逻辑判断子语句。 【问题 2】(4 分)

请将满足 100%DC(判定覆盖)所需的逻辑条件填入下表。

【问题 3】(9 分)

请画出上述程序的控制流图,并计算其控制流图的环路复杂度 V(G)。假设函数 getit的参数 m 取值范围是 150 < m < 160,请使用基本路径测试法设计测试用例,将参数 m的取值填入下表,使之满足基本路径覆盖要求。

试题四(12 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]

某大学暑假期间为教职员工开办了 VPN 远程接入服务,员工在校外通过登录界面输入用户名和口令后,就可以访问仅供本校师生使用的各类信息资源。为了实现信息隔离与访问控制,在校园网不同的网络区域之间部署了防火墙等相关设施。

[问题 1] (4 分)

下图是 VPN 用户与数据库之间的网络拓扑结构图,请指明图中设备 1、设备 2、设备 3、设备 4 是何种类型的网络设施。

[问题 2] (4 分)

通信加密的目的是什么?通信加密测试的基本方法有哪些? [问题 3] (4 分)

为防止未授权用户通过反复猜测口令获得 VPN 使用权,从用户口令管理和网站登录

控制两方面说明可以采取的应对措施。

试题五(18 分)

阅读下列说明,回答问题 1 至问题 4,将解答或相应的编号填入答题纸的对应栏内。

【说明】

性能测试在系统质量保证中起重要作用。某项目组对一个电子政务平台系统执行了

负载压力性能测试,重点评估其效率质量特性中的时间特性和资源利用性两个质量子特

62

性。性能需求可以概括为:业务成功率达到 100%;响应时间在 8 秒之内;服务器资源

利用合理。测试环境逻辑部署图如下图。

【问题 1】(4 分)

请分别指出性能测试中负载测试与压力测试的目的。 【问题 2】(6 分)

请分别指出应用服务器和数据库服务器性能评价的关键指标。 【问题 3】(3 分)

该电子政务平台的“文档审核”业务的测试结果如下表,请具体说明测试结果是否满足性能需求。

【问题 4】(5 分)

如 60 用户并发执行“新立申请”业务的成功率为 80%,应用服务器内

存页交换速

率为 2000page in/s,数据库服务器 CPU 平均占用率达到 100%。

请说明该业务的性能是否满足需求。

假设系统中间件和数据库软件配置正确,请指出系统可能存在的性能瓶

颈?

201 0 年下半年软件评测师下午试 卷答案

试题一 [ 问题 1]

共包括 5 个场景:

1.A 2.B 3.B、E 4.B、C、D(CD可互换) 5. B、C、E

试题二 [问题 1]

测试工作开展得太晚。

测试工作应该覆盖需求分析、概要设计、详细设计、编码等前期阶段,而不应该在系统开

发初步完成后才开始。

[问题 2] 测试人员功能测试的方法不正确。 系统功能测试应该追溯到用户需求,针对界面进行功能测试是错误的。 [问题 3] 1、开发工程师无权决定是否延期或者暂停修改某一缺陷; 2、测试工程师认可暂停修复缺陷的决定是不合理的; 3、测试工程师应该跟踪缺陷状态,直至确定修改后关闭缺陷,才是完成了测试任务; 4、回归测试应该执行所有的案例,不是仅仅执行与该缺陷有关的用例; 5、产品发布前,应该对发现的缺陷进行评审; 6、应该分析缺陷修复情况之后,才可以发布产品。 [问题 4]

63

产品最后由开发人员直接发布不合理。 (基线库中的产品应该是最后经过测试的)实际最后发布的产品应该从产品库中提取。

试题三 [问题 1]

逻辑判断子语句 i<=k m%i==0 i>=k+1 [问题 2]

满足 100%DC 时所需的逻辑条件

[问题 3]

控制流图

环路复杂度 V(G)=4 基本路径覆盖用例

试题四

[问题 1 ]

设备 1 是防火墙

设备 2 是交换机(集线器) 设备 3 是防火墙

设备 4 是交换机(集线器) [问题 2] 目的:保证数据在传输过程中数据的保密性(机密性)和一致性(完整性); 基本方法,验证和侦听。 [问题 3]

用户口令管理:口令长度、复杂度(特殊字符)、时效(定期更改); 用户登录控制;多次登录延时、账户锁定、验证码。

试题五 [问题 1 ]

1、负载测试模拟系统真实使用环境执行性能测试,考核系统在日常业务运行和高峰期运行

期间的性能是否满足需求。

2、压力测试模拟系统的性能极限点执行性能测试,用来发现系统的性能瓶颈点。

[问题 2]

1、应用服务器关键指标:操作系统指标、缓存状况、连接池、执行队列等。

2、数据库服务关键指标:操作系统指标、缓存命中率、数据库进程占用的 CPU 时间、数据

库进程使用的内存量、锁资源使用情况。 [问题 3]

1、40 用户并发均响应时间为 21.4 秒,超过 8 秒,不满足需求; 2、40 用户并发数据库服务器 CPU 平均占用率 91.4%,超过 85%,不满足需求;

3、内在页交换速率 Page in/s 平均值为 98.8,超过 80,不满足需求。 [问题 4] 1、业务成功率(没有达到 100%)、应用服务器内存页交换速率(大于 80)、数据库服务器

CPU 平均占用率(大于 85%)三个指标都不满足性能需求。 2、系统存在的恨不能瓶颈可能包括: a)应用服务器物理内存不够。

b)数据库服务器的 CPU 性能不足。 c)数据库设计有问题或没有优化。

64

2011年下半年 软件评测师 上午试卷

(考试时间 9 : 00~11 : 30 共150分钟)

1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B 铅笔在你写入的准考证号下填涂准考证号。

2. 本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。 3. 每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。

4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。解答时用正规2B铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。

例题

● 2011年下半年全国计算机技术与软件专业技术资格(水平)考试日期是(88) 月 (89) 日。

(88)A.12 B.11 C.10 D.9 (89)A.9 B.10 C.11 D.12

因为考试日期是“11月12日”,故(88)选B,(89)选D,应在答题卡序号88 下对B 填涂,在序号89 下对D 填涂(参看答题卡)。

请按下述要求正确填写答题纸

●若某条无条件转移汇编指令采用直接寻址,则该指令的功能是将指令中的地址码送入(1)。

(1) A.PC(程序计数器) B.AR(地址寄存器) C.AC(累加器) D.ALU(算术逻辑单元)

●若某计算机系统的I/0接口与主存采用统一编址,则输入输出操作是通过(2)指令来完成的。

(2) A.控制 B.中断 C.输入输出 D.访存

●在程序的执行过程中,Cache与主存的地址映像由(3)。 (3) A.专门的硬件自动完成 B.程序员进行调度

C.操作系统进行管理 D.程序员和操作系统共同协调完成 ●总线复用方式可以(4) 。

(4) A.提高总线的传输带宽 B.增加总线的功能 C.减少总线中信号线的数量 D.提高CPU利用率 ●在CPU的寄存器中,(5)对用户是完全透明的。

(5) A.程序计数器 B.指令寄存器 C.状态寄存器 D.通用寄存器

●在C程序中,若表达式中的算术运算对象的类型不同,则需要先统一为相同类型后再进行计算。例如,表达式“a-b”中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行的处理是(6)。

(6) A.读取b的值并转换为双精度浮点型数据,然后进行两个浮点数的相减运算,变量b的值不变

B.读取a的值并转换为整型数据,然后进行两个整数的相减运算,变量a的值不变 C.将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),再进行两个浮点数的相减运算

D.将a重新定义为整型变量(其值自动转换为整型数据),再进行两个整数的相减运算

●标识符在高级语言源程序中的作用不包括(7)。 (7) A.为变量命名 B.为注释标记位置

C.为函数命名 D.为数据类型命名

●在面向对象方法中,(8)是一种概念、抽象或具有状态、行为和标识的事物。 (8) A.关系 B.属性 C.标识 D.对象

●从认证中心CA获取用户B的数字证书,该证书用(9)做数字签名,从用户B的数字证书中可以获得B的公钥。

(9) A.CA的公钥 B.CA的私钥 C.B的公钥 D.B的私钥

●(10)指可以不经著作权人许可,不需支付报酬,使用其作品。 (10)A.合理使用 B.许可使用 C.强制许可使用 D.法定许可使用

●王某是M国际运输有限公司计算机系统管理员。任职期间,王某根据公司的业务要求开发了“海运出口业务系统”,并由公司使用。随后,王某向国家版权局申请了计算机软件著作权登记,并取得了《计算机软件著作权登记证书》,证书明确软件名称是“海运出口业务系统V1.0”,著作权人为王某。以下说法中,正确的是(11)。

(11)A.海运出口业务系统V1.O的著作权属于王某 B.海运出口业务系统V1.O的著作权属于M公司 C.海运出口业务系统V1.0的著作权属于王某和公司 D.王某获取的软件著作权登记证是不可以撤消的 ●表达式“a+(b-(c+d))”的后缀式为(12)。

(12)A.cd+ab-* B.ab*c-d+ C.abcd+-* D.abcd*-+

●如果在程序中的多个地方需要使用同一个常数,那么最好将其定义为一个符号常量,这样(13)。

(13)A.可以缩短程序代码的长度 B.便于进行编译过程的优化 C.可以加快程序的运行速度 D.便于修改此常数并提高可读性 ●若程序在运行时陷入死循环,则该情况属于(14)。 (14)A.语法错误 B.运行时异常

C.动态的语义错误 D.静态的语义错误

●将Students表的插入权限赋予用户UserA,并允许其将该权限授予他人,应使用的SQL语句为:

GRANT (15) TABLE Students TO UserA (16) ;

(15)A.UPDATE B.UPDATE ON C.INSERT D.INSERT ON (16)A.FOR ALL B.PUBLIC

C.WITH CHECK OPTION D.WITH GRANT OPTION

●若有关系R(A,B,C,D)和S(C,D,E),则与表达式π3,4,7(σ4<5(R×S))等价的SQL语句如下:

SELECT (17) FROM (18) WHERE (19) ; (17)A.A,B,C,D,E B.C,D,E

C.R.A,R.B,R.C,R.D,S.E D.R.C,R.D,S.E (18)A.R B.S C.R.S D.RS

(19)A.D(20)A.管道—过滤器 B.分层 C.黑板 D.解释器 ●若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为(21)。

65

(21)A.base+((i-1)*M+j-1)*K B.base+(i-1)*N+j-1)*K C.base+(j-1)*M+i-1)*K D.base+(j-1)*N+i-1)*K

●某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。

信号量S是一个互斥信号量,初始值为(22);S1、S2的初始值分别为(23)。 (22)A.0 B.1 C.n D.任意正整数 (23)A.n、0 B.O、n C.1、n D.n、1

●若某文件系统的目录结构如下图所示,假设用户要访问文件f1.java,且当前工作目录为Program,则该文件的全文件名为(24),其相对路径为(25)。

(24)A.f1.java B.\\Document\\Java-prog\\f1.java

C.D:\\Program\\Java-prog\\f1.java D.\\Program\\Java-prog\\f1.java (25)A. Java-prog\\ B.\\Java-prog\\

C.Program\\Java-prog D.\\Program\\Java-prog\\

●A类网络是很大的网络,每个A类网络中可以有(26)个网络地址。实际使用中必须把A类网络划分为子网,如果指定的子网掩码为255.255.192.0,则该网络被划分为(27)个子网。

(26)A.210 B.212 C.220 D.224 (27)A.128 B.256 C.1024 D.2048

●TCP是互联网中的(28)协议,使用(29)次握手协议建立连接。 (28)A.传输层 B.网络层 C.会话层 D.应用层 (29)A.1 B.2 C.3 D.4

●Windows系统中,在排除DNS域名解析故障时,需要刷新DNS解析器缓存,使用的命令是(30)。

(30)A.ipconfig/renew B.ipconfig/flushdns C.netstat -r D.arp -a

●安全防护策略是软件系统对抗攻击的主要手段,安全防护策略不包括(31)。 (31)A.安全日志 B.入侵检测 C.漏洞扫描 D.数据备份与恢复

●某应用系统采用防火墙技术来实现安全防护,在进行安全防护测试时,设计的测试点不包括(32)。

(32)A.是否支持对HTTP、FTP、SMTP等服务类型的访问控制

B.是否在检测到入侵事件时,自动执行切断服务、记录入侵过程等动作 C.是否支持交换和路由两种工作模式 D.是否考虑到防火墙的冗余设计

●现要开发一个通过卫星通信连接计算机的新软件产品,假设之前没有开发卫星通信软件的经验,则最不适合采用(33)模型。

(33)A.瀑布 B.原型 C.增量 D.螺旋

●若C程序的表达式中引用了未赋初值的变量,则(34)。 (34)A.编译时一定会报告错误信息,该程序不能运行 B.可以通过编译并运行,但运行时一定会报告异常

C.可以通过编译,但链接时一定会报告错误信息而不能运行 D.可以通过编译并运行,但运行结果不一定是期望的结果 ●以下关于敏捷方法的叙述中,不正确的是(35)。 (35)A.相对于过程和工具,更强调个人和交互 B.相对于严格的文档,更重视可工作的软件 C.相对于与客户的合作,更注重合同谈判 D.相对于遵循计划,更专注于对变化的响应 ●某软件系统的原始需求包括,“当某个查询请求是不适当或非法的,应提示用户”,该需求属于(36)。

(36)A.功能需求 B.质量需求 C.设计约束 D.过程约束 ●给系统增加特征越容易,说明软件的(37)越好。 (37)A.功能性 B.可靠性 C.可维护性 D.易使用性 ●以下关于项目估算的叙述中,不正确的是(38)。

(38)A.在项目估算中,需要估算的项目参数包括项目规模、开发软件所需的工作量、项目持续时间和成本

B.由于专家判断受到差异性和主观性的影响,以及对当前数据依赖性的影响,用专家判断方法进行项目估计会得到不精确的估算值

C.由于启发式估算方法,如COCOMO II模型具有严谨的估算形式,因此可以得到精确的估算值

D.项目估算是制定项目开发计划的基础和依据 ●风险控制不包括(39)。

(39)A.风险分析 B.风险降低 C.风险管理计划 D.风险化解

●在结构化分析模型中,(40)描述了所有在目标系统中使用和生成的数据对象。 (40)A.数据字典 B.数据流图 C.实体—关系图(ER图) D.类图

●下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的值表示完成活动所需要的时间,则关键路径长度为(41)。

(41)A.20 B.19 C.17 D.16

●以下关于数据流图的叙述中,不正确的是(42)。

(42)A.从数据传递和加工的角度,刻画数据流从输入到输出的移动变化过程 B.描述了数据对象及数据对象之间的关系

C.顶层数据流图仅包含一个数据处理,即目标系统

D.采用自顶向下的方式进行,开始于顶层数据流图,结束于模块规格说明 ●在面向对象分析模型中,(43)不属于系统的行为模型。 (43)A.类图 B.顺序图 C.活动图 D.状态图

●模块设计中,某模块根据输入的控制信息从文件中读一个记录或者向文件中写一个记录,则其内聚类型为(44)。

(44)A.功能内聚 B.信息内聚 C.逻辑内聚 D.巧合内聚

●若UML类图中包含订单和订单明细两个类,则这两个类之问的关系应为(45)。 (45)A.关联 B.聚合 C.组装 D.继承

●A模块通过简单数据类型(如整型)参数访问B模块,该参数在B模块内用于数据计算,则A、B模块之间存在(46)。

(46)A.数据耦合 B.标记耦合 C.控制耦合 D.外部耦合 2011 年下半年 软件评测师 上午试卷 第 8 页 (共 13 页) ●在结构化分析方法中,依据(47)来进行接口设计。 (47)A.数据流图 B.实体—关系图 C.数据字典 D.状态—迁移图

●一个优秀的概念设计不包含(48)。

(48)A.用客户语言编写 B.描述系统功能

66

C.描述软件构件的层次和功能 D.与需求文档链接

●在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括(49)。

(49)A.软件可靠性 B.软件可测试性 C.软件性能实现情况 D.软件模块层次

●某财务系统在使用过程中,因个人所得税政策变化,需修改计算工资的程序。这种修改属于(50)维护。

(50)A.正确性 B.适应性 C.完善性 D.预防性 ●系统可维护性的评价指标不包括(51)。

(51)A.可理解性 B.可测试性 C.可移植性 D.可修改性 ●准确性质量子特性属于(52)质量特性。

(52)A.功能性 B.效率 C.可靠性 D.可维护性 ●软件测试的对象包括(53)。 ①软件代码 ②文档 ③数据

(53)A.①② B.①③ C.②③ D.①②③ ●编写测试计划的目的是(54)。

①使测试工作顺利进行 ②使项目参与人员沟通更舒畅 ③使测试工作更加系统化 ④软件过程规范化的要求 ⑤控制软件质量

(54)A.②③⑤ B.①②③ C.①②④ D.①②⑤ ●软件测试的目的是(55)。

(55)A.避免软件开发中出现的错误 B.发现软件中出现的错误 C.容忍软件中出现的错误 D.修改软件中出现的错误 ●以下关于软件测试原则的叙述中,不正确的是(56)。

(56)A.测试用例不仅选用合理的输入数据,还要选择不合理的输入数据 B.应制定测试计划并严格执行,排除随意性

C.对发现错误较多的程序段,应进行更深入的测试 D.程序员应尽量测试自己的程序

●以下关于测试时机的叙述中,正确的是(57)。 (57)A.应该尽可能早的进行测试

B.若能推迟暴露软件中的错误,则修复和改正错误所花费的代价就会降低 C.应该在代码编写完成后开始测试

D.需求分析和设计阶段不需要测试人员参与 ●使用软件测试工具的目的不包括(58)。 (58)A.帮助测试寻找问题 B.协助问题的诊断 C.节省测试时间 D.提高设计质量

●自动化测试工具中,(59)是最难自动化的。 (59)A.测试执行 B.实际输出与预期输出的比较 C.测试用例生成 D.测试录制与回放 ●以下不属于易用性测试的是(60)。

(60)A.功能易用性测试 B.用户界面测试 C.辅助功能测试 D.可靠性测试

●以下关于黑盒测试的叙述中,不正确的是(61)。 (61)A.不需要了解程序内部的代码及实现

B.容易知道用户会用到哪些功能,会遇到哪些问题 C.基于软件开发文档,所以也能知道软件实现了文档中的哪些功能 D.可以覆盖所有的代码

●以下不属于黑盒测试方法的是(62)。 (62)A.等价划分类 B.边界值分析 C.错误推测法 D.静态结构分析法

●以下关于白盒测试的叙述中,不正确的是(63)。

(63)A.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求 B.逻辑覆盖法是一种常用的白盒测试方法

C.程序中存在很多判定和条件,不可能实现100%的条件覆盖 D.测试基于代码,无法确定设计正确与否 ●数据库测试的对象包括(64)。

①数据库连接测试 ②数据库的安全测试

③定义的存储过程和触发器的测试 ④数据库接口测试 (64)A.①④ B.①②③ C.①②④ D.①②③④

●对于逻辑表达式((a&b)||c),需要(65)个测试用例才能完成条件组合覆盖。 (65)A.2 B.3 C.4 D.5

●为预测某Web系统可支持的最大在线用户数,应进行(66)。 (66)A.负载测试 B.压力测试 C.疲劳强度测试 D.大数据量测试

●客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属于客户端交易处理性能指标的是(67)。

(67)A.并发用户数 B.平均事务响应时间 C.每秒事务数 D.每秒进程切换数 ●以下不属于集成测试的是(68)。

(68)A.各个子功能组合起来,能否达到预期要求

B.一个模块的功能是否会对另一个模块的功能产生不利的影响 C.全局数据结构是否有问题

D.函数内局部变量的值是否为预期值 ●逻辑覆盖法不包括(69)。

(69)A.分支覆盖 B.语句覆盖 C.需求覆盖 D.修正条件判定覆盖 ●以下属于安全测试方法的是(70)。 ①安全功能验证 ②安全漏洞扫描 ③模拟攻击实验 ④数据侦听

(70)A.①③ B.①②③ C.①②④ D.①②③④

●Extreme Programming(XP)is a discipline of software development with (71) of simplicity, communication,feedback and courage.Successful software development is a team effort-not just the development team,but the larger team consisting of customer, management and developers.XP is a simple process that brings these people together and helps them to succeed together.XP is aimed primarily at

object-oriented projects using teams of a dozen or fewer programmers in one location.The principles of XP apply to any (72) project that needs to deliver quality software rapidly and flexibly.

An XP project needs a (73) customer to provide guidance.Customers,programmers, managers,are all working (74) to build the system that's needed.Customers-those who have software that needs to be developed-will learn simple, effective ways to

67

(75) what they need,to be sure that they are getting what they need,and to steer the project to success.

(72)A.small-sized B.moderately-sized C.1arge-sized D.huge-sized

(73)A.part-time B.casual C.seldom D.full-time (74)A.together B.by themselves C.separately D.alone

(75)A.tell B.know C.communicate D.feedback

2011下半年软件评测师下午试题

试题一、黑盒测试技术(场景法)15分 阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。

【说明】 场景法是黑盒测试中重要的测试用例设计方法,通过场景描述业务流程(包括基本流(基本业务流程)和备选流(分支业务流程)),设计测试用例遍历软件系统功能。验证其正确性。 下面是对电子不停车收费系统(ETC)的基本流和备选流的描述。

表1-1基本流 步骤

【问题1】(3分)使用场景法设计测试用例,指出所涉及到的基本流和备选流。基本流用A字母编号表示,备选流用表1-2中对应的字母编号表示。例如: T01:A T02:A、B

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

表1-3 测试用例表

试题二白盒测试技术(判定覆盖)(15分)

【问题1】(4分)请给出满足100%DC(判定覆盖)所需的逻辑条件。

【问题2】(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。 【问题3】(3分)假设函数gz_open的参数mode是由26个小写字母'a'-'z'、数字'0'-'9'以及空格组成的字符串,请使用基本路径测试法构造1个测试用例,使之覆盖所有基本路径。

试题三、安全测试(网页篡改)(15分)

【问题1】(6分)通过入侵从而进行网页篡改的可能途径有哪些?这些途径各对应安全系统防护体系的哪个层次?

【问题2】(6分)针对网页被篡改的问题,从技术层面看有哪些防范措施?

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

试题四、兼容性测试及SQL注入测试(15分)

【问题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注入的方法。

试题五、负载压力测试(性能测试)(15分)

【问题1】(3分) 简述负载压力测试的主要目的。

【问题2】(3分)对该数据管理系统进行性能测试时,主要关注哪些性能指标?

68

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

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

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

2011 年下半年软件评测师下午试卷参考答案

试题一(共 15 分)

【问题 1】(3 分,每个 0.5 分) T03:A、C T04:A、D T05:A、E T06:A、B、C T07:A、B、D T08:A、B、E

【问题 2】(12 分。每个 2 分,5 个数据列为 1 分,预期结果 1 分)

69

试题二(共 15 分)

【问题 1】(4 分,每个 0.5 分)

【问题 2】(8 分)

控制流图(6 分,基本画对即可给满分;节点编号与否,不影响评分)

环路复杂度 V(G)=6(2 分)

【问题 3】(3 分)

70

构造一个 6 个字符构成的字符串(设为 x,y,z,u,v,w 6 个字符),使得每个字符覆盖一条基

本路径。其中,x='r',y='f',z∈['0'-'9'],u<'0',v>'9'并且 v!='f',w 任意,这 6 个字

符可任意排列。例如,mode=\"rOf aa\" 试题三(共 15 分)

【问题 1】(6 分,每个 1 分)

【问题 2】(6 分,每个 1 分)

1)给服务器打上最新的安全补丁程序 2)封闭未用但开放的网络服务端口 3)合理设计网站程序并编写安全代码 4)设置复杂的管理员密码 5)设置合适的网站权限

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

【问题 3】(3 分,答对 1 个给 1 分,最多 3 分) 1)自动监控

2)自动备份和恢复 3)自动报警

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

试题四(共 15 分)

【问题 1】(3 分,每个 1 分)

招聘系统的链接测试主要测试如下 3 个方面: 1)每个链接是否能够链接到目标页面 2)被链接的页面是否存在 3)是否存在孤立页面

【问题 2】(4 分)

招聘系统的兼容性测试:

1)平台兼容性(1 分)和浏览器兼容性(1 分)。 2)兼容性测试矩阵示例如下:

注:上述矩阵中包含“平台”和“浏览器”(1 分),具体名称合理,体现出移动(1 分)。

【问题 3】(3 分)

通信吞吐量:P=N(并发用户的数量=50)×T(每单位时间的在线事务数量=5)×D(事务服务 器每次处理的数据负载=12KB/S)=50×5×12=3000KB/S 【问题 4】(5 分)

该 SQL 语句不安全,容易造成 SQL 注入。(1 分) 设计测试用例:(2 分)

【注:设计类似如下用例的一个即可,其中应包含 SQL 功能符号,使得该 SQL 语句变得不

符合设计意图即可,例如,包含了“--”或“',DROP„„”等】 参考用例 1:

strUserName:Zhang'-- strPassword:San 【注:上述用例将使得该 SQL 语句变为:

SELECT * FROM Users WHERE User_Name=‘Zhang'-- AND Password=‘San'; 】

参考用例 2:

strUserName:Zhang'or‘a'='a strPassword:San’or‘a'='a 【注:上述用例将使得该 SQL 语句变为:

SELECT * FROM Users WHERE User_Name=‘Zhang'or‘a'=‘a' AND Password=‘San'or ‘a'='a'; 】

防止 SQL 注入的方法主要有:拼接 SQL 之前对特殊符号进行转义,使其不作为 SQL 语句的

功能符号。(2 分)【如果回答:页面输入域验证(1 分)】

试题五(共 15 分)

【问题 1】(3 分,每个 1 分)

1)在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况 2)预见系统负载压力承受力,在应用实际部署之前,评估系统性能 3)分析系统瓶颈、优化系统 【问题 2】(3 分,每个 1 分) 1)并发用户数

71

2)响应时间 3)资源利用率 【问题 3】(6 分)

数据接收模块的测试结果不满足性能指标。(1 分)当接收间隔为 200ms 时,存数据库交易 成功率为 80%,不满足交易成功率 100%的要求;(1 分)当接收间隔为 200ms 时,CPU 利用率为

43.8%,不满足不超过 40%的要求。(1 分)

数据查询模块的测试结果满足性能指标。(1 分)要求至少支持 10 个并发用户,所以在 15 个并发用户的时候响应时间超出 3s 不能算作不满足。(2 分) 【问题 4】(3 分,每个 1 分)

1)数据接收模块软件没有采用合适的并发/并行策略 2)服务器 CPU 性能不足

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

2012年下半年软件评测师上午试题解析及答案

在输入输出控制方法中,采用(1)可以使得设备与主存间的数据块传送无需CPU干预。 (1)A.程序控制输入输出 B. 中断 C.DMA D. 总线控制 解析:

Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为\"DMA控制器\"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。

DMA的概念:DMA是在专门的硬件( DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有三种方式:

◎ 停止CPU访内 ◎周期挪用方式 ◎DMA与CPU交替访内存

缺点: 因为DMA允许外设直接访问内存,从而形成对总线的独占。 参考答案: C

若某计算机采用8位整数补码表示数据,则运算(2)将产生溢出。 (2)A.127+1 B.-127-1 C.-127+1 D.127-1 参考答案:A

若内存容量为4GB,字长为32.则(3)

(3)A.地址总线和数据总线的宽度都为32

B.地址总线的宽度为30,数据总线的宽度为32 C.地址总线的宽度为30,数据总线的宽度为8 D.地址总线的宽度为32,数据总线的宽度为8

解析:4GB=4*2^30B=2^32B 所以地址总线和数据总线的宽度都为32 。参考答案:A

设用2K X 4位的存储芯片组成16K X 8位的存储器(地址单元为0000H~3FFFH,每个芯片的地址空间连续),则地址单元0B1FH所在芯片的最大地址编号为 (4)

(4)A.0000H B.2800H C.2000H D.0800H 参考答案 D

解析:2K*4位的存储器芯片,要组成8位的存储器,所以在逻辑上可以把前面的存储器看作是1K*8的,这个是按照地址来说的。也就是说每一个单元存储芯片的地址范围是3FFH(2^10),所以看答案,0800H+3FFH=BFF,由此可以看出0B1FH包含在其中,所以答案为D。

或:2K*4相当于 1K*8,需要16个 1K=1024=0400H也就是每片3FF,算下来开始空间0000,0400,0800,0C00 所以,0B1F在0800开头的那块上

编写汇编语言程序时,下列寄存器中程序员可访问的是(5) (5)A.存储器地址寄存器(MAR) B.指令寄存器(IR) C.存储器数据寄存器(MDR) D.程序计数器(PC)

解析:为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此程序计数器(PC)的内容即是从内存提取的第一条指令的地址。当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。 当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的地址,以此实现转移。有些机器中也称PC为指令指针IP(Instruction Pointer)。参考答案:D

CMM对软件测试没有提供单独的关键过程领域(KPA),所以许多研究机构和测试服务机构从不同角度出发提出有关软件测试方面的能力成熟度模型,其中软件测试成熟度模型(TMM)是当前影响力最大的软件测试过程模型。TMM制定了五个成熟度等级,它们依次是:初始级,阶段定义级,集成级。管理和度量级,(6)。

(6) A. 优化、缺陷预防和可重复级 B. 优化缺陷预防和质量控制级 C.缺陷预防和质量控制级 D. 优化和质量控制级

解析: TMM制定了五个成熟度等级:初始级,阶段定义级,集成级,管理和度量级,优化、缺陷预防和质量控制级。各级成熟度水平包含了一组成熟度目标和子目标,以及支持它们的任务、职责和活动。如图所示:

72

参考答案:B

以下关于软件生命周期的叙述不正确的是(7)。 (7) A.软件生命周期包括以下几阶段:项目规划,需求定义和需求分析、软件设计、

程序编码、软件测试、运行维护

B.程序编码阶段是将软件设计的结果转换成计算机可运行的程序代码。为了保

证程序的可读性、易维护性和提高程序的运行效率,可以通过在该阶段中制定统一并符合标准的编写规范来使编程人员程序设计规范化

C.软件设计阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统

框架设计,数据库设计等 D.需求分析阶段对软件需要实现的各个功能进行详细分析。软件需求一旦确定,

在整个软件开发过程就不能再变化,这样才能保证软件开发的稳定性,并控制风险

解析:在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。\"唯一不变的是变化本身。\",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 参考答案:D

在软件工程中,不属于软件定义阶段的任务是(8)。 (8)A.制定验收测试计划 B. 制定集成测试计划

C.需求分析 D. 制定软件项目计划 解析 B

软件设计阶段一般又可分为(9)。 (9)A.逻辑设计与功能设计 B. 概要设计与详细设计

C.概念设计与物理设计 D. 模型设计与程序设计 解析:

软件工程基本概念:软件设计阶段一般又可分为概要设计与详细设计。 参考答案:B

(10)程序描述语言(PDL)是软件开发过程中用于 阶段的描述工具。 A.需求分析 B. 概要设计 C.详细设计 D. 编程 参考答案:C

过程设计语言PDL:PDL也称为伪码,这是一个笼统的名称,现在有许多种不同的过程设计语言在使用。它是用正文形式表示数据和处理过程的设计工具。 软件详细设计

1. PAD图指问题分析图(Problem Analysis Diagram),是一咱算法描述工具,它是一种由左往右展开的二维树型结构.PAD图的控制流程为自上而下,从左到右地执行.

2. 过程设计语言(Process Design Language,简称PDL),也称程序描述语言(Program Description Language),又称为伪码.它是一种用于描述模块自法设计和处理细节的语言.

软件测试的目的是(11)。P7

(11) A. 试验性运行软件 B. 找出软件中全部错误 C. 证明软件正确 D. 发现软件错误

解析:软件测试的目的是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

关于软件测试的目的,有以下的一些观点:

①、软件测试是为了发现错误而执行程序的过程;

②、测试是为了证明程序有错,而不是证明程序无错误。 ③、一个好的测试用例是在于它能发现至今未发现的错误; ④、一个成功的测试是发现了至今未发现的错误的测试。 参考答案: D

按照测试实施组织,可将测试划分为开发方测试、用户测试、第三方测试。下面关于开 发方测试的描述正确的是(12)。P11

①开发方测试通常也叫“验证测试”或“Alpha测试” ②开发方测试又称“Beta测试”

③开发方测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后在开始

④开发方测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件

(12) A. ②③ B. ①③ C. ②④ D. ①②③ 解析:

按实施组织划分有开发方测试(a测试)、用户测试(B测试)、第三方测试

73

开发方测试(a测试):通常也称为“验证测试”或“a测试”。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。

用户测试(B测试):通常被看成是一种“用户测试”。 β测试就是在软件公司外部展开的测试,可以由非专业的测试人员执行的测试。B测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。

第三方测试:第三方测试也称为独立测试,是由相对独立的组织进行的测试。由在技术、管理和财务上与开发方和用户方相对独立的组织进行的测试。 参考答案:B

 黑盒测试法是根据产品的(13)来设计测试用例的。P57

(13)A.功能 B. 输入数据 C. 应用范围 D.内部逻辑 黑盒测试:也称功能测试。

它是通过软件外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子、完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是程序是否按照需求说明书的规定正常实现。 参考答案:A

 软件生命周期中持续时间最长的是(14)阶段。

(14) A.需求分析 B. 程序编码 C. 软件测试 D.软件运行维护 解析:软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。 参考答案:D

 软件工程概念的提出是由于(15)。

(15) A.计算技术的发展 B. 软件危机的出现

C. 程序设计方法学的影响 D.其他工程科学的影响

解析:软件工程概念的提出是由于软件危机的出现。 参考答案: B

 关系数据库管理系统应能实现的专门关系运算包括(16).。 (16)A、选择、索引、统计 B、选择、投影、连接 C、关联、更新、排序 D、显示、打印、制表

解析:关系数据库管理系统应能实现的专门关系运算包括选择、投影、连接。 参考答案:B

 为了是软件测试更加高效,应遵循的原则包括(17)。P8

① 所有的软件测试都应追溯到用户需求、充分注意缺陷群集现象 ② 尽早地和不断地进行软件测试、回归测试

③ 为了证明程序的正确性,尽可能多的开发测试用例 ④ 应由不同的测试人员对测试所发现的缺陷进行确认 ⑤ 增量测试,由小到大

(17)A、①②③④ B、①②③⑤ C、②③④ D、①②④⑤ 解析:软件测试原则(八大原则)

1)、所有的软件测试都应追溯到用户需求

2)、应把“尽早地和不断的进行软件测试”作为测试者的座右铭 3)、完全测试是不可能的,测试需要终止 5)、充分注意测试中的群集现象

6)、程序员避免测试自己的程序(注意不是指对程序的调试) 7)、尽量避免测试的随意性,增量测试,由小到大

8)、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。 参考答案:D

软件测试信息流的输入包括(18)。P21

① 软件配置(包括软件开发文档、目标执行程序、数据结构) ② 开发工具(开发环境、数据库、中间件等)

③ 测试配置(包括测试计划、测试用例、测试驱动程序等)

④ 测试工具(为提高软件测试效率,使用测试工具为测试工作服务) (18)A、①②③④ B、①②④ C、①③④ C、②④⑤

解析:软件测试信息流的输入包括软件配置、测试配置、测试工具。 参考答案:C

 ISO/IEC 9126《软件工程 产品质量》统一了多种质量模型。其中,下述关于软件使

用质量描述,不正确的是(19)。

(19) A、它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性 B、使用质量的属性分为四个特性:有效性,生产率,安全性和满意度 C、使用质量是基于用户、开发者、维护者观点的质量

D、使用质量的获得依赖于取得必须的外部质量,而外部质量的获得则依赖于取得必须的内部质量

解析:影响软件质量可分为:可直接测量(如每个功能点错误)、间接度量(可用性、可维护性)

包括:质量模型、外部度量、内部度量、使用质量度量。

外部、内部质量的质量模型:质量属性包括:功能性、可靠性、易用性、效率、可维护性和可移植性 ISO/IEC 9126《软件工程 产品质量》统一了多种质量模型。其中,下述关于软件使用质量描述,使用质量是从用户角度看待的质量,其属性分为4种:有效性、生产率、安全性和满意度。

使用质量是从用户角度看待的质量。

使用质量的获得依赖于取得必须的外部质量,而外部质量的获得则依赖于取得必须的内部质量。

参考答案:C

 V模型描述了软件基本的开发过程和测试行为,描述了不同测试阶段与开发过程各阶

段的对应关系。其中,集成测试对应的开发阶段是(20)。 (20)A、需求分析阶段 B、概要设计阶段

C、详细设计阶段 D、编码阶段

解析:V模型中单元测试对应于编码阶段,集成测试对应于详细阶段,系统测试对应于概要设计阶段,验收测试对应于需要分析阶段。 参考答案 B

 下面关于软件测试模型的描述中,不正确的包括(21)。

① V模型的软件测试策略既包括低层测试又包括了高层测试,高层测试是为了源代

码的正确性,低层测试是为了使整个系统满足用户的需求

② V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细

设计及编码之后的一个阶段

③ W模型可以说是V模型自然而然的发展。它强调:测试伴随着整个软件开发周期,

而且测试的对象不仅仅是程序,需求、功能和设计同样要测试

④ H模型中软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发

地进行

⑤ H模型中测试准备和测试实施紧密结合,有利于资源调配 (21)A.①⑤ B. ②④ C. ③④ D.②③

74

解析:P14

V模型的软件测试策略既包括低层测试又包括了高层测试,低层测试是为了源代码的正确性,高层测试是为了使整个系统满足用户的需求

V模型存在一定的局限性,它仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段

W模型可以说是V模型自然而然的发展。它强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试

H模型中软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行

参考答案:A

 程序设计语言一般可划分为低级语言和高级语言两大类,与高级语言相比,用低级语

言开发的程序具有(22)等特点。

(22)A.开发效率低,运行效率低 B.开发效率高,运行效率低 C.开发效率低,运行效率高 D.开发效率高,运行效率高

解析:程序设计语言一般可划分为低级语言和高级语言两大类,与高级语言相比,用低级语言开发的程序具有开发效率低,运行效率高 参考答案:C  广义的软件测试由“确认”、“验证”、“测试”3个方面组成,其中“确认”是(23)。 (23)A.想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标 B.检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致 C.检查某样东西是否符合事先已定好的标准 D.试图证明软件在软件生命周期各个阶段以及阶段间的逻辑协调性、完备性和正确性

解析:确认测试又称有效性测试。有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足需求规格说明书列出的需求。任务是验证软件的功能和性能及其他特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定,它包含的信息就是软件确认测试的基础。检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致

参考答案:A

 与设计测试用例无关的文档是(24)。

(24) A.项目开发计划 B.需求规格说明书 C.设计说明书 D.源程序

解析:典型的白盒测试方法包括:静态测试、动态测试。其中静态测试包括:代码检查法、

静态结构分析法、静态质量度量法。 参考答案:(25) A

 结构化分析(Structured Analysis,简称SA)是面向数据流的需求分析方法,(26)

不属于SA工具。

(26)A. 分层的数据流图 B. 数据词典

C. 问题分析图 D. 描述加工逻辑的结构化语言、判定表或判定树

解析:SA 法的描述工具 ⑪ 分层的数据流图 ⑫ 数据词典

⑬ 描述加工逻辑的结构化语言、判定表或判定树。

问题分析图(PAD) 是一种改进的图形描述方式,可以用来取代流程图。

PAD支持SP方法,它仅具有顺序、选择、循环三类基本成分(图4.64),其中选择和循环又有几种形式,图4.65列出了PAD的所有基本成分及相应的流程图表示和PASCAL结构,这是PASCAL标准风格的PAD表示。

参考答案:A

白盒测试也称结构测试或逻辑驱动测试,典型的白盒测试方法包括静态测试和动态测试。其中,静态测试除了静态结构分析法、静态质量度量法外,还有(25)。 (25) A.代码检查法 B.逻辑覆盖法 C.基本路径测试法 D.结构覆盖法

参考答案:C

 螺旋模型综合了(27)的优点,并增加了这两种模型忽略的风险分析。 (27)A. 瀑布模型和演化模型 B. 瀑布模型和喷泉模型

C. 演化模型和喷泉模型 D. 原型和喷泉模型

解析:瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。 参考答案:A

 软件评审作为质量控制的一个重要手段,已经被业界广泛使用。评审分为内部评审和

外部评审。关于内部评审的叙述,正确的包括(28) ①. 对软件的每个开发阶段都要进行内部评审

②. 评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与 ③. 评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定 ④. 内部评审由用户单位主持,由信息系统建设单位组织,应成立评审委员会 (28)A. B.  C. D.

解析:关于内部评审:

对软件的每个开发阶段都要进行内部评审

评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与

评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定,一般不超过7人。 参考答案:B

 软件质量保证的主要目标不包括(29)

75

(29)A .通过预防、检查与改进来保证软件质量

B.保证开发出来的软件和软件开发过程符合相应标准与规程

C.收集软件产品、软件过程中存在的不符合项,在项目总结是进行分析

D.确保项目组制定的计划、标准和规程适合项目需要,同时满足评审和审计需要 软件质量保证(Software Quality Assurance,简称SQA)

即参照一定的质量标准、目标及各项软件流程、规范来监督,管理公司产品的质量;在许多质量体系还不是很成熟的公司,维护和发展这些质量标准、流程规范等也是由质量保证人员进行。行内有个这样的说法:“软件质量保证并不能够保证软件的质量”,事实也是如此,软件质量的好坏不是一个人,一个部门能够决定的。但是,我们可以把提高软件的质量作为我们从事软件质量保证工作的目标。 参考答案:C

 软件设计要遵循的基本原则包括(30)

①. 模块化 .抽象 .封装 .信息隐蔽 (30) A.  B.  C.  D. 

 关于软件质量,(31)的叙述是正确的。

①. 软件满足规定或潜在用户需求特性的总和

②. 软件特性的总和,软件满足规定用户需求的能力 ③. 是关于软件特性具备“能力”的体现

④. 软件质量包括“代码质量”、“外部质量”和“使用质量”三部分 (31)A. B. C. D.

解析:软件质量实体特性的总和,满足明确或隐含要求的能力。是关于软件特性具备“能力”的体现

软件质量包括“内部质量”、“外部质量”和“使用质量”三部分

参考答案: A

 关于软件测试与质量保证,正确的理解的是(32)P7

(32)A.软件测试关注的是过程中的活动,软件质量保证关注的是过程的产物 B.软件测试不是软件质量保证工作中的内容 C.软件测试是软件质量保证的重要手段 D.软件质量保证人员就是软件测试人员 解析:

软件测试和质量保证的区别

1)、QA主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找问题或评估;

质量的保证的重要工作通过预防、检查与改进来保证软件质量。 采用“全面质量管理”和“过程改进”的原理开展质量保证工作。 关注的是软件质量的检查与测量。

QA的工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求。 2)、软件测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析 测试人员要“执行”程序软件,对过程中的产物-----开发文档和源代码进行走查,运行软件,以找出问题,报告质量。

测试人员必须假设软件存在的问题,测试中所作的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,因此软件测试是保证软件质量的一个重要环节。

软件测试与质量保证:通常,人们将“质量标准、配置管理、测试测量”,作为质量管理

的三大支柱,而将“SQA计划、SQA进度、SQA评审和审计”,作为质量管理三大要素。 质量管理与控制的三个层次

(1) 事先的预防措施:制订软件过程开发规范和软件产品质量标准,对软件开发和管理人员进行这方面知识和技能的定向培训;(规范是对行为的约束、标准是对产品的约束、规程是对操作的约束)

(2) 事中的跟踪监控措施:按照CMM/CMMI或ISO9000的过程管理思想,对软件过程和软件产品的质量控制提供可视性管理;

(3) 事后的纠错措施:对软件工作产品和软件产品加强评审和检测。评审是在宏观上框住您,在微观上挑剔您,找出不符合项。检测是为了发现Bug,改正错误。

结论:软件质量保证措施,应以提前预防和实时跟踪为主,以事后测试和纠错为辅。

 (33)不是正确的软件测试目的。 (33)A.尽最大的可能找出最多的错误 B.设计一个好的测试用例对用户需求的覆盖度达到100% C.对软件质量进行度量和评估,以提高软件的质量 D.发现开发所采用的软件过程的缺陷,进行软件过程改进

 设计功能测试用例的根本依据是(34) (34)A.用户需求规格说明书 B. 用户手册 C.被测产品的用户界面 D. 概要设计说明书

解析:功能测试关注的是系统功能是否正确实现,其主要依据文档是需求分析文档,集成测试中相关的功能测试会涉及概要设计和详细设计文档。参考答案:A

 关于软件测试与软件开发的认识,不正确的是(35) (35)A.软件生命周期各个阶段都可能产生错误 B.软件测试是独立于软件开发的一个工作 C.软件开发的需求分析和设计阶段就应开始测试工作 D.测试越早进行,越有助于提高被测软件的质量

解析:软件测试是贯穿于软件开发过程的。软件生存周期的各个阶段中都少不了相应的测试,软件生存周期各个阶段的测试分别对应于软件测试过程中的单元测试、集成测试、系统测试和确认测试,如下图所示。这种对应关系有利于软件开发过程的管理和软件质量的控制。

测试工程师与开发工程师目标一致、行为对立、并行工作,有生产就必然有质检,二者的工作相辅相成,开发人员和测试人员的主要矛盾就集中在对bug的定义上。

76

 软件测试原则中指出“完全测试是不可能的”,主要原因是(36). (36) A.输入量太大、输出结果太多以及路径组合太多

B.自动化测试技术不够完善 C.测试的时间和人员有限

D.仅仅靠黑盒测试不能达到完全测试

 产品的功能性测试的内容不包括(37)。

(37)A.适合性 B.易用性 C.正确性 D.互操作性

 以下关于设计功能测试用例的叙述,(38)是不正确的。 (38) A.尽量用80%测试用例覆盖20%的核心业务模块

B.功能测试用例中不包括功能的依从性测试用例 C.功能测试用例中包括业务流,也包括测试数据 D.功能测试用例的设计应注意缺陷群集现象

 以下不属于软件测试对象的有(39)项。 (39) ①需求规格说明书 ②软件的程序模块

③概要设计说明书与详细设计说明书 ④软件的用户手册 A.2 B.3 C.4 D.0

 以下关于不同类型的软件测试的叙述,正确的是(40)。 (40) A.单元测试不是模块测试

B.多个模块不能平行地独立进行测试,应该顺序执行 C.系统测试是检验程序单元或不见之间的接口关系 D.确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求

解析:确认测试是通过检验和/或核查所提供的客观证据,证实软件是否满足特定预期用途的需求 参考答案:D

 以下关于白盒测试和黑盒测试的理解,正确的是(41)。 (41) A.白盒测试通过对程序内部结构的分析、检测来寻找问题

B.白盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态 C.单元测试可应用白盒测试方法,集成测试则采用黑盒测试方法 D.在软件生命周期各个阶段都需要用白盒测试方法

解析:白盒测试通过对程序内部结构的分析、检测来寻找问题;

黑盒测试通过一些表征性的现象、事件、标志来判断内部的运行状态; 单元测试可应用白盒测试方法,集成测试既有黑盒测试也有白盒测试方法 在软件生命周期各个阶段不一定都需要用白盒测试方法

 V模型是其有代表意义的测试模型,以下理解正确的是(42)。 (42) A.V模型认为通过对测试阶段是与开发阶段并行的 B.V模型是软件开发螺旋模型的变种,它反映了测试活动与分析和设计的关系 C.V模型造成需求分析阶段隐藏的问题一直到后期的验收反测试才发现 D.V模型是对W模型的改进

解析:V模型造成需求分析阶段隐藏的问题一直到后期的验收反测试才发现。

 网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略日志存储和用户管

理,这里LDAP指的是(43)。 (43) A.轻量目录访问协议 B. 本地目录访问协议

C.轻量数据访问协议 D. 本地数据访问协议

目录和目录服务 LDAP(Lightweight Directory Access Protocol)轻型目录访问协议是目录访问协议的一种。

 计算以下控制流程图的环路复杂度V(G),正确答案是(44)。

(44) A.V(G)=2 B.V(G)=4 C.V(G)=9 D.V(G)=11

 对需求说明书评测的内容包括(45)。

①. 系统定义的目标是否与用户的要求一致

②. 被开发项目的数据流与数据结构是否足够、确定 ③. 与所有其它系统交互的重要接口是否都已经描述

④. 主要功能是否已包含在规定的软件范围之内,是否都已充分说明 ⑤. 确定软件的内部接口与外部接口是否已明确定义

(45) A. B. C. D. 解析:

需求说明书评测内容:

作为需求分析阶段工作的复查手段,在需求分析的最后一步,应该对功能的正确性、完整性和清晰性,以及其它需求给予评价。评审的主要内容是:

① ·系统定义的目标是否与用户的要求一致; ② ·系统需求分析阶段提供的文档资料是否齐全;

③ ·文档中的所有描述是否完整、清晰、准确反映用户要求; ④ ·与所有其它系统成分的重要接口是否都已经描述; ⑤ ·被开发项目的数据流与数据结构是否足够,确定; ⑥ ·所有图表是否清楚,在不补充说明时能否理解;

⑦ ·主要功能是否已包括在规定的软件范围之内,是否都已充分说明; ⑧ ·软件的行为和它必须处理的信息、必须完成的功能是否一致;

77

⑨ ·设计的约束条件或限制条件是否符合实际; ⑩ ·是否考虑了开发的技术风险; ⑪ ·是否考虑过软件需求的其它方案;

⑫ ·是否考虑过将来可能会提出的软件需求;

⑬ ·是否详细制定了检验标准,它们能否对系统定义是否成功进行确认; ⑭ ·有没有遗漏,重复或不一致的地方; ⑮ ·用户是否审查了初步的用户手册或原型; ⑯ ·软件开发计划中的估算是否受到了影响.

为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格进行。评审结束应有评审负责人的结论意见及签字。除分析员之外,用户/需求者,开发部门的管理者,软件设计、实现、测试的人员都应当参加评审工作。一般,评审的结果都包括了一些修改意见,待修改完成后再经评审通过,才可进入设计阶段。

 加密和解密是明文和密文之间的可逆转换,(46) 不属于加密算法。

(46)A.RSA B.SHA C.DES D.AES 解析:常见加密算法

DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;

3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;

RC2和 RC4:对称算法,用变长密钥对大量数据进行加密,比 DES 快; IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全性;

RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;

DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;

AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法; BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快; MD5:严格来说不算加密算法,只能说是摘要算法

对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。(可参见MD5算法词条)

SSF33,SSF28,SCB2(SM1):国家密码局的隐蔽不公开的商用算法,在国内民用和商用的,除这些外,都不容许使用其他的; 其它算法

如ElGamal、Diffie-Hellman、新型椭圆曲线算法ECC等。

SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说时对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。 参考答案:B

 假设A、B为布尔变量,对于逻辑表达式(A &&B ||C),需要(47)测

试用例才能完成判定覆盖(DC)。

(47)A. 2 B. 3 C. 4 D. 5 解析:

判定覆盖(DC)

 设计足够多的测试用例,使得程序中的每一个判定至少获得一次‘真’值和‘假’值,

或者使得程序中的每一个取‘真’分支或取‘假’分支至少经历一次,因此又称分支覆盖

如:A&&(B||C),A||(B||C)

A=T,B=T,C=T A=F,B=F,C=F

 可以满足语句覆盖

 缺点:主要对整个表达式最终取值进行度量,忽略了表达式内部取值

 以下关于汇编语言的叙述中,错误的是(48)。

(48)A. 汇编语言源程序中的指令语句将被翻译成机器代码 B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段 C. 汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出 D. 汇编程序先将源程序中的伪指令翻译成机器代码,然后在翻译指令语句 解析:本题考查汇编语言的基本概念。

伪指令是汇编程序直接执行的,不对应于程序中的机器代码,所以D是错误的。 参考答案:(48) D

 设有学生实体Students(学号,姓名,性别,年龄,家庭住址,家庭成员,

关系,联系电话),其中“家庭住址”记录了邮编、省、市、街道信息:“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。

学生实体Students中的“家庭住址”是一个(49)属性;为使数据库模式设计更合理,对于关系模式Students(50). (49)A.简单 B.多值 C.派生 D.复合

(50)A.可以不做任何处理,因为该关系模式达到了3NF B.只允许记录一个亲属的姓名、与学生的关系以及联系电话的信息 C.应该将家庭成员、关系及联系电话加上学生号,设计成为一个独立的实体 D.需要对关系模式Students增加若干组家庭成员、关系及联系电话字段

分析:简单属性是原子的、不可再分的。复合属性可以细分为更小的部分(即划分为别的属性)。有时用户希望访问整个属性,有时希望访问属性的某个成分,那么在模式设计时可采用复合属性。例如,试题(49)中“家庭住址”可以进一步分为邮编、省、市、街道信息等。

“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。

78

属于另一个实体,应该将家庭成员、关系及联系电话加上学生号,设计成为一个独立的实体。

参考答案:(49) D (50) C

 有关评估系统效率质量特性,以下论述正确的是( 51 )。 (51)A.响应时间越长,系统执行效率越高 B.响应时间和交易执行吞吐量都是用来衡量系统执行快慢的 C.响应时间越短,交易执行吞吐量越大 D.系统的访问量越大,交易执行吞吐量越大 解析:

交易响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。

交易吞吐量:系统服务器每秒能够处理通过的交易数。响应时间越短,交易执行吞吐量越大。

当系统达到饱和点,服务器吞吐量保持稳定后,就达到了给定条件下的系统上限。但是,随着服务器负载的继续增长,系统的响应时间也随之延长,虽然吞吐量保持稳定。  (52)不属于易用型测试范围范畴。

(52)A.软件产品使用户能理解软件是否适合以及如何能将软件用于特定的任务 和使用条件的能力 B.软件产品使用用户能操作和控制它的能力 C对软件中的缺陷或失效原因进行判断,或识别待修改部分的能力 D.软件产品吸引用户的能力 解析:易用型测试范围范畴

1、 易用性:是指当软件在指定条件下使用时,软件产品被理解、学习、使用和吸引用户

的能力。它的子特性包括:易理解性、易学性、易操作性、吸引性、易用依从性。 ① 易理解性:软件产品使用户能理解软件是否合适以及如何能将软件用于特定的任务和

使用条件的能力。

② 易学性:是指软件产品使用户能学习它的能力。

③ 易操作性:软件产品使用户能操作和控制它的能力。 ④ 吸引性:是指软件产品吸引用户的能力。

⑤ 易用依从性:软件产品遵循与易用性相关的标准、约定、风格指南或法规的能力。 而:对软件中的缺陷或失效原因进行判断,或识别待修改部分的能力是不属于易用性测试范围。它属于可维护性的易分析性。 参考答案:C

 以下关于软件系统安全防护策略的叙述,不正确的是(53)。 (53)A.网闸的主要目的是实现内网和外网的物理隔离 B.防火墙的主要目的是实现内网和外网的逻辑隔离 C.入侵检测系统通常部署在防火墙之外 D.安全日志属于被动防护策略 解析:

隔离防护:是系统中安全部分与非安全部分进行隔离的措施,目前采用的技术主要有两种,即隔离网闸和防火墙,隔离网闸属于近年新兴的网络安全技术,主要的目的在于实现内网和外网的物理隔离,防火墙是相对成熟的防护技术,主要用于内网和外网的逻辑隔离。 安全日志:是记录非法用户的登录名称、操作时间及内容等信息,以便于发现问题并提出解决措施。它属于被动防护的策略。

入侵检测系统:是一种主动的网络安全防护措施,它从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。一般来说,入侵检测系统还应对入侵行为作出

紧急响应。在不影响网络性能的情况下能对网络进行监测,从而提供对内部、外部攻击和误操作的实时保护,被认为是防火墙的第二道安全闸门。 参考答案: C

 假设在程序控制流图中,有14条边,10个节点,则控制流程图的环境复杂性 V(G)等于是(54)。

(54)A.12 B.8 C.6 D.4 解析:V(G)=边数-节点数+2=14-10+2=6 参考答案: C

 目前信息系统所使用的主要用户认证机制,身份识别不包括(55)。 (55)A.指纹 B.智能卡 C.数字证书 D.身份证号 解析:

目前信息系统所使用的主要用户认证机制,身份识别包括:数字证书、智能卡、双重认证、安全电子交易(SET)协议。

数字证书:这是一种检验用户身份的电子文件,提供较强的访问控制,并具有较高的安全性各可靠性,这种证书可以授权购买。

智能卡:这种解决办法可以持续较长的时间,并且更加灵活,存储信息更多,并具有可供选择的管理方式。

双重认证:系统不是采用一种认证方式,而是采用两种或多种认证方式,这些认证方式包括令牌、智能卡和仿生装置,如视网膜或指纹扫描器等,例如同时使用ATM卡和PIN卡进行双重认证。

安全电子交易(SET)协议:它是电子商务中安全电子交易的一个国际标准。其主要目的是解决信用卡电子付款的安全保障问题。 参考答案: D

 针对以下C语言程序段,假设sta[10]= -1,对于x的取值,需要(56)个测试用例

能够满足分支覆盖的要求。 Int MathMine( int x) {

int m = 0; int i ;

for( i = x – 1 ; i <= x + 1; i++) {

If ( i < 0) continue; If (i > 31) break;

If (sta[i] == -1) m++; }

return m; }

(56) A. 3 B.4 C.5 D.6

79

判定覆盖(DC): 设计足够多的测试用例,使得程序中的每一个判定至少获得一次‘真’值和‘假’值,或者使得程序中的每一个取‘真’分支或取‘假’分支至少经历一次,因此又称分支覆盖 分支有几个:1、for( i = x – 1 ; i <= x + 1; i++) 2 、If ( i < 0) continue; 3、If (i > 31) break; 4、If (sta[i] == -1) m++; 假设sta[10]= -1 X取值使得满足分支覆盖的要求 那么X取什么值??? 依题意:1、X=11 时 有 I=10 I=11 I=12

第一次循环 I=10 分支1 为真 分支2 为假 分支3 为假 分支4 为真

第二次循环 I=11 分支1 为真 分支2 为假 分支3 为假 分支4 为假 第三次循环 I=12 分支1 为真 分支2 为假 分支3 为假 分支4 为假 第四次循环 I=13 分支1 为假 2、X=0 时 有I=-1 I=0 I=1

第一次循环 I=-1 分支1 为真 分支2 为真

第二次循环 I=0 分支1 为真 分支2 为假 分支3 为假 分支4 为假 第三次循环 I=1 分支1 为真 分支2 为假 分支3 为假 分支4 为假 第四次循环 I=2 分支1 为假 3、X=33 时 有 I=32 I=33 I=34

第一次循环 I=32 分支1 为真 分支2 为假 分支3 为真 (退出循环)

没有(第二次循环 第三次循环 第四次循环) 参考答案:A

 以下关于信息安全的叙述,不正确的是(57)。 (57)

A. SYN洪水攻击通过发送大量TCP连接请求以占满网络带宽,使其他用户无法正常连接

服务

B. 缓冲区溢出攻击能通过修改函数返回地址并执行恶意代码,进而获得系统的控制权 C. 计算机病毒的主要特征包括破坏性、寄生性、自我复制能力和传染能力

D. 会话标识和时间戳都是抵御重演攻击的有效技术 解析:SYN FLOOD

利用服务器的连接缓冲区(Backlog Queue),利用特殊的程序,设置TCP的Header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。

如果你的SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求了。其他合法用户的连接都被拒绝掉。可以持续你的SYN请求发送,直到缓冲区中都是你的只有SYN标记的请求。

UDP洪水攻击通过发送大量TCP连接请求以占满网络带宽,使其他用户无法正常连接服务 参考答案:A

 软件测试使用各种术语描述软件出现的问题,以下正确的是(58); (58) A. 软件错误(error)是指软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生。

B. 软件缺陷(defect)是存在于软件(文档、数据、文档)之中的那些不希望或不可接受的偏差。

C. 软件故障(fault)是指软件运行过程中出现的一种不希望或不可接受的外部状态。 D. 软件失效(failure)是指软件运行时产生的一种不希望或不可接受的内部行为结果。

解析:

软件错误:是指软件在生存周期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。

软件缺陷:存在软件(文档、数据、程序)之中的那些不希望或不可接受的偏差 软件故障:软件运行过程中出现的一种不希望或不可接受的内部状态。 软件失效:软件运行时产生的一种不希望或不可接受的外部行为结果。

软件失效的机理可描述为:软件错误→软件缺陷→软件故障→软件失效  网络测试不能解决的问题是(59)。

(59)A. 连通性 B.丢包 C 全表扫描 D 延迟

解析:连通性、.丢包、延迟是网络的术语。而全表扫描是数据库的术语。全表扫描:在数据库中,对无索引的表进行查询一般称为全表扫描。全表扫描是数据库服务器用来搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。 参考答案:C

 关于bug管理流程,(60)是正确的做法。

(60) A. 开发人员提交新的bug入库,设置状态为“New”

B. 开发人员确认是bug,设置状态为“Fixed”

C. 测试人员确认问题解决了,设置状态为“Closed” D. 测试人员确认不是bug,设置状态为“Reopen”

解析:

错误管理流程(有以下几项)

●测试人员提交新的错误入库,错误状态为“NEW”; ●高级测试人员验证错误。

①如果确认是错误,分配给相关的开发人员,设置状态为“OPEN”; ②如果不是错误,则拒绝,设置为“DECLINED”状态。 ●开发人查询状态为“OPEN”,做如下处理: ①如果不是错误,则状态置为“DECLINED”; ②如果是错误,则修复并置状态为“FIXED”;

80

③如果不能解决的错误,要留下文字说明并保持错误为“OPEN”状态;

④对不能解决和延期解决的错误,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可

●测试人员查询状态置为“FIXED”的错误,验证错误是否已解决,做如下处理: ①如果解决了,置错误为“CLOSED”状态;

②如果问题没有解决,则置状态为“REOPEN”(重新打开)。 参考答案: C

 (61)是当前自动化测试技术不能解决的问题。

(61)A、保证测试质量 B、提供测试效率

C、排除手工操作错误 D、降低测试用例设计的难度 解析:自动化测试的优缺点:

优势:提高测试质量、提高测试效率、提高测试覆盖率、执行手工测试不能完成的测试任务、更好地重现软件缺陷的能力、更好地利用资源、增进测试人员与开发人员间的合作伙伴关系

局限性:定制项目、周期很短的项目、业务复杂的对象、人体感观与易用性测试、不稳定软件、涉及物理交互。

 GB\\T 18905.5 《软件工程 产品评价》中,分别规定了开发者用、需方用、评价者用

的过程,以下理解正确的是 (62)。

(62)A、计划开发新产品的厂商,该标准中规定不允许利用他们自己的技术人员进行产品评价。

B、软件产品的一般评价过程是:确立评价需求,规定、设计和执行评价。 C、该标准不适用于对软件产品执行独立评估的第三方评测机构。

D、该标准可用来决定从众多可选产品中选择某个产品。但该产品不可以是较大产品的一部分。

解析:GB/T18905—2002《软件工程 产品评价》中确定的通用评价过程包括四个方面,即:确立评价需求,规定评价,设计评价和执行评价。

其中有关“规定评价”部分包含的内容有:选择度量、建立度量评定等级、确立评估准则。 参考答案: B

 软件评测相关的标准一般可以分为国际标准、国家标准、行业标准、以及企业标准一

般情况下,技术要求最高的是(63)。

(63)A、国际标准 B、国家标准 C、行业标准 D、企业标准 解析:根据《中华人民共和国标准化法》(以下简称《标准化法》)的规定,我国标准分为国家标准、行业标准、地方标准和企业标准等四类。

1、国家标准:由国务院标准化行政主管部门制定的需要全国范围内统一的技术要求,称为国家标准。

2、行业标准:没有国家标准而又需在全国某个行业范围内统一的技术标准,由国务院有关行政主管部门制定并报国务院标准化行政主管部门备案的标准,称为行业标准。 3、地方标准:没有国家标准和行业标准而又需在省、自治区、直辖市范围内统一的工业产品的安全、卫生要求,由省、自治区、直辖市标准化行政主管部门制定并报国务院标准化行政主管部门和国务院有关行业行政主管部门备案的标准,称为地方标准。

4、企业标准:企业生产的产品没有国家标准、行业标准和地方标准,由企业制定的作为组织生产的依据的相应的企业标准,或在企业内制定适用的严于国家标准、行业标准或地方标准的企业(内控)标准,由企业自行组织制定的并按省、自治区、直辖市人民政府的规定备案(不含内控标准)的标准,称为企业标准。

这四类标准主要是适用范围不同,不是标准技术水平高低的分级。

国际标准是指国际标准化组织(ISO)、国际电工委员会(IEC)和国际电信联盟(ITU)所制定的标准,以及ISO为促进《关贸总协定一贸易技术壁垒协议》即标准守则的贯彻实施

所出版的《国际标准题内关键词索引(KWIC Index)》中收录的其他国际组织制定的标准。ISO希望该索引能作为执行(GWTT/TBT)标准守则的国际标准的权威性目录予以接受,尽可能接受该目录作为成员国本国国家标准和技术法规的基础。所列国际组织,根据ISO第2号指南的定义,均属于国际标准化机构,但它们所发布的文件并不一定都可作为国际标准,只有经ISO认可并收入(KWIC Index)索引中的标准文件才被确认为国际标准。 国际先进标准是指国际上有权威的区域性标准,世界上主要经济发达国家的国家标准和通行的团体标准,包括知名跨国企业标准在内的其他国际上公认先进的标准。

参考答案:D

 为验证某呼叫中心是否能够承受大量呼叫信息同时呼入并得到正确处理,测试工程师

一般采用 (64)测试工具。

(64)A、负载压力 B、代码 C、网路伪真 D、故障诊断 解析:

负载压力:指系统在某种指定软件、硬件以及网络环境下承受的流量,如并发的用户数、持续运行时间、数据量等。其中并发的用户数是负载压力的重要体现。 参考答案: A

 关于软件评测过程中的配置管理,(65)是不正确的表述。

(65)A、测试活动的配置管理属于整个软件项目配置管理的一部分。

B、软件评测配置管理包括4个基本的活动,配置项变更控制、配置状态报。 告、配置审计、配置管理委员会建立。

C、配置项变更控制要规定测试基线、对每个基线进行描述。

D、配置状态报告要确认过程记录、跟踪问题报告、更改请求以及更改次序等。 解析:

配置管理:配置项标识;配置项控制(变更控制);配置状态报告;配置审计 配置项标识:

● 标识测试样品、标准、工具、文档报告等配置项的名称和类型。 ● 指出何时基准化配置项(置于基线控制下)。 ● 标识各配置项的所有者及储存位置。 配置项控制(变更控制): ● 规定测试基线 ● 基线创立时间

● 变更控制委员会人员组成、职能 ● 确定变更请求的处理程序和终止条件 ● 变更过程中测试人员变更的职能

● 确定变更请求和产生结果的对应机制。

● 确定配置项提取和存入的控制机制与方式。 配置状态报告:

● 定义报告形式、内容和提交方式

● 确认过程记录和跟踪问题报告、更改请求、更改次序; ● 确定测试报告提交的时间与方式;

81

配置审计:

●确定审计执行人员和执行时机; ●确定审计的内容与方式; ●确定发现问题的处理方法

▲配置管理是管理和调整变更的关键,对于一个参与人员较多、变更较大的项目,它是至关重要的。

它应用于测试工具、用例,且对于测试过程中的所有文档也是非常重要的,也可应用于测试样本和数据。 参考答案:B

● 测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,以下

理解正确的是___(66)___ P113-114 (66) A. 测试准备成本属于测试实施成本

B.可以通过加强软件测试的配置管理来降低测试维护成本

C.测试设计成本控制的目标是尽可能地减少测试总执行时间和所需的测试专用设备 D.回归测试将测试案例全部重新执行一边,可以将测试维护成本降至最低

解析:软件成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化。 测试工作的主要目标是使测试产能最大化。也就是说,要使通过测试找出错误的能力最大化,而测试的次数最小化。

测试实施成本的构成。(测试准备成本 测试执行成本 测试结束成本)

测试准备成本控制的目标是使时间消耗总量、劳动力总量,尤其是准备工作所需的熟练劳动力问题最小化。准备工作一般包括:硬件配置、软件配置、测试环境建立,以及测试环境的确定等。

可以通过加强软件测试的配置管理来降低测试维护成本。

测试执行成本控制的目标是使总执行时间和所需的测试专用设备尽可能地减少。

测试结束成本控制是进行测试结果分析和测试报告编制、测试环境的清除与恢复原环境所需的成本,使所需的时间和熟练劳动力问题减少到最低限度。

回归测试将测试案例全部重新执行一边,可以将测试风险降至最低,但加大了测试执行成本。

参考答案:B

● 以下关于缺陷探测率(DDP)的表述,不正确的是___(67)___

(67)A.DDP是一个衡量测试工作效率的软件质量成本指标

B.缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错误才

可能越少

C.DDP是衡量测试投资回报的一个主要指标 D.测试周期越长,缺陷探测率就会越高

解析:缺陷探测率(DDP)=测试者发现的错误数/(探测者发现的错误数+客户发现并反馈给技术支持人员进行修复的错误数。

DDP是一个衡量测试工作效率的软件质量成本指标。缺陷探测率越高,也就是测试者发现的错误越多,发布后客户发现的错误才可能越少,降低了外部故障不致成本,达到了节约总成本的目的,可获得较高的测试投资率(ROI)。因此,.DDP是衡量测试投资回报的一个重要指标。

测试周期越长,缺陷探测率不一定会越高,但测试成本越高。 参考答案:D

● 在一个完整的功能测试过程中,___(68)___不属于应该编写的测试文档。 (68)A.测试需求文档 B.测试用例文档

C.测试标准 D.问题报告单

解析:在一个完整的功能测试过程中,属于应该编写的测试文档有测试需求文档、测试用例文档、问题报告单。 答案:C

● 性能测试过程中需要对数据库服务器的资源使用进行监控,___(69)___不属于应该监

控的指标。

(69)A.CPU占有率 B.可用内存数 C.点击率 D.缓存命中率 解析:性能测试过程中需要对数据库服务器的资源使用进行监控,属于应该监控的指标有CPU占有率、可用内存数、.缓存命中率。 点击率是属于WEB测试内容。

● J2EE系统架构被各种信息系统普遍采用,___(70)___不属于其服务器端应用组件。 (70)A.Servlet B.JSP C.EJB D.Applet 解析:J2EE应用服务器提供如下容器以及主要服务:

(1)命名及目录服务 允许程序通过JAVA命名和目录接口(JNDI)定位服务组件。 (2) WEB容器 提供WEB组件的运行时环境。客户能够通过web浏览器访问容器中的servlets和JSP。

(3) EJB容器 提供EJB的运行时环境。开发人员可以直接使用容器提供的一些服务以及更低层J2EE服务器提供的服务。容器提 供的服务包括:事务服务、安全 、远程客户连接、生存周期管理 、数据库连接池 。客户端允许调用在EJB中的方法,这一层是J2EE的核心部分,企业的大部分业务规则都在EJB中实现。

(4)事务处理服务。当客户端激活一个EJB中的方法,容器介入相关的事务管理。因有容器管理事务。使用者只需在配置描述文件中说明EJB的事务属性。容器读入配置描述文件,按EJB的事务属性设置处理其事务管理。提供分布式事务处理服务,实现底层的事务处理管理和调整。它通过Java事务处理API(JTA)调用实现。

(5)通讯服务,实现远程客户连接。容器负责管理在客户端及EJB之间的底层的交流。EJB被创建之后,客户端可以象在同一虚拟机中一样对EJB激活其方法。

(6)安全服务 是多层体系结构部署中首要考虑的问题,J2EE提供了强大的安全服务,通过它可以授权和鉴别用户。EJB将这种服务成为透明安全机制,保证了组件可以在不需要进行安全API接口编程的同时,获得很好的安全性。容器允许只有被授权的用户才能激活EJB的方法。每一客户属于一个特定的角色,而每个角色只允许激活特定的方法。在EJB的配置描述中说明不同的角色和可被激活的方法。

(7)生存周期管理。一个EJB在其生存周期中将会历经几种状态。容器创建EJB对象,它处于活动状态中,可以移动。最终将其从容器中撤消。管理组件的生存周期,保证在需要的时候EJB服务器可以重新使用该组件,为组件提供隐含的资源管理服务,例如线程、Socket和数据库连接。

(8)持久性服务 EJB服务器自动将持久性对象数据保存到底层的介质中(如数据库),需要使用时再提取这些数据。

EJB主要应用于解决大型企业级应用问题,比如复杂的企业业务逻辑、访问数据库(进行大量的数据传输,比如提交订单、在两个银行之间转账等)。

EJB首先是指其规范(EJB Specification 2.1),它规定了组件之间、组件与应用服务器之间遵循的规则。

其次,EJB是指一组JAVA接口。所有的组件对于应用服务器来说,有着相同的接口,所以应用服务器可以管理任何人的EJB组件。

EJB标准为可部署的企业级Bean组件定义了一个非常完整的组件结构。部署是指组件EJB可以单独地或者和其它的组件一起组装成更大的应用系统。但是,可部署的组件必须被部署到能够提供给它们运行环境支持的容器中,这些容器为组件提供实例化、管理等服务支持。

82

企业级Bean组件(EJB)非常像另外两种类型的Java组件:Applet和Servlet。Applet可以被放在Web页中,浏览器为它提供运行的环境,相当于是它的容器。Servlet能够被放置在Web服务其中,Web服务器为Servlet提供运行容器。同样地,EJB放置于J2EE应用服务器中,由应用服务器为它们提供运行容器。

Applet和Servlet适用于解决和处理用户端的操作。而EJB只处理服务器端的事务。服务器端组件需要高可靠、高容错、具备数据事务处理机制和多用户安全的运行环境。应用服务器为EJB组件提供这样的服务器端的运行环境,并且提供用于管理这些组件所必需的运行时容器。

这样,作为组件的开发者,可更多地注意如何写好组件本身,而不去过多地关心容器和工具这样的辅助产品。完备的组件体系结构标准必须保证不同供应商开发的组件、组件容器和工具间相互兼容。就像所有的CD机都可以读CD盘一样,从一定程度上来说,应用服务器就像一个CD播放机,而组件就像CD盘。

EJB完全不同于JavaBean。JavaBean在第3章已经介绍,它是有自己规范的Java类,有助于建造较大的应用程序。但是,它们不需要有自己特定的运行的环境,不需要组件容器提供构造、撤消对象及其它服务。 参考答案:D

 People are including in an illusion whenever they find themselves explaining

at a cocktail(鸡尾酒)party , say , that they are “in computers,” or “in electronic funds transfer”. the implication is that they are part of the high-tech world, Just between us, they usually aren’t. The researchers who made fundamental breakthroughs in those areas are in high-tech business. The rest of us are__(71)__of their work. We use computers and other new technology components to develop our products or to organize our affairs. Because we go about this work in teams and projects and other tightly knit working groups(紧密联系在一起的工作小组),we are mostly in the human communication business. Our successes stem from good human interactions by all participants in the effort, and our failures stem from poor human interactions.

The main reason we tend to focus on the __(72)__rather than the human side of the work is not because it’s more__(73)__, but because it’s easier to do .Getting the new disk drive installed is positively trivial compared to figuring out why Horace is in a blue funk(恐惧)or why Susan is dissatisfied with the company after only a few months. Human interactions are complicated and never very crisp(干脆的,干净利落的)and clean in their effects, but they matter more than any other aspect of the work.

If you find yourself concentrating on the __(74)__rather than the __(75)__,you’re like the vaudeville character(杂耍人物) who loses his keys on a dark street and looks for them on the adjacent street because, as he explains, “The light is better there!”.

(71) A. creators B. innovators C. appliers D. inventors (72) A. technical B. classical C. social D. societal (73) A. trivial B. crucial C. minor D. insignificant (74) A. technology B. sociology

C. physiology D. astronomy (75) A. technology B. sociology C. physiology D. astronomy

2012年下半年软件评测师下午试题解析及答案

试题一(共19分)负载压力测试 【说明】

某酒店预订系统有两个重要功能,检索功能和预订功能。检索功能根据用户提供的关键字检索出符合条件的酒店列表,预订功能是对选定的某一酒店进行预订,现需要对该系统执行负载压力测试。

该酒店预订系统的性能要求为: (1)交易执行成功率100%; (2)检索响应时间在3s以内;

(3)检索功能支持900个并发用户; (4)预订功能支持100个并发用户; (5)CPU利用率不超过85%; (6)系统要连续稳定运行72小时 【问题1】(3分)

简述该酒店预订系统在生产环境下承受的主要负载类型。 【问题2】(5分)

对系统检索功能执行负载压力测试,测试结果如表1-1所示。请指出响应时间和交易执行成功率的测试结果是否满足性能需求并说明原因。

表1-1 检索功能测试结果 检索执行情况 并发用户数 响应时间(s)(平均值) 交易执行成功率 500 1.3 100% 900 3.7 100% 1000 6.6 98% 【问题3】(5分) 对系统检索功能及预订功能执行负载压力测试,测试结果如表1-2所示。请指出服务器资源利用情况cpu占用率的测试结果是否满足性能需求并说明原因。

表1-2 系统测试结果 服务器资源利用情况 并发用户数 CPU占用率(%) 检索功能并发用户 预订功能并发用户数 (平均值) 500 50 35.5 900 100 87.3 1000 120 92.6 【问题4】(6分)

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

83

参考答案: 问题1、该酒店预订系统在生产环境下承受的主要负载类型: (1) 检索功能、预订功能并发用户的操作是属于并发执行负载; (2) 连续运行72小时是属于疲劳强度负载; (3) 大量“稿件查询”操作是属于大数据量负载。 【问题4】(5分) 对系统检索功能执行负载压力测试,响应时间和交易执行成功率的测试结果不能满足性能需求。 因为: 1、系统检索功能执行并发用户数为900时,其响应时间为3.7s与检索响应时间在3s以内不能满足性能需求,交易执行成功率为100%满足性能需求。 2、系统检索功能执行并发用户数为1000时,其响应时间为6.6s与检索响应时间在3s以内不能满足性能需求,交易执行成功率为98%不能满足性能100%需求。 【问题4】(6分) 根据【问题2】和【问题3】的测试结果,该系统的存在瓶颈。 服务器资源利用情况: 1在执行检索功能测试时并发用户为900、1000时响应时间超过3s; 2在检索功能并发用户为900,预订功能并发用户数为100时,CPU占用率(%)(平均值)达到87.3超过85%; 3在检索功能并发用户为1000,预订功能并发用户数为120时,CPU占用率(%)(平均值)达到92.6超过85%; 可能的瓶颈如下: (1)服务器CPU 性能不足; (2)数据库设计不足或者优化不够; (3)检索功能预订功能应用软件设计不足或没有优化; (4)网络带宽不足。 试题二(共15分)白盒测试 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。 Struct_ProtobufCIntRange{ Int start_value; Unsigned orig_index; }; typedef struct_ProtobufCIntRange ProtobufCIntRange; in tint_range_lookup(unsigned n_ranges,const ProtobufCIntRange*ranges,int value){ unsigned start,n; //1 start=0; n=n_ranges; while (n>l) { //2

unsigned mid=start+n/2;

if(value{ //3 n=mid-start; //4

} else if (value>=ranges[mid].start_value+

(int)(ranges[mid+1].orig_index-ranges[mid].orig_index)){ //5 unsigned new_start=mid+1; //6 n=start+n-new_start; start=new_start; } else //7 return(value-ranges[mid].start_value)+ranges[mid].orig_index; } if(n>0){ //8 unsigned start_orig_index=ranges[start].orig_index; unsigned range_size=ranges[start+1].orig_index-start_orig_index; if (ranges[start].start_value<=value &&value<(int)(ranges[start].start_value+range_size)) //9,10 Return(value-ranges[start].start_value)+start_orig_index; //11 } Return -1; //12 //13 【问题1】(5分) 请给出满足100%DC(判定覆盖)所需的逻辑条件。 【问题2】(7分) 请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。 【问题3】(3分) 请给出【问题2】中控制流图的线性无关路径。 试题二分析

本题考查白盒测试法的应用。 【问题1】 本问题考查白盒测试用例设计方法中的判定覆盖法。 判定覆盖指设计足够的测试用例,使得被测程序中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次。本题中程序有5个判定,所以满足判定覆盖一共需要10个逻辑条件,如下表所示。 编条件 号 1 n>l 2 value=ranges[mid].start_value+(int)(ranges[mid+1].orig_index-ranges[mid].orig_i4 n>0 5 ranges[start].start_value<=value&&value<(int)(ranges[start].start_value+range_si6 n<=l 7 Value>=ranges[mid].start_value 8 Value<=ranges[mid].start_value+(int)(ranges[mid+1].orig_index-ranges[mid].orig_i84

9 N<=0 10 ranges[start].start_value>value or value>=(int)(ranges[start].start_value+range_size) 【问题2】

本问题考查白盒测试用例设计方法中的基本路径法。涉及到的知识点包括:根据代码绘制控制流图、计算环路复杂度。

控制流图是描述程序控制流的一种图示方法。其基本符号有圆圈和箭线:圆圈为控制流图中的一个结点,表示一个或多个无分支的语句;带箭头的线段称为边或连接,表示控制流。基本结构如下所示:

根据题中程序绘制的控制流图如下所示。其中要特别注意的是,如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符连接的逻辑表达式,则需要改变复合条件的判断为一系列之单个条件的嵌套的判断。本题程序中,if (ranges[start].start_value<=value&&value<(int)(ranges[start].start_value+range_size))这条判断语句中的判定由两个条件组成,因此在画控制流图的时候需要拆开成两条判断语句。

环路复杂度用来衡量一个程序模块所包含的判定结构的复杂程度,数量上表现为独立路径的条数,即合理地预防错误所需测试的最少路径条数。环路复杂度等于图中判定结点的个数加1,图中判定结点个数为6,所以(G)=7。 【问题3】

本问题考查白盒测试用例设计方法中的基本路径法。 [path1]1-2-8-9-10-11-13 [path2]1-2-8-9-10-11-12 [path3]1-2-8-9-10-12-13 [path4]1-2-8-9-12-13 [path5]1-2-3-4-2„

85

[path6] 1-2-3-5-6-2„ [path7 1-2-3-5-7-2„

试题三(共17分)WEB链接、安全测试

阅读下列说明回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】

某企业想开发一套B2C系统,其主要目的是在线销售商品和服务,使顾客可以在线浏览和购买商品和服务,系统的用户的IT技能,访问系统的方式差异较大,因此系统的易用性、安全性、兼容性等方面的测试至关重要。 系统要求:

(1)所有链接都要正确;

(2)支持不同移动设备,操作系统和浏览器;

(3)系统需通过SSL进行访问,没有登录的用户不能访问应用内部的内容。 【问题1】(5分)

简要叙述链接测试的目的以及测试的主要内容。 【问题2】(4分)

简要叙述为了达到系统要求(2),要测试哪些方面的兼容性。 【问题3】(4分)

本系统强调安全性,简要叙述Web应用安全测试应考虑哪些方面。 【问题4】(4分)

针对系统要求(3),设计测试用例以测试Web应用的安全性。

参考答案:

【问题1】(5分)

链接测试的目的:用来检验Web 网站提供信息的正确性、准确性和相关性。 测试的主要内容:系统的链接测试主要测试如下3 个方面: 1)每个链接是否能够链接到目标页面 2)被链接的页面是否存在 3)是否存在孤立页面 【问题2】(4分)

为了达到系统要求能支持不同移动设备,操作系统和浏览器;要测试的兼容性见下表: 表:兼容性测试矩阵示例 浏览器 IE7、8、9 Frirfox Goole Chrome Safari „. 操作系统 Windowss XP Windwos 7 Android ios „. 【问题3】(4分) Web应用安全测试应考虑下面内容:  目录测试

 SSL套接字测试  登录验证  日志文件

 脚本语言

【问题4】(4分)

系统需通过SSL进行访问,没有登录的用户不能访问应用内部的内容。设计测试用例以测试Web应用的安全性。

解析:SSL协议提供的服务主要有:

1)认证用户和服务器,确保数据发送到正确的客户机和服务器; 2)加密数据以防止数据中途被窃取;

3)维护数据的完整性,确保数据在传输过程中不被改变。

第4问需要为Web应用的安全性设计测试用例,这里强调通过SSL(安全套接字)来进行访问,因此设计测试用例要考虑加密是否正确、信息是否完整等因素。

试题四(共12分)安全测试

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

某企业为防止自身信息资源的非授权访问,建立了如图4-1所示的访问控制系统。

企业访问控制系统

该系统提供的主要安全机制包括:

(1) 认证:管理企业的合法用户,验证用户所宣称身份的合法性,该系统中的认证机制集成了基于口令的认证机制和基于PKI的数字证书认证机制;

(2) 授权:赋予用户访问系统资源的权限,对企业资源的访问请求进行授权决策; (3) 安全审计:对系统记录与活动进行独立审查,发现访问控制机制中的安全缺陷,提出安全改进建议。

86

【问题1】(6分)

对该访问控制系统进行测试时,用户权限控制是其中的一个测试重点。对用户权限控制的测试应包含哪两个主要方面?每个方面具体的测试内容又有哪些? 【问题2】(3分)

测试过程中需对该访问控制系统进行模拟攻击试验,以验证其对企业资源非授权访问的防范能力。请给出三种针对该系统的可能攻击,并简要说明模拟攻击的基本原理。 【问题3】(3分)

对该系统安全审计功能设计的测试点应包括哪些?

参考答案:

【问题1】(6分)

对该访问控制系统进行测试时,用户权限控制是其中的一个测试重点。对用户权限控制的测试应包含哪两个主要方面?每个方面具体的测试内容又有哪些? 两个方面:

①评价用户权限控制的体系合理性,是否采用三层的管理模式即系统管理员、业务领导和操作人员三级分离;

②用户名称基本采用中文和英文两种,对于测试来说,对于用户名称的测试关键在于测试用户名称的唯一性。

用户名称的唯一性体现有哪些方面?

●同时存在的用户名称在不考虑大小的状态下,不能够同名;

●对于关键领域的软件产品和安全要求较高的软件,应当同时保证使用过的用户在用户删除或停用后,保留该用户记录,并且新用户不得与之同名。

【问题2】(3分)

测试过程中需对该访问控制系统进行模拟攻击试验,以验证其对企业资源非授权访问的防范能力。请给出三种针对该系统的可能攻击,并简要说明模拟攻击的基本原理。

模拟攻击试验:对于安全测试来说,模拟攻击试验是一组特殊的黑盒测试案例,我们以模拟攻击验证软件或信息的安全防护能力。可采用冒充、重演、消息篡改、服务拒绝、内部攻击、外部攻击、陷阱门、特洛伊木马方法进行测试。

泪滴(teardrop)。泪滴攻击利用那些在TCP/IP堆栈实现中信任IP碎片中的包的标题头所包含的信息实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃。防御措施有服务器应用最新的服务包,或者在设置防火墙时对分段进行重组,而不是转发它们。

口令猜测。一旦黑客识别了一台主机而且发现了基于NetBIOS、Telnet或NFS这样的服务的可利用的用户账号,然后因为使用简单的密码或者没有设密码,导致黑客能很快的将口令猜出。当然事实上用蛮力是可以破解任何密码的,关键是是否迅速,设置的密码是否能导致黑客花很大的时间和效率成本。防御措施有要选用难以猜测的口令,比如词和标点符号的组合。确保像NFS、NetBIOS和Telnet这样可利用的服务不暴露在公共范围。如果该服务支持锁定策略,就进行锁定。

伪造电子邮件。由于SMTP并不对邮件的发送者的身份进行鉴定,因此黑客可以对你的内部客户伪造电子邮件,声称是来自某个客户认识并相信的人,并附带上可安装的特洛伊木马程序,或者是一个引向恶意网站的链接。防御措施有使用PGP等安全工具并安装电子邮件证书。

【问题3】(3分)

对该系统安全审计功能设计的测试点应包括哪些?

对该系统安全审计功能设计的测试点应包括:

①能否进行系统数据收集,统一存储,集中进行安全审计; ②是否支持基于PKI的应用审计;

③是否支持基于XML的审计数据采集协议; ④是否提供灵活的自定义审计规则。

试题五(共12分)软件可靠性测试

阅读以下说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

现代软件的飞速发展,使得系统对软件的依赖越来越强,对软件可靠性的要求也越来越来高,因此发展以发现软件可靠性缺陷为目的的可靠性测试技术也日益迫切。 【问题1】(5分)

一个完整的软件可行性测试如图5-1所示。

请写出图中(1)~(5)。 【问题2】(5分)

解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。 【问题3】(2分)

可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。

解析:课本P488 【问题1】(5分)

一个完整的软件可行性测试如图5-2所示。

87

平均无故障时间(MTTF):全称是Mean Time To Failure,即平均失效时间。系统平均能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长。

(1)确定可靠性目标 (2)可靠性数据 (3)分析可靠性的因素 (4)可靠性模型 (5)可靠性评价

【问题2】(5分)

解释说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。 可靠性测试的目的可归纳为以下三个方面:(P489)

①发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷。 ②为软件的使用和维护提供可靠性数据。 ③确认软件是否达到可靠性的定量要求。

广义的软件可靠性测试是指为了每终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。

狭义的软件可靠性测试是指为了获取可靠性数据,按预先确定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。狭义的软件可靠性测试也叫“较件可靠性试验(sottwan: reliability test)”,它是面向缺陷的测试,以用户将要使用的方式来测试软件,每一次测试代表用户将要完成的一组操作,使测试成为最终产品使用的预演。这就使得所获得的测试数据与软件的宴际运行数据比较接近,可用于软件可靠性评价。

【问题3】(2分)

可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。 失效严重程度类就是对用户具有相同程度影响的失效集合。(P486)

可靠度就是软件系统在规定的条件下,规定的时间内不发生失效的概率。(P483)

故障强度是指:以单位运转时间的软件故障停机小时表示停机时间的长短,其表式为:软件故障强度率=100%*软件故障停机小时/软件实际运转时间。

88

因篇幅问题不能全部显示,请点此查看更多更全内容

Top