2022软件水平考试-中级软件评测师考前拔高名师测验卷37(附答案解析)

上传人:公**** 文档编号:507498671 上传时间:2024-02-21 格式:DOCX 页数:9 大小:16.16KB
返回 下载 相关 举报
2022软件水平考试-中级软件评测师考前拔高名师测验卷37(附答案解析)_第1页
第1页 / 共9页
2022软件水平考试-中级软件评测师考前拔高名师测验卷37(附答案解析)_第2页
第2页 / 共9页
2022软件水平考试-中级软件评测师考前拔高名师测验卷37(附答案解析)_第3页
第3页 / 共9页
2022软件水平考试-中级软件评测师考前拔高名师测验卷37(附答案解析)_第4页
第4页 / 共9页
2022软件水平考试-中级软件评测师考前拔高名师测验卷37(附答案解析)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

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

1、2022软件水平考试-中级软件评测师考前拔高名师测验卷(附答案解析)1. 问答题:某高校开发了一套基于Web的教务管理系统,实现教务管理人员课程设置、学生选课和成绩查询、教师上传成绩以及特殊情况下教务处对成绩进行修改等功能。系统基于Java EE平台实现,采用表单(Form)实现用户数据的提交并与用户交互。系统要支持:7在特定时期内100个用户并发时,主要功能的处理能力至少要达到10个请求/秒,平均数据量8KB/请求;8用户可以通过不同的移动设备、操作系统和浏览器进行访问。简要叙述教务管理系统表单测试的主要测试内容。答案: 本题解析:表单测试是Web应用功能测试的重要内容,教务管理系统主要测试

2、如下内容:每个字段的验证;字段的缺省值;表单中的输入;提交操作的完整性。【解析】本题考查Web应用测试相关内容。Web应用测试除了类似传统软件系统测试性能测试、压力测试等之外,还需要测试链接、浏览器、表单和可用性等多个方面。1本问题考查表单测试的主要内容。表单是Web应用的重要组成部分,用于获取用户的信息并和用户进行交互。因此,表单测试是Web应用功能测试的重要内容,需要测试:首先检查每个字段的所有验证;检查字段的缺省值;表单中的错误输入;如果有创建、删除、查看和修改表单,要进行测试。2. 问答题:某软件公司为某银行设计开发了一套网上银行系统,该系统提供基本的支付、查询、转账和信息修改等功能。

3、银行对网上银行系统提出了初步的性能指标:(1)交易响应时间不超过2s(2)并发用户数=1000(3)CPU利用率不超过80%(4)系统需要7*24小时不间断的稳定运行(5)每秒事务数为7(6)交易成功率为100%现需要对该软件进行性能测试。【问题1】(4分)常见的性能测试包括负载测试、压力测试、并发性能测试、疲劳强度测试和大数据量测试等。针对题目中所述的6个性能指标,并发性能测试和疲劳强度测试所涉及的指标各有哪些【问题2】(6分)性能测试中,针对一个单独的性能指标,往往需要采用多种不同的测试方法。该软件公司需要测试性能指标(1)和(5),设计了如下的测试方案:测试常规情况下的并发用户数,逐步增

4、加并发用户数,分别测试:1. 在响应时间为2s时,系统所能承受的最大并发访问用户的数量;2. 系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)。请指出这两项测试分别属于哪种类型的测试,并分别解释这两种测试类型的基本概念。【问题3】(5分)在测试性能指标(5)时,该软件公司在客户端模拟大量并发用户来执行业务操作,统计平均的每秒事务数。该软件公司认为客户端接收响应信息与该性能指标的测试无关,因此在模拟客户端上发起正常业务申请,接收系统响应后直接丢弃响应信息,没有进行功能校验。请说明该软件公司的做法正确与否,并简要说明原因以及执行功能校验的副作用。答案: 本题解析:【问题1】属于并发

5、性能的指标应有(1)(2)(5)属于疲劳强度的指标应有:(4)【问题2】负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。因此本题中 1是属于负载测试,2是属于压力测试【问题3】(5)每秒事务数为7,本题的做法是等系统响应就丢弃没有执行功能验证,这种做法是不正确的:该软件公司在负载压力测试中没有进行功能校验,忽略了负载压力情况下的功能不稳定问题。没有正确的功能保证,负载压力性能测试就失去

6、了意义在测试过程中进行功能校验,需要记录业务操作结果,会导致资源消耗、操作行为增加以及产生大量日志等问题。3. 问答题:某软件公司为某银行设计开发了一套网上银行系统,该系统提供基本的支付、查询、转账和信息修改等功能。银行对网上银行系统提出了初步的性能指标:4交易响应时间不超过2s5并发用户数=10006CPU利用率不超过80%7系统需要7*24小时不间断的稳定运行8每秒事务数为79交易成功率为100%现需要对该软件进行性能测试。性能测试中,针对一个单独的性能指标,往往需要采用多种不同的测试方法。该软件公司需要测试性能指标(1)和(5),设计了如下的测试方案:测试常规情况下的并发用户数,逐步增加

7、并发用户数,分别测试:(1)在响应时间为2s时,系统所能承受的最大并发访问用户的数量:(2)系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)。请指出这两项测试分别属于哪种类型的测试,并分别解释这两种测试类型的基本概念。答案: 本题解析:第一种测试属于负载测试,第二种属于压力测试。负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。压力测试是通过逐步增加系统负载,测试系统性能变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统能提供的最大服务级别的测试。【解析】本问题考查负载测试和压力测试的区别。从

