【考试】关于软件评测师

去年考了次软件评测师,第一次考,也很意外的一次就过了。
那次考试考前也做了一些笔记,现在拿出来做一个共享:

【上午卷整理】

【操作系统】

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

2. 程序计数器(PC)用于存储指令的地址,CPU根据该寄存器的指令从内存读取待执行的指令,该寄存器可以由程序员访问。

3. 指令寄存器(IR)用于暂存从内存取出的、正在运行的指令,这是由系统使用的寄存器,程序员不能访问。

4. 存储器数据寄存器(MDR)和存储器地址寄存器(MAR)用于对内存单元访问时的数据和地址暂存,也是由系统使用的,程序员不能访问。

5. 在设计RISC时,需要遵循如下一些基本的原则:

①指令条数少,一般为几十条指令。

②寻址方式尽可能少。

③采用等长指令,不管功能复杂的指令还是简单的指令,均用同一长度。

④设计尽可能多的通用寄存器。

7. 流水线各段执行时间最长的那段为整个流水线的瓶颈,一般的,将其执行时间称为流水线的周期。

8. 若系统中有m个单位的存储器资源,它被n个进程使用,当每个进程都要求w个单位的存储器资源,当m<nw时,可能会引起死锁。

9. 计算机中主机与外设间进行数据传输的输入输出控制方法有:程序控制方式、中断方式、DMA等。

10. 在程序控制方式下,由CPU执行程序控制数据的输入输出过程。

11. 在中断方式下,外设准备好输入数据或接收数据时向CPU发出中断请求信号,若CPU决定响应该请求,则暂停正在执行的任务,转而执行中断服务程序进行数据的输入输出处理,之后再回去执行原来被中断的任务。

12. 在DMA方式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU,这样就很大程度上减轻了CPU的负担,可以大大节省系统资源。

13. 若某计算机采用8位整数补码表示数据,则运算127+1将产生溢出。

14. 系统总线包含3种:数据总线、地址总线和控制总线。

15. 地址总线宽度决定了CPU可以访问的物理地址空间,即CPU能够使用多大容量的内存。若地址线的宽度为32位,最多可以直接访问232(4GB)的物理空间。数据总线负责整个系统的数据流量的大小,如果数据总线的宽度为32,则字长为32。

16. Spooling技术实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术

【风险管理】

17. 风险管理包括:【风险评价】和【风险控制】两大步骤。

风险评价又包括:风险识别、风险分析 和 风险优先级分配。

风险控制又包括:风险降低、风险管理计划 和 风险化解。

18. 风险分析包括风险识别、风险预测、风险评估和风险控制等4个不同活动

【汇编】

19. 将汇编语言源程序翻译成机器语言程序的软件称为汇编程序

【编译】

20. 中间代码生成和代码优化并不是每种编译器都必需的。

21. 编译是将高级语言源程序翻译成机器语言程序(汇编形式或机器代码形式),反编译是编译的逆过程。

22. 反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。

【数据库】

23. 数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。

24. 数据库系统的安全措施主要有:权限机制、视图机制 和 数据加密 三个方面。

25. 关系数据库的关系基本运算有两类:

一类是传统的集合运算,包括并、差、交等;

一类是专门的关系运算,包括选择、投影、连接。

26. 授权语句:【GRANT <权限>[ON <对象类型><对象名>] TO <用户> [WITH GRANT OPTION];】其中WITH GRANT OPTION是获得了权限的用户还可以将该权限赋给其他用户。

【CMM】

27. CMM模型定义了初始级(1级)、可重复级(2级)、定义级(3级)、管理级(4级)、优化级(5级)共5个成熟度等级,

第1级:初始级。关键性的软件过程处于无序状态。

第2级:可重复级。已经建立了基本的项目管理过程,可管理的过程就是可重复的过程。

第3级:已定义级。软件过程已文档化、标准化,已定义了标准的软件过程,使用标准开发过程(或方法论)构建(或集成)系统。

第4级:已管理级。对软件过程与软件质量已有量化的管理与控制,建立了度量标准。

第5级:优化级。通过定量分析能够不断地、持续地改进和管理软件过程。

【国际标准】

28. GB/T16260-2006《软件工程 产品质量》中“使用质量特性”包括:有效性、生产率、安全性、满意度。

29. GB/T18905《软件工程 产品评价》中“规定评价”的内容有:选择度量、建立度量评定等级、确立评估准则。

30. IS0 9126《软件工程产品质量》的规定,产品的外部质量和内部质量中描述的功能质量特性包括5个子特性,分别是适合性、准确性、互操作性、保密安全性以及功能依从性。

