2013下半年软件评测师考试真题及答案-下午卷.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2013下半年软件评测师考试真题及答案-下午卷.doc》由会员分享,可在线阅读,更多相关《2013下半年软件评测师考试真题及答案-下午卷.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2013下半年软件评测师考试真题及答案-下午卷试题一【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。int XOR(char * filename, unsigned long key)FILE * input = NULL,*output = NULL; /1char * outfilename = NULL;int len = strlen(filename);unsigned char buffer;if( (filenamelen-2 = .) & (filenamelen-l = c) /2,3o
2、utfilename = new charlen+l; /4strcpy(outfilename,filename); outfilenamelen-2 = 0;else /5 outfilename = new charlen+5;strcpy(outfilename , filename);strncat(outfilename,”.c”,2);input = fopen(filename,”rb”);if( input = NULL)/6coutError opening file filename endl ; /7delete outfilename;outfilename = NU
3、LL;return 1;output = fopen(outfilename,”wbf”);if( output = NULL) /8cout Error creating output file ” outfilename =1000(3)CPU利用率不超过80%(4)系统需要7*24小时不间断的稳定运行(5)每秒事务数为7(6)交易成功率为100%现需要对该软件进行性能测试。【问题1】(4分)常见的性能测试包括负载测试、压力测试、并发性能测试、疲劳强度测试和大数据量测试等。针对题目中所述的6个性能指标,并发性能测试和疲劳强度测试所涉及的指标各有哪些?【问题2】性能测试中,针对一个单独的性能
4、指标,往往需要采用多种不同的测试方法。该软件公司需要测试性能指标(1)和(5),设计了如下的测试方案:测试常规情况下的并发用户数,逐步增加并发用户数,分别测试:(1)在响应时间为2s时,系统所能承受的最大并发访问用户的数量;(2)系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)。请指出这两项测试分别属于哪种类型的测试,并分别解释这两种测试类型的基本概念。 【问题3】在测试性能指标(5)时,该软件公司在客户端模拟大量并发用户来执行业务操作,统计平均的每秒事务数。该软件公司认为客户端接收响应信息与该性能指标的测试无关,因此在模拟客户端上发起正常业务申请,接收系统响应后直接丢弃响应信
5、息,没有进行功能校验。请说明该软件公司的做法正确与否,并简要说明原因以及执行功能校验的副作用。答案:【问题1】并发性能测试涉及的指标有(1)、(2)、(5)疲劳强度测试涉及的指标有(4)【问题2】第一种测试属于负载测试,第二种属于压力测试。负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。压力测试是通过逐步增加系统负载,测试系统性能变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统能提供的最大服务级别的测试。【问题3】该软件公司的做法是错误的。该软件公司在负载压力测试中没有进行功能校验,忽略了负载压力情况下的
6、功能不稳定问题。没有正确的功能保证,负载压力性能测试就失去了意义。在测试过程中进行功能校验,需要记录业务操作结果,会导致资源消耗、操作行为增加以及产生大量日志等问题。解析:【问题1】本题主要考查负载压力测试相关知识及应用。负载压力测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量等,以确定系统所能承受的最大负载压力。负载压力测试是性能测试的重要组成部分,包括负载测试、压力测试、并发性能测试、疲劳强度测试、大数据量测试等内容。本问题考查负载压力测试的基本概念。负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量所进行的
7、测试。压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,以此来获得系统能提供的最大服务级别的测试。所以说,压力测试是一种特定类型的负载测试。并发性能测试,包含了负载测试和压力测试。通过逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、系统资源监控指标来确定系统并发性能。并发性能测试是负载压力测试中的重要内容。疲劳强度测试,通常是采用系统稳定运行情况下能够支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标、系统资源监控指标,确定系统处理最
8、大工作量强度1生能的过程。一般情况下利用疲劳强度测试老模拟系统日常业务操作。大数据量测试,包括独立的数据量测试和综合数据量测试。独立的数据量测试是针对某些系统存储、传输、统计、査询等业务进行的大数据量测试;综合数据量测试是指和压力测试、负载性能测试、疲劳强度测试相结合的综合测试。从题干列举的6种性能指标看,根据各类测试的定义,可以得出(1)、(2)、(5)属于并发性能测试,(4)属于疲劳强度测试。(3)属于一种系统资源监控的指标,而(6)的定义不明确,因为交易成功率取决多种因素,包括业务数据、用户请求数据、基础软件、网络环境等等。【问题2】本问题考查负载测试和压力测试的区别。从问题1的分析中可
9、以看出,负载测试强调的是在满足性能指标的情况下,系统所能承受的最大负载量的测试,前提是系统正常工作;而压力测试则是要使得系统性能处于失效状态,即压力测试是为了发现在什么条件下系统的性能会变得不可接受。因此,通过对本问题描述的分析可以得出,“在响应时间为2s时,系统所能承受的最大并发访问用户的数量”属于负载测试,而“系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)”属于压力测试。【问题3】本问题考查负载压力测试中的功能内容校验。负载压力测试中的功能内容校验,指的是在进行负载压力测试时,需要核查功能的执行是否正常,在功能异常或错误时,需要记录所产生的错误。如果没有幻能执行结果正确的
10、保证,负载压力性能测试失去了意义。对本为题而言,如果不能保证业务操作的正确,则平均每秒事务数的指标是不正确的。执行功能内容校验也会带来一些副作用,包括资源消耗、操作行为增加,以及产生大量日志等问题。试题三【说明】某高校开发了一套基于Web的教务管理系统,实现教务管理人员课程设置、学生选课和成绩查询、教师上传成绩以及特殊情况下教务处对成绩进行修改等功能。系统基于JavaEE平台实现,采用表单(Form)实现用户数据的提交并与用户交互。系统要支持:(1)在特定时期内100个用户并发时,主要功能的处理能力至少要达到10个请求/秒,平均数据量8KB/请求;(2)用户可以通过不同的移动设备、操作系统和浏
11、览器进行访问。 【问题1】(4分)简要叙述教务管理系统表单测试的主要测试内容。【问题2】(5分)简要叙述为了达到系统要支持的(2),需要进行哪些兼容性测试,并设计一个兼容性测试矩阵。【问题3】(5分)在满足系统要支持的(1)时,计算系统的通信吞吐量。【问题4】(6分)系统实现时,对成绩更新所用的SQL语句如下:“UPDATE StudentScore SET score = ” + intClientSubmitScore + “ WHERE Stuent_ID=+strStudentID + “;”设计1个测试用例,以测试该SQL语句是否能防止SQL注入,并说明该语句是否能防止SQL注入,以
12、及如何防止SQL注入。答案:【问题1】表单测试是Web应用功能测试的重要内容,教务管理系统主要测试如下内容:每个字段的验证;字段的缺省值;表单中的输入;提交操作的完整性。【问题2】浏览器兼容性测试、操作系统兼容性测试、移动终端浏览测试、打印测试等。在设置的兼容性测试矩阵肯定要包含平台和浏览器的内容,矩阵的行可以是不同的平台,而列是不同的浏览器,同时平台和浏览器都是合理的,还要提醒出移动的元素在里面即可。游览器平台游览器1游览器2游览器n平台1平台n【问题3】通信吞吐量:P=N(并发用户的数量=100)T(每单位时间的在线事务数量=10)D(事务服务器每次处理的数据负载=8KB/s)=10010
13、8=8000KB/s。【问题4】设计如下测试:【注:设计类似如下用例的一个即可,其中包含SQL功能符号使SQL变为不符合设计意图即可,如包含,DROP等】。(1)intClientSubmitScore:100-,strStudentID:20130002,则该SQL变为:UPDATE StudentScore SET score = 100 WHERE Student_ID=20130002(2)intClientSubmitScore:100,strStudentID:20130002;DROP TABLE StudentScore -则该SQL语句变为:从测试用例所拼接处的SQL可以看出
14、,该SQL语句不安全,容易造成SQL注入。防止SQL注入的方法主要有:拼接SQL之前对特殊符号进行转义,使其不作为SQL语句的功能符号。UPDATE StudentScore SET score = 100 WHERE Student_ID=20130002;DROP TABLE StudentScore ;解析:【问题1】本题考查Web应用测试相关内容。Web应用测试除了类似传统软件系统测试性能测试、压力测试等之外,还需要测试链接、浏览器、表单和可用性等多个方面。本问题考查表单测试的主要内容。表单是Web应用的重要组成部分,用于获取用户的信息并和用户进行交互。因此,表单测试是Web应用功能测
15、试的重要内容,需要测试:首先检查每个字段的所有验证;检查字段的缺省值;表单中的错误输入;如果有创建、删除、查看和修改表单,要进行测试。【问题2】本问题考查Web应用兼容性测试的内容。Web应用的兼容性是测试工作的重要方面,包括:浏览器兼容性、操作系统平台兼容性、移动浏览、打印选项等。本系统用户可以通过不同的移动设备、操作系统和浏览器进行访问,因此需要针对普通设备和移动设备,进行操作系统平台和浏览器的兼容性测试。【问题3】本问题考查Web应用系统的性能指标计算。通信吞吐量,设定如下指标参数:N:并发用户的数量;T:每单位时间的在线事务数量;D:事务服务器每次处理的数据负载;P:系统的通信吞吐量。
16、有如下计算公式:P=NTD本题中系统要求支持的(1)中给出100个用户并发,即N=100;主要功能的处理能力至少要达到10个请求/秒,即T=10;平均数据量8KB/请求,即D=10KB/s。则:通信吞吐量P=100108=8000KB/S【问题4】本问题考查Web应用安全性方面的SQL注入,SQL注入是Web应用安全性测试的重要方面。许多Web应用系统采用某种数据库,接收用户从Web页面中输入,完成展示相关存储的数据(如检查用户登录信息)、将输入数据存储到数据库(如用户输入表单中数据域并点击提交后,系统将信息存入数据库)等操作。在有些情况下,将用户输入的数据和设计好的SQL框架拼接后提交给数据
17、库执行,就可能存在用户输入的数据并非设计的正确格式,从而给恶意用户提供了破坏的机会。即SQL注入。恶意用户输入不期望的数据,拼接后提交给数据库执行,造成可能使用其他用户身份、查看其他用户的私密信息,还可能修改数据库的结构,甚至是删除应用的数据库表等严重后果。因此需要在测试阶段进行认真严格的测试。本系统实现时,对成绩更新所用的如下SQL语句:“UPDATE StudentScore SET score = “ + intClientSubmitScore + ”WHERE Student_ID=” + strStudentID + “;”采用拼接字符串方式,无法防止SQL注入。例如intClie
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2013 下半年 软件 评测 考试 答案 下午
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内