8、问题1的分析中可以看出,负载测试强调的是在满足性能指标的情况下,系统所能承受的最大负载量的测试,前提是系统正常工作;而压力测试则是要使得系统性能处于失效状态,即压力测试是为了发现在什么条件下系统的性能会变得不可接受。因此,通过对本问题描述的分析可以得出,在响应时间为2s时,系统所能承受的最大并发访问用户的数量属于负载测试,而系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)属于压力测试。4. 问答题:软件在机载设备中的运用越来越广泛,驻留于机载设备中的嵌入式软件失效会产生灾难性后果,一般要求其具有较高的可靠性,因此,软件可靠性测试对机载软件至关重要。解释软件可靠性的含义及影响软件

9、可靠性的主要因素。答案: 本题解析:软件可靠性是在规定的条件下,在规定的时间内,软件不引起系统失效的概率。影响软件可靠性的主要因素包括:运行剖面、软件规模、软件内部结构、软件的开发方法和开发环境、软件的可靠性投入等。【解析】本题考查软件可靠性知识与应用。软件可靠性(software reliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品所必须具备的功能。软件可靠性不但与软件

10、存在的缺陷和(或)差错有关,而且与系统输入和系统使用有关。软件可靠性的概率度量称软件可靠度。现代软件工程认为,质量形成于过程,过程的因素是影响软件可靠性的主要因素。从软件开发的角度,影响软件可靠性的因素有软件规模、运行剖面、软件内部结构、软件可靠性管理、软件可靠性测试与投入、软件可靠性设计技术、软件开发方法与软件开发环境等。一般地,软件规模越大,其可靠性问题就越多。失效概率是软件从运行开始到某一时刻t为止,出现失效的概率;可靠度是软件系统在规定的条件下,规定的时间内不发生失效的概率;平均无失效时间指软件运行后,到下一次出现失效的平均时间。软件可靠度R(t)与软件失效概率之间的关系为R(t)=1

11、-F(t),题目中t=1000,F(t)=0.0012,因此R(t)=1-0.0012=0.9988,显然不符合该嵌入式软件设计要求的0.9999无失效概率。5. 问答题:某高校开发了一套基于Web的教务管理系统,实现教务管理人员课程设置、学生选课和成绩查询、教师上传成绩以及特殊情况下教务处对成绩进行修改等功能。系统基于Java EE平台实现,采用表单(Form)实现用户数据的提交并与用户交互。系统要支持:7在特定时期内100个用户并发时,主要功能的处理能力至少要达到10个请求/秒,平均数据量8KB/请求;8用户可以通过不同的移动设备、操作系统和浏览器进行访问。系统实现时,对成绩更新所用的SQ

12、L语句如下:UPDATE StudentScore SET score=+intCTientSubmitScore+WHERE Stuent_ID=+strStudentID+;设计1个测试用例,以测试该SQL语句是否能防止SQL注入,并说明该语句是否能防止SQL注入,以及如何防止SQL注入。答案: 本题解析:设计如下测试:【注:设计类似如下用例的一个即可,其中包含SQL功能符号使SQL变为不符合设计意图即可,如包含,DROP等】。(1)intClientSubmitScore: 100 -, strStudentID: 20130002,则该SQL变为:UPDATE StudentScore

13、 SET score = 100 - WHERE Student_ID=20130002;(2)intClientSubmitScore: 100, strStudentID: 20130002;DROP TABLE StudentScore-,则该SQL语句变为:UPDATE StudentScore SET score=100 WHERE Student_ID=20130002; DROP TABLEStudentScore -;从测试用例所拼接处的SQL可以看出,该SQL语句不安全,容易造成SQL注入。防止SQL注入的方法主要有:拼接SQL之前对特殊符号进行转义,使其不作为SQL语句的功

14、能符号。【解析】本问题考查Web应用安全性方面的SQL注入,SQL注入是Web应用安全性测试的重要方面。许多Web应用系统采用某种数据库,接收用户从Web页面中输入,完成展示相关存储的数据(如检查用户登录信息)、将输入数据存储到数据库(如用户输入表单中数据域并点击提交后,系统将信息存入数据库)等操作。在有些情况下,将用户输入的数据和设计好的SQL框架拼接后提交给数据库执行,就可能存在用户输入的数据并非设计的正确格式,从而给恶意用户提供了破坏的机会。即SQL注入。恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除

15、应用的数据库表等严重后果。因此需要在测试阶段进行认真严格的测试。本系统实现时,对成绩更新所用的如下SQL语句:UPDATE StudentScore SET Score=+intClientSubmitScore+WHERE Stuent_ID=+strStudentID+;采用拼接字符串方式,无法防止SQL注入。例如intClientSubmitScore:100 -, strStudentID:20130002,则该SQL变为:UPDATE StudentScore SET score=100 - WHERE Stuent_ID=20130002;-是SQL中注释符号,其后的内容为注释,这样上述语句中一之后的内容变为注释,只要StudentScore表中所有的记录的score都变为100,而没有受到WHERE子句后的学号限制。再比如int

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

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

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