软考中级软件测评师历年经典真题及解析part8Word下载.docx
《软考中级软件测评师历年经典真题及解析part8Word下载.docx》由会员分享,可在线阅读,更多相关《软考中级软件测评师历年经典真题及解析part8Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
浏览器兼容性测试、操作系统兼容性测试、移动终端浏览测试、打印测试等。
在设置的兼容性测试矩阵肯定要包含平台和浏览器的内容,矩阵的行可以是不同的平台,而列是不同的浏览器,同时平台和浏览器都是合理的,还要提醒出移动的元素在里面即可。
系统的通信吞吐量=系统的并发用户数*单位时间的在线事务数(请求数)*每个请求的平均数据流=100*10*8KB=8000KB
输入intClientSubmitScore为85DELETEFROMscore--;
strStudentID为1000
这样SQL语句执行就变成:
UPDATEStudentScoreSETscore=85DELETEFROMscore--WHEREStuent_ID=1000;
防止SQL注入的有些方法主要有:
拼接SQL之前先对特殊符合进行转义,使其不作为SQL的功能符合即可。
。
当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登录、信息提交等。
在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。
例如:
用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。
如果使用默认值,还要检验默认值的正确性。
如果表单只能接受指定的某些值,则也要进行测试。
例如,只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。
除了测试表单实现的功能,还要检查Form区域的外部表现,如文字环绕、随窗口的大小调整大小等
Web应用的兼容性是测试的重要方面,主要包括:
本系统用户可以通过不同的移动配置进行访问,测试显示速度和流量等。
不同的浏览器有不同的配置需要Web应用兼容。
Web应用中的代码应该跨浏览器平台兼容。
Web应用中如果使用JavaScript或AJAX调用UI功能,完成安全检查或验证,那么就需要在浏览器兼容性方面进行更多测试,如,InternetExplorer、firefox、NetscapeNavigator、AOL、Safari和Opera等各种浏览器及其不同版本。
Web应用的有些功能可能并非兼容所有的操作系统,Web应用开发中用到的图形设计、API接口等技术可能并非在所有操作系统平台上支持。
因此需要在如Windows、Unix、Mac、Linux和Solaris等不同操作系统上对Web应用进行测试。
移动设备越来越普及,新技术层出不穷,不同移动设备上的不同浏览器的兼容性也需要进行测试。
如果Web应用支持打印功能,需要测试字体、页面布局、页面图片和页面大小等是否正常打印。
系统要支持在100个用户并发时,主要功能的处理能力至少要达到10个请求/秒,平均每个请求的数据量是8KB,那么要达到这个目标,系统的通信吞吐量=系统的并发用户数*单位时间的在线事务数(请求数)*每个请求的平均数据流=100*10*8KB=8000KB。
SQL注入是黑客攻击数据库的一种常用方法,其实就是通过把SQL命令插入到Web表单或页面请求的查询字符串中提交,最终达到欺骗服务器执行恶意的SQL命令,来达到攻击的目的。
本题中给出的SQL语句不能防止SQL注入,设置的这个测试用例只要包含SQL功能符号,然后使得SQL语句不符合原设计意图即可。
例如,包含了“--”或“’”等,那么整个语句为:
将intClientSubmitScore为85DELETEFROMscore--;
UPDATEStudentScoreSETscore=85DELETEFROMscore--WHEREStuent_ID=1000;
第2题
单选题
在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是(),它是一种重新组织的技术,可以简化构件的设计而无需改变其功能或行为。
A.精化
B.设计类
C.重构
D.抽象
C。
本题考查采用敏捷方法进行软件开发。
敏捷方法中,重构是一种重新组织技术,重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求,可以简化构件的设计而无须改变其功能或行为。
第3题
白盒测试不能发现()。
A.代码路径中的错误
B.死循环
C.逻辑错误
D.功能错误
D。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试并不对软件功能进行确认和检查
第4题
关于软件测试,()的叙述是正确的。
①测试开始越早,越有利于发现软件缺陷
②采用正确的测试用例设计方法,软件测试可以做到穷举测试
③测试覆盖度和测试用例数量成正比
④软件测试的时间越长越好
A.④
B.①
C.②、③
D.①、③
B。
本题考查软件测试原则。
正确的测试原则概念如下:
·
测试应尽早地不断地执行。
测试是不完全的。
测试用例覆盖测试需求的程度称为侧试覆盖度,可能存在一个用例可以覆盖多个测试需求;
一个需求对应多个测试用例的情况。
第5题
阅读下列说明,回答问题1至问题3。
在某嵌入式智能服务机器人的软件设计中,为了更好地记录机器人的个体信息和机器人的工作信息,为智能服务机器人设计了信息数据库。
数据库主要完成收集智能服务机器人反馈信息的作用,记录所有机器人的所有工作记录,以方便使用者对机器人的管理和对机器人状态的掌握,并且在机器人发生运行故障时,可以根据数据库存储的信息分析产生故障的原因。
数据库收集智能服务机器人反馈信息的流程如下:
服务器端接收反馈信息。
(1)第一次解析判断反馈信息类型是否正确,若正确执行
(2),否则执行(3);
(2)第二次解析判断反馈信息内容是否正确,若正确执行(4),否则执行(3);
(3)调用错误信息处理函数后执行(4);
(4)将反馈信息存入数据库。
【问题1】(6分)
在本软件测试过程中,测试人员为了设计测试用例,根据题目中的说明,画出了机器人反馈信息收集软件流程图,如图5.1所示
请在下列选项中,为图5.1中的空
(1)~(3)选择正确的描述内容。
(1)处对应_____
(2)处对应_____,(3)处对应_____
(1)A.反馈格式是否正确B.反馈长度是否正确
C.反馈类型是否正确D.反馈内容是否正确
(2)A.标记错误信息B.错误信息处理
C.错误信息纠正D.错误信息报告
(3)A.信息存入内存B.信息存入文件
C.信息存入数据库D.倍息存入软件
【问题2】(6分)
软件的结构覆盖率是度量测试完整性的一种手段。
也是度量测试有效性的一种手段,在帐入式软件白盒测试过程中。
通常以语句覆盖率、分支覆盖率和MC/DC覆盖率作为度量指标。
在实现题目说明中第
(1)、
(2)条功能时,设计人员采用了下列算法:
请指出对上述算法达到100%语句覆盖、100%分支覆盖和100%MC/DC覆盖所需的最少测试用例数目
【问题3】(8分)
为了测试软件功能,测试人员设计了表5--2所示的测试用例,请填写该表中的空
(1)~(4)。
(1)D
(2)B
(3)C
(1)3
(2)3
(3)4
(1)报告反馈类型不同
(2)报告信息内容不正确
(3)错误的
(4)典型类型3信息。
依据题干说明
(1)
(2)(3)(4)的描述,
(1)处应该为:
判定反馈内容是否正确;
(2)处应该为:
执行错误信息处理函数;
(3)信息存入数据库
语句覆盖(SC):
设计足够的测试用例,使得使被测试程序中每条语句至少执行一次。
判定覆盖(DC):
设计足够的测试用例,使得使程序中的每个判定至少都获得一次“真值”或“假值”;
又称分支覆盖:
使程序中的每一个取“真”分支和取“假”分支至少经历一次。
修正判定条件覆盖(MCDC):
设计足够的测试用例,使得每一程序模块的入口和出口点都要考虑至少被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;
程序的判定被分解为通过逻辑操作符(andor)连接的bool条件,每个条件判定的结果值是独立的。
本题中是两个if…else…的嵌套结构,
语句覆盖和判定覆盖:
当第1层if为真时就不会覆盖假,,所以假部分需要一个测试用例覆盖,,,当第1层if判定为真时可以覆盖第2层if判定为真的结构或者第2层if判定为假的结构,所以当要覆盖第2层判定,需要2个测试用例,,所以综合起来至少需要3个测试用例来达到语句覆盖的要求和判定覆盖的要求
MC/DC覆盖:
由于是嵌套结构,满足第一个判定的测试用例为:
(TT)(FT)(TF);
第2个判定为T,F,,由于第一个判定为T后会涉及到第2个判定,所以综合起来需要4个测试用例,如下图:
结合题干描述
第6题
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
某数据管理系统有两个重要模块:
数据接收模块和数据查询模块。
数据接收模块按照一定的时间间隔从多个不同数据源接收数据进行一定的预处理后存入数据库中;
数据查询模块根据用户请求从数据库中查询相应的数据并返回给用户。
现需要对该系统执行负载压力测试。
该数据管理系统的性能要求为:
(1)交易执行成功率100%;
(2)接收间隔最小为200ms;
(3)查询响应时间在3s以内;
(4)查询功能支持至少10个并发用户;
(5)数据接收模块CPU利用率不超过40%;
(6)数据查询模块CPU利用率不超过20%。
(3分)
简述负载压力测试的主要目的。
对该数据管理系统进行性能测试时,主要关注哪些性能指标?
该系统数据接收模块和数据查询模块的测试结果如表5-1、5-2所示,请分别指出测试结果是否满足性能需求并说明原因。
根据问题3的测试结果,试分析该系统的可能瓶颈。
本题主要考查压力测试的目的。
压力测试模拟系统的性能极限点来执行性能测试,发现系统的性能瓶颈点。
其目的为:
在真实环境下检查系统性能、评估系统性能以及服务等级的满足情况;
预见系统负载压力承受力;
分析系统瓶颈来优化系统。
对该数据管理系统进行性能测试时,主要关注的性能指标有并发用户数、响应时间及资源利用率情况(CPU、内存等)。
数据接收模块的性能测试结果不满足指标,从表5-1中,我们可以看出,当接收间隔为200ms时,存数据库交易成功率为80%,不满足交易执行成功率100%的要求;
当接收间隔为200ms时,CPU的利用率为43.8%,不满足数据接收模块CPU利用率不超过40%的要求。
数据查询模块的性能测试结果满足指标,从表5-2中,我们可以看出,题目要求的查询响应时间在3s以内,查询功能支持至少10个并发用户,数据查询模块CPU利用率不超过20%的要求都满足。
而在并发用户为15时,查询响应时间超过了3s不能算作不满足。
本题主要是根据问题3的测试结果来判定系统可能的瓶颈,那么从问题3我们可以知道数据接收模块的性能测试结果不满足指标,因此瓶颈就可能存在于数据接收模块,而在数据接收模板可能存储的瓶颈有:
服务器CPU性能不足;
数据库设计不好或优化不够;
没有一个好的并行策略。
第7题
集成测试关注的问题不包括()。
A.模块间的数据传递是否正确
B.一个模块的功能是否会对另一个模块的功能产生影响
C.所有模块组合起来的性能是否能满足要求
D.函数内局部数据结构是否有问题,会不会被异常修改
集成测试在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装,组装时需要考虑的问题:
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响
(3)各个子功能组合起来,能否达到预期要求的父功能
(4)全局数据结构是否有问题
(5)单个模块的误差累积起来,是否会放大,以致达到不能接受的程度
局部数据结构测试是属于单元测的范畴
第8题
第9题
关于风险的叙述中,不正确的是()。
A.风险是可能会发生的事
B.风险会给项目带来损失
C.只要能预测到,风险就能避免
D.可以对风险进行干预,以期减少损失
风险有两个特点,一个是不确定性,一个是损失。
第10题
阅读下列说明,回答问题l至问题4,将解答填入答题纸的对应栏内。
某大型披萨加工和销售商为了有效管理披萨的生产和销售情况,欲开发一套基于Web的信息系统。
其主要功能为销售、生产控制、采购、运送、存储和财务管理等。
系统采用JavaEE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。
设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。
系统设计时可以
采用哪些技术手段防止此类攻击。
简述图形测试的主要检查点。
【问题3】(5分)
简述页面测试的主要方面。
【问题4】(6分)
系统实现时,对销售订单的更新所用的SQL语句如下:
PreparedStatementpStmt=connection,prepareStatementC(“UPDATESalesOrderSET
status=?
WHEREOrderID=?
;
”);
然后通过setString(...);
的方式设置参数值后加以执行。
设计测试用例以测试SQL注入,并说明该实现是否能防止SQL注入。
【问题1】:
用例1:
<
script>
alert('
dddd'
)<
/script>
用例2:
IMGSRC="
javascrip\r
\nt:
XSS'
);
"
>
或<
bonmouseover=alert('
)>
clickme<
/b>
防御XSS攻击方法:
验证所有输入数据,有效检测攻击;
对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
防御规则:
不要在允许位置插入不可信数据
在向HTML元素内容插入不可信数据前对HTML解码
在向HTML常见属性插入不可信数据前进行属性解码
在向HTMLJavaScriptDATAValues插入不可信数据前,进行JavaScript解码
在像HTML样式属性插入不可信数据前,进行CSS解码
在向HTMLURL属性插入不可信数据前,进行URL解码
【问题2】:
图形测试主要检查点:
颜色饱和度和对比度是否合适
需要突出的链接的颜色是否容易识别
是否正确加载所有的图像
【问题3】:
页面的一致性如何
在每个页面上是否设计友好的用户界面和直观的导航系统
是否考虑多种浏览器的需要
是否建立了页面文件的命名体系
是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等
【问题4】:
能防止SQL注入
Pstmt.setString('
1'
or'
='
--,status)
2'
,orderID)。
XSS攻击:
跨站脚本攻击(CrossSiteScripting)是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
比如这些代码包括HTML代码和客户端脚本。
不要在允许位置插入不可信数据
在向HTML元素内容插入不可信数据前对HTML解码
在向HTML常见属性插入不可信数据前进行属性解码
在向HTMLJavaScriptDATAValues插入不可信数据前,进行JavaScript解码
在像HTML样式属性插入不可信数据前,进行CSS解码
在向HTMLURL属性插入不可信数据前,进行URL解码
图形测试,主要检查点如下:
需要突出的链接颜色是否容易识别
是否正确加载所有的图形
页面是信息的载体,直接体现WEB沾点的设计水平,一个好的页面因信息层次清晰而让用户一目了然;
因涉及巧妙、精致美观而让用户流连忘返;
因恰当使用各种元素能完成许多功能而不显拥挤。
对页面设计的测试可以从以下几个方面进行:
对于本题由于将SQL语句中的输入值,使用参数方式传送,而且SQL语句进行预编译,这样由于防止注入式攻击,测试用例设计可参考:
,orderID)
第11题
阅读下列说明,回答问1至问4,将解答填入答题纸的对应栏内。
某MOOC(慕课)教育平台欲开发一基于Web的在线作业批改系统,以实现高效的作业提交与批改并进行统计。
系统页面中涉及内部的内容链接、外部参考链接以及邮件链接等。
页面中采用表单实现作业题目的打分和评价,其中打分为1~5分制整数,评价为文本。
系统要支持:
(1)在特定时期内300个用户并发时,主要功能的处理能力至少要达到16个请求/秒,平均数据量16KB/请求。
(2)系统前端采用HTML5实现,以使用户可以通过不同的移动设备的浏览器进行访问。
(4分)
针对此在线系统进行链接测试时,需要测试哪些方面?
为了达到系统要支持的
(2),设计一个兼容性测试矩阵。
给出计算系统的通信吞吐量的方法,并计算在满足系统要支持的
(1)时系统的通信吞吐量。
设计4个打分和评价的测试输入,考虑多个方面的测试,如:
正确输入、错