软件评测师历年真题错题整理分析.docx
《软件评测师历年真题错题整理分析.docx》由会员分享,可在线阅读,更多相关《软件评测师历年真题错题整理分析.docx(34页珍藏版)》请在冰点文库上搜索。
软件评测师历年真题错题整理分析
1、典型的软件测试过程模型包含V模型、W模型、H模型、X模型、前置测试模型;其中H模型对软件测试流程予以说明;W模型强调了测试计划等工作的先行和对系统需求和系统设计的测试。
2、V模型是软件开发瀑布模型的变种,反映了测试活动与分析和设计的关系。
优点:
将开发阶段清楚的表现出来,便于控制开发的过程;缺点:
需求分析阶段隐藏的问题一直到后期的验收测试才能发现。
3、使用W模型的优点:
测试的活动与软件开发同步进行;测试的对象不仅仅是程序,还包括需求和设计;尽早发现软件缺陷可降低软件开发的成本。
4、软件测试的对象是程序和文档,不包括软件开发人员。
5、风险曝光度=错误出现率*错误造成的损失或者风险曝光度=风险出险率*风险损失
6、通用的风险分析表应包括风险问题、风险预测值、风险标识、发生的可能性、影响的严重性、风险优先级
7、软件质量:
软件满足规定或潜在用户需求特性的总和;包括内部质量、外部质量和使用质量;是关于软件特性具备“能力”的体现。
8、使用质量是从用户角度看待的质量,其属性包含有效性、生产率、安全性、满意度。
9、软件产品质量可以通过测量软件产品的哪些属性来评价?
1)测量内部属性
2)测量外部属性
3)测量使用质量的属性
10、软件配置管理的基本活动包含配置项标识、变更控制(配置项控制)、配置项状态报告、配置审计。
11、确定测试基线属于“配置项控制”活动。
12、软件评价过程的特性包含可重复性、可再现性、客观性、公正性。
13、在软件设计过程中,必须遵循软件工程的基本原则:
这些原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可靠性。
14、集成测试主要针对与设计相关的软件体系结构的构造进行测试。
15、软件测试质量包括哪些管理要素:
1)测试过程,如技术过程、管理过程、支持过程2)测试人员及组织3)测试工作文档,如测试计划、测试说明、测试用例、测试报告、问题报告。
16、软件测试质量控制的主要方法:
1)测试文档评审2)测试活动审核3)制定质量保证计划4)采取背靠背测试。
背靠背测试:
其基本思想就是用同样的测试用例对同一系统运行两次,从而进行相互比较,找出其中的差异。
17、测试用例覆盖率:
测试用例对应需求数/测试需求数。
测试用例是否与软件需求对应,覆盖率越高,达到的测试效果越好。
18、测试覆盖度和测试用例数量不成正比。
19、缺陷修复率:
累计关闭缺陷数/累计打开缺陷数。
缺陷修正率,缺陷已关闭数量与总缺陷的比值,缺陷修正率越高,软件质量越好。
20、软件产品的一般评价过程是:
确立评价需求,规定、设计和执行评价。
21、广义的软件测试由“确认”、验证”、测试”3个方面组成,其中“确认”是想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标。
22、降低测试用例设计的难度是当前自动化测试技术不能解决的问题。
23、测试成本控制的目标是使测试开发成本、测试实施成本和测试维护成本最小化,可以通过加强软件测试的配置管理来降低测试维护成本。
24、软件缺陷(defect):
存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差;软件错误(error):
在可以预见的时期内,软件仍将由人来开发。
在整个软件生存期的各个阶段,都贯穿者人的直接或间接的干预。
然而,人难免犯错误,这必然给软件留下不良的痕迹。
软件错误是指在软件生存期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。
可见,软件错误是一种人为过程,相对于软件本身,是一种外部行为;软件故障(fault):
软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。
譬如,软件处于执行一个多余循环过程时,我们说软件出现故障。
此时若无时当的措施(容错)加以及时处理,便产生软件失效。
显然,软件故障是一种动态行为;软件失效(failure):
软件失效是指软件运行时产生的一种不希望或不可接受的外部行为结果。
25、网络杀毒软件厂商已经开始使用数据库技术和LDAP技术进行策略日志存储和用户管理,这里LDAP指的是轻量目录访问协议。
26、软件测试原则中指出“完全测试是不可能的”,主要原因是输入量太大、输出结果太多以及路径组合太多。
27、系统性能需求中要求“系统可以连续稳定运行12小时”,若系统连续运行12小时完成的总业务量为1000笔,系统能够提供的最大交易执行吞吐量为200笔/小时,试设计测试周期,并说明理由。
——系统连续运行12小时完成的总业务量为1000笔,系统能够提供的最大交易执行吞吐量为200笔/小时,因此在系统吞吐量极限情况下,完成1000笔业务需要的时间就是测试周期。
1000/200=5小时。
原因:
在增加单位时间的负载情况下,需要缩短测试周期,保证12小时完成总业务量。
28、TransactionsperSecond(交易执行吞吐量(trans/s))与AverageTransactionResponseTime(交易执行响应时间)之间的关系:
二者都是体现的系统的交易执行效率。
在系统项目稳定的情况下,随着负载的增加,交易执行吞吐量会基本保持不变,而交易平均响应时间会递增。
29、缺陷探测率(DDP):
测试人员bug数/(用户发现bug数+测试人员bug数)*100%
30、投资回报率(ROI):
净利润/测试投入成本*100%
31、进行单元测试过程中,通常测试工程师需要借助“桩模块”来替代所测模块调用的子模块。
(驱动模块调用桩模块)
32、使用软件测试工具的目的是帮助测试寻找问题,协助问题的诊断,节省测试时间;但是不包括替代手工测试。
33、白盒测试技术:
静态错误分析、程序插桩
34、白盒测试方法:
代码检查法(桌面检查、代码审查、走查),静态结构分析,静态质量度量,逻辑覆盖法,基本路径测试法,域测试,符号测试,Z路径覆盖,程序变异。
35、边界值法测试用例设计方法既可以用于黑盒测试,也可以用于白盒测试;
基本路径法:
白盒;正交试验设计法:
黑盒;逻辑覆盖法:
白盒。
36、系统测试是为了验证系统是否达到其原始目标而对集成的硬件和软件系统进行的测试。
37、黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试用例设计可以和软件实现同步,且该方法不依赖于软件内部的具体实现,当实现变化时,只要对外接口不变,则无需重新设计用例。
38、设计测试用例时,边界值法是用的最多的一种黑盒测试方法;等价类划分是最基本的黑盒测试方法。
39、黑盒测试方法中,等价类划分方法设计测试用例的步骤是:
1)根据输入条件把数目极多的输入数据划分成若干个有效等价类和若干个无效等价类;
2)设计一个测试用例,使其覆盖尽可能多的尚未被覆盖的有效等价类,重复这一步,直至所有有效等价类均被覆盖;
3)设计一个测试用例,使其覆盖一个尚未被覆盖的无效等价类,重复这一步,直至所有无效等价类均被覆盖。
40、给定输入范围,如10—30,根据黑盒测试中的等价类划分技术,可以划分为1个有效等价类,2个无效等价类。
41、因果图方法是根据输入与输出之间的因果关系来设计测试用例的。
42、采用决策表法(判定表驱动法)进行测试用例设计的主要步骤:
确定规则个数;列出所有的条件桩和动作桩;填入条件项;填入动作项;简化
43、静态测试方法:
不实际运行被测试的软件,主要对软件的编程格式、结构等方面进行评估。
44、动态测试方法:
实际运行被测试软件而进行的测试。
45、语句覆盖(SC):
使被测程序中每条语句至少执行一次,是覆盖强度最弱的白盒覆盖测试;
46、判定覆盖(DC)又叫分支覆盖:
既使得程序中的每个判定至少都获得一次“真值”和“假值”;满足判定覆盖的测试用例个数=判定条件数(if个数)+1;判定覆盖比语句覆盖更强一些。
实例:
假设A、B为布尔变量,对于逻辑表达式(A&&B||C),需要
(2)个测试用例才能完成判定覆盖。
47、条件覆盖(CC):
构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。
判定覆盖跟条件覆盖强度类似,没有包含被包含的关系。
48、条件判定组合覆盖(CDC):
设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。
条件判定组合覆盖(CDC)要求一定能满足条件判定(CC)或者逻辑判定(DC)的要求。
49、多条件覆盖(MCC):
又叫条件组合覆盖:
设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。
是覆盖强度最强的白盒覆盖测试;
实例:
对于逻辑表达式((a&&b)||c),需要(4)个测试用例才能完成条件组合覆盖
2n:
n是条件数
(a&&b)是一个条件,c是一个条件;所以是22=4
延伸:
a&&(b||c)是23=8;a||b||c是23=8;
50、语句覆盖<判定覆盖(if后的条件)≈条件覆盖(if后的条件拆分开)<条件判定组合覆盖<条件组合覆盖
51、负载压力测试:
指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统所能承受的最大负载压力。
52、负载压力测试的目的:
1)在真实环节下检测系统性能,评估系统性能以及服务等级的满足情况;2)预见系统负载压力承受力,在应用实际部署之前,评估系统性能;3)分析系统瓶颈,优化系统。
53、负载压力测试将为企业项目的实施提供信心,帮助用户正确地进行容量的规划,实现软硬件投资合理化,最终交付高质量的系统,避免项目投产失败,保证用户的投资得到相应的回报。
54、负载压力测试盲点:
不进行功能校验
55、系统的负载压力主要有并发执行负载、疲劳强度负载、大数据量负载。
56、性能评测主要内容:
1)在真实环境下,检查系统服务等级的满足情况,评估并报告整个系统的性能;2)对系统的未来容量做出预测和规划。
57、负载测试:
通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。
(并发用户数是否满足性能需求)
58、压力测试:
通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。
压力测试是为了发现在什么条件下系统的性能会变得不可接受。
(发现系统可支持的最大在线用户数)
59、疲劳强度测试通常采用系统稳定运行情况下能够支持的最大并发用户数,最容易发现内存溢出、资源争用等性能问题。
知识延伸:
内存泄漏:
动态存储分配函数,动态开辟的空间在使用完毕后位释放导致一直占用该内存单元的现象。
空指针:
所谓指针就是Java的对象的引用,如StringS;S是指针;指针的内容是空,如S指向null,就是空指针。
空指针异常指一个指针是空指针,你还要去调用它,它指向空对象,它不能使用这个对象的方法。
60、Web应用系统负载压力测试中,衡量业务执行效率的指标有:
每秒点击率、交易执行吞吐量、交易执行响应时间。
61、负载压力测试实施步骤:
测试计划—测试需求分析—测试案例制定—测试环境、工具、数据准备—测试脚本录制、编写与调试—场景制定—测试执行—获取测试结果—结果评估与测试报告。
62、负载压力测试计划有助于:
1)构建能够精确地模拟工作环境的测试方案;2)了解测试需要的资源;3)以可度量的指标定义测试成功条件。
63、交易处理性能指标包括:
并发用户数指标、交易处理指标、Web页面组件指标、Web请求指标。
64、交易处理性能评估:
并发用户数、交易响应时间(系统完成事务的时间)、交易通过率、吞吐量、点击率。
65、大数据量测试包括独立数据量测试和综合数据量测试。
66、负载压力测试需求分析原理,80~20原理:
,每个工作日中80%的业务在20%的时间内完成。
(P274)
67、数据库服务器性能问题及原因分析:
(1)单一类型事务响应时间过长
(2)并发处理能力差(3)锁冲突严重(4)监视并记录性能相关数据(5)定位资源占用较大的事务并做出必要的优化和调整(6)定位锁冲突,修改锁冲突发生严重的应用逻辑(7)进行必要的数据分布(P317)
68、数据库服务器性能问题中造成响应时间过长的原因1)数据库服务器负载过重2)糟糕的数据库设计3)事务粒度过大4)批任务对普通用户性能的影响。
(P318)——解决办法:
采用数据库集群策略并注意配置正确。
69、CPU使用率成为系统性能瓶颈时如何制定解决方案?
答案:
1)增加CPU个数,考虑CPU之间的负载分配;2)提高CPU主频,更换更高级的CPU;3)web服务器与数据库服务器分开部署;4)调整软件设计与开发。
70、网络带宽成为系统瓶颈时如何制定解决方案?
答案:
1)增加带宽;2)压缩传输数据。
71、交易吞吐量:
每秒处理通过的交易数
72、交易响应时间:
系统完成事务执行准备后所采集的时间戳到系统完成执行事务后所采集的时间戳之间的时间间隔。
73、随着负载增加,当交易吞吐量不再递增时,交易响应时间会递增,是什么原因?
——当系统达到交易吞吐量极限时,客户端交易会在请求队列中等待,所以交易响应时间会递增。
74、负载均衡器设备的作用:
1)将客户端的负载均衡分摊到不同的应用服务器上,达到最佳服务器群性能;2)当某台应用服务器出现错误时,错误信息将会返回到负载均衡器上,然后将客户的访问指向另外一台应用服务器。
75、负载压力测试工具主控台、负载压力测试工具负载生成器的作用?
——主控台:
管理负载生成器并收集测试数据;负载生成器:
模拟客户端执行负载压力测试。
76、项目采用分布式部署负载生成器的原因:
1)负载生成器测试用机硬件资源(CPU、内存)有限,不能模拟10000用户并发的负载;2)测试执行会产生大量的业务流,若采用一台测试机作为负载生成器,测试机的网卡带宽会成为测试瓶颈。
77、并发数递增,交易执行成功率降低的可能原因:
1)服务器端架构设计;2)服务器端参数设置不合理;3)软件系统实现问题
78、系统的性能不能满足需求,有哪些调优措施?
——1)检查软件设计、软件开发是否正确;2)检查软件参数设置是否合理;3)评估服务器端架构设计合理性;4)评估应用服务器和数据库服务器的匹配是否满足系统性能需求。
79、反应Web客户端交易处理性能的评估指标有并发用户数、交易响应时间、交易通过率、吞吐量、点击率。
80、WinRunner是功能测试工具,是QTP的前身;LoadRunner、QALoad、WAS负载压力测试工具。
81、GUI是图形用户界面,关注的是人和机器的交互。
GUI测试包含:
1)窗口相关操作是否符合标准2)菜单和鼠标操作是否正确3)数据显示是否操作
82、一个Web信息系统所需进行的测试包括:
1)功能测试2)性能测试3)可用性测试4)客户端兼容性测试5)安全性测试。
83、兼容性测试包含:
硬件兼容性测试、软件兼容性测试、数据兼容性测试、平台兼容性测试。
84、安全测试与评估内容包含用户认证机制、加密机制、安全防护策略、数据备份与恢复手段、防病毒系统。
85、用户认证机制包含数字证书、智能卡、双重认证、安全电子交易(SET)协议
86、双重认证方式包括令牌、智能卡和仿生装置,如视网膜或指纹扫描器等
87、密码技术主要用于密码的保护,数据的传输过程中的安全防护、数据存储过程的安全防护等。
88、安全防护策略包含安全日志、入侵检测系统、漏洞扫描、隔离防护
89、入侵检测系统是一种主动的网络安全防护措施,它从系统内部和各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击。
一般来说,入侵检测系统还应对入侵行为作出紧急响应。
入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
90、数据备份与恢复技术通常会涉及以下方面:
1)存储设备:
磁盘阵列、磁带机(磁带库)、光盘库、SAN设备。
2)存储优化:
DAS、NAS、SAN
3)存储保护:
磁盘阵列、双机容错、集群、备份与恢复
4)存储管理:
数据库备份与恢复、文件与卷管理、复制、SAN管理
91、基本安全防护系统一般采用防火墙、入侵检测、漏洞扫描、安全审计、病毒防护、Web信息防篡改、物理安全等基础安全技术,以保障应用系统的安全。
92、安全系统防护体系体现的7个层次:
实体安全(物理安全)、平台安全(主机安全)、数据安全、通信安全(网络安全)、应用安全、运行安全、管理安全。
93、对于服务器操作系统(主机层平台操作)的安全,需要测评的方面有:
1)是否关闭或卸载了不必要的服务和程序
2)是否存在不必要的账户;
3)权限设置是否合理;
4)安装相应的安全补丁程序的情况;
5)操作系统日志管理。
94、软件的安全日志需要记录那些信息?
在安全测试中应该检查安全日志的那些方面?
安全日志需要记录:
登录用户名称、登录时间、浏览数据动作、修改数据动作、删除数据动作、退出时间、登录机器的IP。
安全日志需检查项:
需要对日志的完整性、正确性作出评价,以及系统是否提供了安全日志的智能分析能力,是否按照各种特征项进行统计。
95、安全性测试方法:
功能验证、漏洞扫描、模拟攻击试验、侦听技术。
96、模拟攻击试验:
冒充(口令猜测,缓冲区溢出)、重演、消息篡改(DNS高速缓存污染,伪造电子邮件)、服务拒绝(死亡之Ping,泪滴,UDP洪水,SYN)、内部攻击、外部攻击、陷阱门、特洛伊木马(网络传播病毒,典型的有NetBus、BackOrifice和BO2k)。
97、软件评测相关的标准一般可以分为国际标准、国家标准、行业标准以及企业标准,一般情况下,技术要求最高的是企业标准。
所谓的企业标准是指参照并基于相关行业标准、国家标准和国际标准,并针对自有产品所采用的特定技术而制定的,如专利、不公开的科研成果等。
98、标准符合性测试就是测量产品的功能和性能指标,与相关国家标准或行业标准所规定的功能和性能指标之间符合程度的测试活动。
它区别于一般的测试,标准符合性测试的测试依据和测试规程一定是国家标准或行业标准,而不是实验室自定义的或其他的有关文件。
标准符合性测试通常有两种方式,一是自律性测试,二是权威测试。
99、标准符合性测试主要有1)数据内容类标准2)通信协议类标准3)开发接口类标准4)信息编码类标准。
100、易用性四部分:
安装测试、功能易用性测试、界面测试、辅助系统测试。
101、Web应用运行测试中,易用性测试有3个方面,界面测试、辅助功能测试、图形测试。
102、用户对于软件系统的第一认识来自于安装,因此易用性的一个重要体现就是安装的易用性,安装测试应从以下方面考虑:
1)安装手册的评估2)安装的自动化程度测试3)安装选项和设置的测试4)安装过程的中断测试5)安装顺序测试6)多环境安装测试7)安装的正确性测试8)修复安装测试与卸载测试
103、功能易用性测试:
1)业务符合性2)功能定制性3)业务模块的集成度4)数据共享能力5)约束性6)交互性7)错误提示
104、用户界面测试:
分为整体界面测试和界面中的元素测试。
界面中的元素主要包含窗口、菜单、图标、文字、鼠标等
105、界面元素测试包含:
窗口测试、鼠标测试、文字测试
106、界面整体测试:
1)规范性测试2)合理性测试3)一致性测试4)界面定制性测试
107、测试软件界面的合理性:
1)界面中元素的文字、颜色等信息是否与功能不一致;
2)前景和背景搭配是否合理协调,反差是不是太大;
3)界面中元素的大小和布局是否协调;
4)窗口的比例是否合适。
108、界面定制性测试:
1)界面元素的可定制性2)工具栏的可定制性3)统计检索的可定制性4)报表的可定制性
109、辅助系统测试:
1)帮助测试2)向导测试3)信息提示
110、软件帮助测试的测试要点:
1)前后一致性2)内容完整性3)可理解性4)方便性
111、软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。
确定软件可靠性目标在需求分析阶段;确定软件可靠性度量活动在概要设计阶段;可靠性建模在测试阶段。
112、软件的可靠性是指在指定条件下使用时,软件产品维持规定的性能级别的能力。
113、软件的可靠性包括成熟性、容错性、易恢复性、可靠性依从性等质量子特性。
114、计算机的用途不同,对其不同部件的性能指标要求也有所不同。
用作科学计算为主的计算机,其对主机的运算速率要求很高;用作大型数据库处理为主的计算机,其对主机的内存容量、存取速率和外存储器的读写速度要求较高;对于用作网络传输的计算机,则要求有很高的I/O速度,因此应当有高速的I/O总线和相应的I/O接口。
计算机的运算速度常用每秒钟执行的指令数来衡量,影响运算速度的主要因素有:
CPU主频、字长、指令系统的合理性。
以科学计算为主的计算机,应该重点考虑CPU主频、字长,以及内存容量。
115、集成测试内容:
接口数据测试、模块间时序测试、全局数据测试。
集成测试可检验程序单元或部件的接口关系,应能发现并排除在模块连接中可能发生的问题。
116、单元测试内容:
局部数据测试
117、软件测试不能发现软件的潜在缺陷。
118、功能测试用例的主要元素有测试步骤、测试数据和预期结果。
实测结果是案例的执行结果,不属于功能测试用例的元素。
119、要设计有效的功能测试用例,需要做到:
1)测试用例应该100%地覆盖测试业务需求
2)利用场景法模拟核心业务流程的正确执行。
3)利用场景法设计测试用例时,往往是一个业务流程需要多条验证数据。
120、利用边界值法设计测试用例时,能够验证界面输入值的边界处理是否正确。
121、voidcal(intn)
{
intg,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",n);
}
}
printf("\n");
return;
}
1)找出程序中所有的逻辑判断语句。
逻辑判断语句是:
n>1000、n<2000;if((q+g)==(s+b))逻辑判断语句是:
(q+g)==(s+b)
2)以上语句的分别满足100%DC(判定覆盖)和100%CC(条件覆盖)时所需的逻辑条件。
100%DC(判定覆盖)的逻辑条件:
(n>1000)&&(n<2000)、n≤1000或者n≥2000、
(q+g)==(s+b)、(q+g)≠(s+b)
100%CC(条件覆盖)的逻辑条件:
n≥2000、n≤1000、(q+g)==(s+b)、(q+g)≠(s+b)
注:
DC:
程序中的每个判定至少都获得一次真值和假值
CC:
每个判定语句中每个逻辑条件的可能值至少满足一次
3)假设n