31. 国标16260中可移植性包括:适应性、易安装性、共存性、易替换性、可移植性依从性

32. GB 17859-1999《计算机信息系统安全保护等级划分准则》中将计算机安全保护划分为5个级别。

【数据安全】

33. 安全测试的方法包括:安全功能验证、安全漏洞扫描、模拟攻击实验和数据侦听。

34. 渗透测试是通过远程各种手段试图进入网站非法获取数据、管理权限或修改网站的尝试。防火墙日志审查不是远程手段。

35. 数据安全包括存储设备(SAN)、存储优化、存储保护(双机容错)和存储管理(异地容灾)等,数字证书不属于数据安全范畴。

36. 编制评价规格说明的活动由:分析产品的描述、规定对产品及部件执行的测量、按照评价需求验证编制的规格说明组成。

37. 最小改变口令的时限、最短口令长度、首次登录必须改变口令均可提高口令的安全性,而限制口令可使用的字符将降低口令复杂度,不利于提高口令安全性。

38. 加密算法:RSA 、DES、AES。

39. 入侵检测系统通常部署在防火墙之内。

40. 会话标识和时间戳都是抵御重演攻击的有效技术。

41. 缓冲区溢出攻击能通过修改函数返回地址并执行恶意代码,进而获得系统的控制权。

42. SYN洪水攻击利用的是系统并发连接数有限的弱点。

【覆盖】

43. 达到100%MCDC(修正条件/判定覆盖)要求就一定能够满足100%DC(判定覆盖)的要求。

44. 达到100%MCDC(修正条件/判定覆盖)要求就一定能够满足100%SC(语句覆盖)的要求

45. 达到100%DC(判定覆盖)要求就一定能够满足100%SC(语句覆盖)的要求

46. 达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%DC(逻辑判定)的要求。

47. 达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%CC(条件判定)的要求

48. 达到100%CDC(条件判定组合覆盖)要求就一定能够满足100%SC(语句覆盖)的要求

49. 达到100%路径覆盖要求就一定能够满足100%DC(判定覆盖)的要求。

【图】

50. N-S盒图、PAD图和程序流程图主要用于表示软件模块的执行过程。

51. E-R图是在对系统进行数据建模时采用,用于表示实体和实体之间的联系。

52. 在UML中,可用泛化关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部分关系。

53. 控制流图对应的测试用例数:根据控制V(G) = 边 – 节点 +2。

54. 程序描述语言–过程设计语言(Process Design Language, PDL)是软件开发过程中用于详细设计阶段的描述工具。

【软件开发】

55. 软件设计要遵循的基本原则包括:①模块化 ②抽象 ③信息隐蔽。

56. 敏捷软件开发宣言:相对于过程和工具,更强调个人和交互;相对于严格的文档,更重视可工作的软件;相对于合同谈判,更注重与客户的合作;想对于遵循计划,更专注于对变化的响应。

57. 功能内聚:一个模块中各个部分都是完成某一个具体功能必不可少的组成部分。

信息内聚:模块可以完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。

逻辑内聚:模块将相关的功能组合在一起,每次调用时,根据传送给模块判定参数来确定该模块应执行那种功能。

巧合内聚:模块内部各部分之间没有什么联系或者联系很松散。

58. 数据耦合:一个模块在访问另一个模块时,通过简单数据参数来交换输入、输出信息。

标记耦合:一组模块通过参数表传递记录信息。

控制耦合:一个模块通过传递开关、标志和名字等控制信息,明显的控制另一个模块的功能。

外部耦合:一组模块都访问同一个全局简单变量。

59. Smalltalk、C++、Java、C#都是面向对象语言。

60. 软件开发人员可以用文本编辑软件编写和修改程序。

【软件测试】

61. H模型指出:测试不仅仅是测试执行,还包括其他活动。测试是一个独立流程,贯穿产品整个周期,与其他流程并发进行。测试要尽早准备,尽早执行。测试准备和测试执行分离,有利于资源调配。降低成本,提高效率。有组织、结构化的独立流程,有助于跟踪测试投入的流向。单元测试、集成测试、系统测试不存在严格的次序关系,各层次之间的测试存在反复触发、迭代和增量关系。

62. 测试记录包括:测试计划或包含测试用例的测试规格说;与测试用例相关的所有结果,包括在测试期间出现的所有失败;测试中涉及的人员身份。

63. 软件著作权产生的时间是自作品完成创作之日。

64. 软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。

65. 软件缺陷包括软件未达到产品说明书标明的功能,软件出现了产品说明书指明不会出现的错误,软件功能超出产品说明书指明范围等。

