2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)

上传人:s9****2 文档编号:498336260 上传时间:2023-06-27 格式:DOCX 页数:9 大小:16.60KB
返回 下载 相关 举报
2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)_第1页
第1页 / 共9页
2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)_第2页
第2页 / 共9页
2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)_第3页
第3页 / 共9页
2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)_第4页
第4页 / 共9页
2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)》由会员分享,可在线阅读,更多相关《2022软件水平考试-中级软件评测师考试题库套卷15(含答案解析)(9页珍藏版)》请在金锄头文库上搜索。

1、2022软件水平考试-中级软件评测师考试题库(含答案解析)1. 问答题:某大型披萨加工和销售商为了有效管理披萨的生产和销售情况,欲开发一套基于Web的信息系统。其主要功能为销售、生产控制、采购、运送、存储和财务管理等。系统采用Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。【问题1】(6分)设计两个表单项输入测试用例,以测试XSS(跨站点脚本)攻击。系统设计时可以采用哪些技术手段防止此类攻击。【问题2】(3分)简述图形测试的主要检查点。【问题3】 (5分)简述页面测试的主要方面。【问题4】 (6分)系统实现时,对销售订单的更新所用的SQL

2、语句如下: PreparedStatement pStmt = connection,prepareStatementC(“UPDATE SalesOrder SET status=WHERE OrderID=;”); 然后通过setString(.);的方式设置参数值后加以执行。 设计测试用例以测试SQL注入,并说明该实现是否能防止SQL注入。 答案: 本题解析:【问题1】:用例1:scriptalert(dddd)/script用例2: IMG SRC=javascripr nt:alert(XSS); 或b onmouseover=alert(dddd)click me/b 防御XSS攻

3、击方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。防御规则:1.不要在允许位置插入不可信数据2.在向HTML元素内容插入不可信数据前对HTML解码3.在向HTML常见属性插入不可信数据前进行属性解码4.在向HTML JavaScript DATA Values插入不可信数据前,进行JavaScript解码5.在像HTML样式属性插入不可信数据前,进行CSS解码6.在向HTML URL属性插入不可信数据前,进行URL解码【问题2】:图形测试主要检查点:?颜色饱和度和对比度是否合适?需要突出的链接的颜色是否容易识别?是否正确加载所有的图

4、像【问题3】:?页面的一致性如何?在每个页面上是否设计友好的用户界面和直观的导航系统?是否考虑多种浏览器的需要?是否建立了页面文件的命名体系?是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等【 问题4】:能防止SQL注入Pstmt.setString(1 or 1 = 1-,status)Pstmt.setString(2 or 1 = 1,orderID)2. 问答题:阅读下列C程序,回答下列问题。C程序 int GetMaxDay( int year, intmonth ) int maxday = 0; /1 if ( month = 1 & month = 12 ) /2

5、,3 if ( month = 2 ) /4 if ( year % 4 = 0 ) /5 if ( year % 100 = 0 ) /6 if ( year % 400 = 0 ) /7 maxday = 29; /8 else /9 maxday = 28; else /10 maxday = 29; else /11 maxday = 28; else/12 if(month=4|month=6|month=9|month=11) /13, 14, 15, 16 maxday = 30; /17 else /18 maxday = 31; return maxday; /19 3、请给

6、出问题2中控制流图的线性无关路径。答案: 本题解析:线性无关路径:11-2-1921-2-3-1931-2-3-4-12-13-14-15-16-18-1941-2-3-4-12-13-14-15-16-17-1951-2-3-4-12-13-14-15-17-1961-2-3-4-12-13-14-17-1971-2-3-4-12-13-17-1981-2-3-4-5-11-1991-2-3-4-5-6-10-19101-2-3-4-5-6-7-9-19111-2-3-4-5-6-7-8-19【解析】第三小题考查白盒测试用例设计方法中的基本路径法。涉及到的知识点是根据控制流图和环路复杂度给出

7、线性无关路径。线性无关路径是指包含一组以前没有处理的语句或条件的路径。从控制流图上来看,一条线性无关路径是至少包含一条在其他线性无关路径中从未有过的边的路径。程序的环路复杂度等于线性无关路径的条数,所以本题中应该有11条线性无关路径。3. 问答题:某软件公司在研发一个城镇居民保险系统时,为了加快进度,测试工作在系统开发初步完成之后开始并直接进行系统测试。测试工程师针对界面进行了功能测试。测试工程师和开发工程师借助缺陷管理工具,交互进行测试与缺陷修复工作。测试期间发现系统的“文档审批”功能出现严重缺陷,开发工程师认为修改难度大,经测试工程师认可后决定暂停修复该缺陷,直到产品发布前,该缺陷在开发环