66. “确认”和“验证”两个概念比较容易混淆。确认(Validation)是“确认工作产品完全提供了用户想要的功能,检验产品是否真正提供了用户想要的东西。”确认更多是从用户的角度,或者是模拟用户角度来验证产品是否和自己想要的一致。确认是想证实在一个给定的外部环境中软件的逻辑正确性,并检查软件在最终的运行环境上是否达到预期的目标,而不是检查软件是否符合某些事先约定的标准。验证注重“过程”,确认注重“结果”。

67. 表达式“a*(b-(c+d))”后缀式子为:abcd+-*

【网络】

68. 当Web服务器找不到用户所请求的页面或目录时,就会向浏览器返回“HTTP-404”错误。当Web服务器内部出错时,浏览器会显示“HTTP-500”错误。

69. LDAP指Lightweight Directory Access Protocol,即轻量目录访问协议,是一种在IP网络中高效读取和编辑目录内容的应用层协议。

【下卷整理】

【质量管理】

1. 软件测试质量包括哪些管理要素:

(1) 测试过程,例如技术过程、管理过程、支持过程。

(2) 测试人员及组织。

(3) 测试工作文档,例如测试计划、测试说明、测试用例、测试报告、问题报

2. 测试质量控制的主要方法:

(1) 测试文档评审。

(2) 测试活动审核。

(3) 制定质量保证计划。

(4) 采取背靠背测试。

3. 测试用例覆盖率 = 测试需求对应数目 / 测试需求数目。

缺陷修复率 = 关闭的缺陷数 / 打开的缺陷数。

【软件测试】

4. 软件产品的【功能测试】中应关注的子特性是:

(1) 适应性(软件为指定的任务和用户目标提供一组合适功能的能力)

(2) 准确性(软件提供所需精确度的正确或相符结果及效果的能力)

(3) 互操作性、互用性(软件产品与一个或更多规定系统进行交互的能力)

(4) 保密安全性(软件产品保护信息和数据的能力)

(5) 功能依从性(软件依从同功能性相关的标准、约定或法规的能力)

5. 【单元测试】的内容包括:

(1) 模块接口测试

(2) 局部数据结构测试

(3) 路径测试

(4) 错误处理测试

(5) 边界测试等。

6. 【集成测试】的注意问题包括:

(1) 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

(2) 一个模块的功能是否会对另一个模块的功能产生不利的影响:

(3) 各个子功能组合起来,能否达到预期要求的父功能;

(4) 全局数据结构是否有问题;

(5) 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。

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

8. 【系统测试】是将通过集成测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际或者模拟运行(使用)环境下,对计算机系统进行一系列测试。系统测试的目的在于通过与系统的需求定义做比较,发现软件与系统定义不符合或与之矛盾的地方。

9. 【安装测试】的内容主要包括:

(1) 安装手册

(2) 自动化程度

(3) 安装选项和设置

(4) 安装过程的中断

(5) 安装顺序

(6) 多环境

(7) 正确性

(8) 修复与卸载安装

10. 【界面测试】的内容主要包括;

(1) 界面整体测试–强调规范性、合理性、一致性和定制性等。

(2) 界面元素测试–测试对象强调窗口、菜单、图标、鼠标和文字等。

11. 【帮助测试】的内容主要内容:

(1) 文本

(2) 程序接口

(3) 帮助索引

(4) 超链接

(5) 编写风格等

12. 【验收测试】的依据是:

(1) 合同

(2) 《需求规格说明书》或《验收测试计划》

13. 验收测试对【生产环境】的要求是:生产环境,或软硬件配置接近生产环境的模拟环境。

14. 软件测试过程的【关键活动】包括:

(1) 测试需求分析

(2) 制定测试计划

(3) 测试设计

(4) 测试执行

(5) 测试分析

(6) 总结。

15. 软件测试质量的【保证手段】包括:

(1) 制定质量保证计划、质量体系建立

(2) 测试活动审核、测试文档评审

(3) 测试过程数据的收集、度量与分析等。

16. 【Bug错误类型】还包括:

可靠性错误、易用性错误、效率错误、维护性错误以及可移植性错误。

17. 【Bug严重级别】等级包括:

(1) 致命的

(2) 严重的

(3) 一般的

(4) 建议的

18. 【Bug状态】包括:

(1) 发现(New,测试中新发现的软件Bug)

(2) 打开(Open,被确认并分配给相关开发人员处理)

(3) 修正(Fixed,开发人员已完成修正,等待测试人员验证)

(4) 拒绝(Declined,拒绝修改Bug)

(5) 延期(Deferred,不在当前版本修复的bug,下一版修复)

(6) 关闭(Closed,Bug已被修复)

19. 【用户文档】包括:

(1) 用户手册

(2) 安装和设置指导

(3) 联机帮助

(4) 指南、向导

(5) 样例、示例和模板

(6) 授权/注册登记表

(7) 最终用户许可协议

(8) 宣传材料、广告及其他插页

20. 【开发文档】包括:

(1) 软件需求说明书

(2) 数据库设计说明书

(3) 概要设计说明书

(4) 详细设计说明书

(5) 可行性研究报告

21. 【管理文档】包括:

(1) 项目开发计划

(2) 测试计划

(3) 测试报告

(4) 开发进度月报

(5) 开发总结报告

【安全测试】

22. 入侵篡改页面的方法从大的方面来说可以分为三类:

(1) 通过操作系统;

(2) 网络服务

(3) 数据库

23. 安全防护体系层次分为

(1) 实体安全

(2) 平台安全:通过操作系统、网络服务、数据库等漏洞获得主机控制权

(3) 数据安全:通过猜测或者破解密码获得管理员密码威胁

(4) 通信安全

(5) 应用安全:通过Web漏洞和设计缺陷进行攻击入侵威胁的

(6) 运行安全

(7) 管理安全

24. 针对网页被篡改的防范措施:

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

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

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

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

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

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

25. 漏洞扫描的功能是:自动检测远程或本地主机安全性漏洞,以便于及时修补漏洞。

26. 漏洞扫描器分为两种类型:

(1) 主机漏洞扫描器(Host Scanner),在本地运行检测系统漏洞。

(2) 网络漏洞扫描器(Network Scanner),基于网络远程检测目标网络和主机系统漏洞。

【链接测试】

27. 链接测试需要测试:外向连接、内部连接、页面中连接跳转、发送Email 等功能性连接是否存在孤立页面、链接的目标是否存在。

28. 链接测试主要测试下面三个方面。

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

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

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

【性能测试】

29. 压力测试的目的:

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

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

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

30. 性能测试指标包括:

(1) 并发用户数

(2) 响应时间

(3) 吞吐量

(4) 资源利用率

31. 【吞吐量】:每分钟执行的业务数,或系统服务器每分钟能够处理的交易数。

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

33. 【负载测试】的目的:模拟系统真实使用环境执行性能测试,考核系统在日常业务运行和高峰期运行期间的性能是否满足需求。

34. 【压力测试】的目的:模拟系统的性能极限点执行性能测试,用来发现系统的性能瓶颈点。

35. 负载压力测试工具主控台作用:管理负载生成器,并收集测试数据。

36. 负载压力测试工具负载生成器的作用:模拟客户端执行负载压力测试。

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

当系统达到交易吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中,故交易平均响应时间一般会递增。

38. 随并发用户数递增,交易执行成功率降低的可能原因包括:

(1) 服务器端架构设计不合理。

(2) 服务器端参数设置不合理。

(3) 软件系统实现存在问题。

39. 【系统性能】不满足需求时,调优措施包括:

(1) 检查软件设计、软件开发是否正确。

(2) 检查软件参数设置是否合理。

(3) 评估服务器端架构设计的合理性。

评估应用服务器和数据库服务器的匹配是否满足系统性能需求。

40. 【数据库端】不满足需求时,主要原因为:

(1) 服务器资源负载过重;

(2) 数据库设计不合理;

(3) 数据库单个事务处理响应时间长;

(4) 系统并发负载造成最终用户响应时间长;

有效的解决方案是:采用数据库集群策略,并注意配置正确。

41. 【CPU资源】为系统瓶颈时的解决方案为:

(1) 增加CPU的个数;

(2) 提高CPU的主频:

(3) 将Web服务器与数据库服务器分开部署;

(4) 调整软件的设计与开发。

42. 【带宽】为系统瓶颈时的解决方案为:

(1) 增加带宽;

(2) 压缩传输数据。

43. 负载均衡设备的作用是:

(1) 将客户端的负载均匀分摊到不同的应用服务器上,达到最佳的服务器群性能。

(2) 当某台应用服务器出现错误时,错误信息将会返回到负载均衡器上,然后会将客户的访问指向另一台应用服务器。

44. 此项目中采用分布式部署负载生成器的原因包括:

(1) 负载生成器测试用机硬件资源(CPU、内存)有限,不能模拟10000用户并发的负载。

(2) 测试执行会产生大量的业务流。若采用一台测试机作为负载生成器,测试机的网卡带宽会成为测试瓶颈。

8 thoughts on “【考试】关于软件评测师

  1. 软件测试师,一次通过,坛主很牛吗
    据说很多人都很头疼这个考试呢
    看看成功者的笔记,什么时候也去考一个玩玩

发表评论

电子邮件地址不会被公开。