8、境下被修复。随后,测试工程师在开发环境下针对该缺陷执行了有关的用例,进行了回归测试。回归测试结束后,开发工程师在开发环境下对产品直接打包发布。【问题1】测试开展的时间是过早、过晚还是合适说明理由。【问题2】测试工程师功能测试的方法是否正确若不正确,请陈述正确的方法;若正确,请说明理由。【问题3】该案例中对缺陷的管理有哪些不妥之处【问题4】开发工程师产品发布的做法是否正确答案: 本题解析:【问题1】测试工作开展得太晚。测试工作应该覆盖需求分析、概要设计、详细设计、编码等前期阶段,而不应该在系统开发初步完成后才开始。【问题2】测试人员功能测试的方法不正确。系统功能测试应该追溯到用户需求,针对界面进

9、行功能测试是错误的。【问题3】(1)开发工程师无权决定是否延期或者暂停修改某一缺陷;(2)测试工程师认可暂停修复缺陷的决定是不合理的;(3)测试工程师应该跟踪缺陷状态,直至确定修改后关闭缺陷,才是完成了测试任务;(4)回归测试应该执行所有的案例,不是仅仅执行与该缺陷有关的用例;(5)产品发布前,应该对发现的缺陷进行评审;(6)应该分析缺陷修复情况之后,才可以发布产品。【问题4】产品最后由开发人员直接发布不合理。(基线库中的产品应该是最后经过测试的)实际最后发布的产品应该从产品库中提取。4. 问答题:某大型匹萨加工和销售商为了有效管理匹萨的生产和销售情况,欲开发一套基于Web的信息系统。其主要功

10、能为销售、生产控制、采购、运送、存储和财务管理等。系统采用Java EE平台开发,页面中采用表单实现数据的提交与交互,使用图形(Graphics)以提升展示效果。4、系统实现时,对销售订单的更新所用的SQL语句如下:PreparedStatementpStmt=connection.prepareStatement(UPDATE SalesOrder SET status= ? WHEREOrderID= ?)然后通过setString(.);的方式设置参数值后加以执行。设计测试用例以测试SQL注入,并说明该实现是否能防止SOL注入。答案: 本题解析:设计如下测试:注:设计类似如下用例即可,其

11、中包含SQL功能符号使SQL变为不符合设计意图即可PreparedStatementpStmt=connection.prepareStatement(UPDATE SalesOrder SET status= ? WHEREOrderID= ?)采用传递参数的形式,Java的JDBC驱动自动会将其按照相应的类型处理,功能符号会进行转义。因此,该SQL语句是安全。【解析】第四小题考查Web应用安全性方面的SQL注入,SQL注入是Web应用安全性测试的重要方面之一。许多Web应用系统采用某种数据库,接收用户从Web页面中输入,完成展示相关存储的数据(如检查用户登录信息)、将输入数据存储到数据库(

12、如用户输入表单中数据域并点击提交后,系统将信息存入数据库)等操作。在有些情况下,将用户输入的数据和设计好的SQL框架拼接后提交给数据库执行,就可能存在用户输入的数据并非设计的正确格式,就给恶意用户提供了破坏的机会,即SQL注入。恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份,查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除应用的数据库表等严重后果。SQL注入在使用SSL的应用中仍然存在,甚至是防火墙也无法防止SQL注入。因此,在测试Web应用时,需要认真仔细设计测试用例,采用Web漏洞扫描工具等进行检查,进行认真严格的测试,以保证不存在SQL注入机会。本系

13、统实现时,对销售订单的更新所用的SQL语句如下:PreparedStatement pStmt=connection.prepareStatement(UPDATE SalesOrder SET status= ? WHERE OrderID= ?;);然后通过setString(.);的方式设置参数值后加以执行。在SQL语句中采用参数的方式传递前台传递来的值,因为不论是什么值,都会只作为setString(.)的参数值,不会作为SQL语句的其他功能符,所以本SQL语句更新订单的方式是防止SQL注入的。设计如下测试SQL注入的测试用例:status: fulfilled -, OrderID:

14、 2014 OR 1=1检查执行结果,或者传递给数据库的SQL语句,会发现所有用例中的功能字符都会经过特定的转义后作为status和OrderID的值。和拼接SQL的方式不同,采用参数形式传递时,Java的JDBC驱动自动会将其按照相应的类型处理,功能符号会进行转义。因此,测试用例中的注释-、OR等都会作为参数的值,不会作为功能符,也就不会改变SQL语句本身的功能结构,该SQL语句是安全的。5. 判断题:软件评测师属于一项高级工程师认证的考试。答案:错误 本题解析:错误,软件评测师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级工程师考试。6. 问答题:阅读下列说明,回答问题1至问题4,将解答填入的对应栏内。说明软件测试的质量决定着被测产品的质量,是企业关注的重点。1、问题1(3分)请简要叙述软件测试质量包括哪些管理要素。2、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号