一、选择题

1软件测试的目的是( )。

A)试验性运行软件 B)发现软件错误 C)证明软件正确 D)找出软件中全部错误

2.为了提高软件测试的效率,应该(  )。

A)随机地选取测试数据              B)取一切可能的输入数据作为测试数据

C)在完成编码以后制定软件的测试计划D)选择发现错误可能性最大的数据作为测试用例

3.软件测试用例主要由输入数据和(   )两部分组成。

A)测试计划      B)测试规则    C)预期输出结果   D)以往测试记录分析

4.下列几种逻辑覆盖标准中,查错能力最强的是(  )。

A)语句覆盖   B)判定覆盖   C)条件覆盖   D)条件组合覆盖

5.在黑盒测试中,着重检查输入条件组合的方法是(   )。

A)等价类划分法   B)边界值分析法   C)错误推测法   D)因果图法

6.软件测试过程中的集成测试主要是为了发现(  )阶段的错误。

A)需求分析   B)概要设计   C)详细设计   D)编码

7.确认测试以(   )文档作为测试的基础。

A)需求规格说明书   B)设计说明书   C)源程序   D)开发计划

8.使用白盒测试方法时,确定测试数据应根据( A   )和指定的覆盖标准。

A)程序内部逻辑   B)程序的复杂度   C)使用说明书   D)程序的功能

9.下面说法正确的是(    )

A)经过测试没有发现错误说明程序正确          B)测试的目标是为了证明程序没有错误

C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试

10.发现错误能力最弱的是(    )

A)语句覆盖                     B)判定覆盖

C)条件覆盖                     D)路径覆盖

11.下面(    )方法能够有效地检测输入条件的各种组合可能引起的错误。

A)等价类划分               B)边界值分析

C)错误推测                     D)因果图

12.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的(C  )上。

A)配置项  B)程序    C)基线    D)过程

二、填空题

1.软件测试方法一般分为两大类:        方法和静态测试方法。

2.黑盒法只在软件的   接口  处进行测试,依据需求规格  说明书,检查程序是否满足功能  要求。

3.白盒测试是结构   测试,被测对象是源程序  ,以程序的  内部逻辑  为基础设计测试用例。

4.黑盒测试是                     测试,用黑盒技术设计测试用例有4种方法:                                     

5.边界值分析是将测试       情况作为重点目标,选取正好等于、刚刚大于或刚刚小于       的测试数据。如果输入或输出域是一个有序集合,则应选取集合的第一个元素和         元素作为测试用例。

6.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为          

7.软件测试一般经过4个测试: 单元测试 集成测试 确认测试   系统测试 

8.在单元测试中,需要为被测模块设计驱动模块和       模块。          用来模拟被测模块的上级调用模块,          用来代替被测模块所调用的模块。

9.集成测试指在          测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称        测试或联合测试。

10.确认测试在模拟环境下运用          测试方法,由专门测试人员和          参加的测试。

11.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个检查点 

三、问答题

1.什么是性能测试?性能测试包括哪些方面?什么是负载测试?什么是压力测试

负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。负载测试的加载方 式也有很多种,可以根据测试需要来选择。  

性能测试是为获取或验证系统性能指标而进行测试。多数情况下,性能测试会在不同负载情况下进行。  

压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。

性能测试包含:压力测试、负载测试、并发测试、可靠测试、失效恢复测试。


2.简述使用Loadrunner的步骤?LoadRunner由哪些部件组成?

脚本录制设置—录制脚本—调试脚本—场景设置—结果分析

Vugen、cotroller、analysis


3.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?

集合点:设置多个用户到达某个用户数量点集合,同时触发一个事务,以达到模拟真实环境下同时多个用户操作,同时模拟负载,实现性能测试的最终目的    LR_rendezvous(“集合点名称”)  


4.什么是关联?请解释一下自动关联和手动关联的不同?你在哪里设置自动关联选项?

关联:很多构架用sessionid等方法标识不同任务和数据,应用在每次运行时方式发送数据不完全相同,  

需要利用的机制对录制的脚本进行处理,这种机制叫做关联(服务端发送到客户端)

选项:1、设置允许录制时进行自动关联,可以自定义规则;2、录制完成后,vuser-scan action for correlations 


5、响应时间和吞吐量之间的关系是什么?

吞吐量图显示的是虚拟用户每秒钟从服务器接收到的字节数。当和响应时间比较时,可以发现随着吞吐量的降低,响应时间也降低,同样的,吞吐量的峰值和最大响应时间差不多在同时出现。


6、解释以下函数及他们的不同之处?

lr_debug_message发送调试信息到输出窗口或业务监控日志文件中

lr_output_message发送日志信息到输出窗口或业务监控日志文件中

lr_error_message发送错误信息到输出窗口或业务监控日志文件中

lrd_stmt赋予一个SQL语句用于处理

lrd_fetch获取结果集中的下一行数据


7、什么是think timethink_time有什么用?

思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。

通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。


8、谈谈你对MVC的理解?

VC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。

    MVC中的模型、视图、控制器它们分别担负着不同的任务。

    视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。

    模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性

    控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。

            然后根据处理的结果调用相应的视图来显示处理的结果。

    MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。


9、什么是WebService?请详细解释?

Webservice它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。


10、触发器的作用?什么是存储过程?

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。

存储过程定义: 
将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。
 


11、为管理业务培训信息,建立3个表

S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄

   C(C#,CN)C#,CN分别代表课程编号,课程名称

   SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩

1)使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?

2)要求是查询表A中存在ID重复三次以上的记录?

12、请简述软件测试工程师所需具备的素质

13.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。


14.为什么要创建参数?如何创建参数?  

  参数:在环境变化时必须时脚本具有环境变化的能力,就需要参数化(客户端发送到服务器端)  

  1.确定要参数话的数据    2.设定规则形式来取值  


15、你在VUGen中何时选择关闭日志?何时选择标准和扩展日志?    Run-time,log,  

  当调试脚本时,可以只输出错误日志,当在场景找你管加载脚本时,日志自动变为不可用。  

  Standard Log Option:选择标准日志时,就会在脚本执行过程中,生成函数的标准日志并且输出信息,供调试用。大型负载测试场景不用启用这个选项。  

扩展日志包括警告和其他信息。大型负载测试不要启用该选项。用扩展日志选项,可以指定哪些附加信息需要加到扩展日志中  


附LoadRunner性能测试基础知识问答

Q28.你如何识别性能瓶颈?

  A28:性能瓶颈分为:硬件瓶颈和软件瓶颈

  性能瓶颈可以通过监控器来分析发现,这些监控器包括应用服务器监控、web服务器监控、数据库服务器监控器和网络监控器;它们可以帮助分析导致响应时间增加的原因;性能度量一般包括响应时间、吞吐量、每秒点击率、网络延迟等等。

  Q29.如果web服务器、数据库以及网络都正常,问题会出在哪里?

  A29:问题可能出在系统本身或应用服务器、或为应用编写的代码编写中。

  Q30.如何发现web服务器的相关问题?

  A30:可以利用web资源监控器发现web服务器相关问题,在场景执行过程中,可以利用监控器分析web服务器吞吐量、每秒点击率、每秒HTTP响应数、每秒页面下载数,以及web服务器硬件资源使用情况等。

  Q31.如何发现数据库的相关问题?

  A31:可以通过数据库监控器和数据资源图发现数据库相关的问题,例如在运行Controller之前,可以指定需要度量的资源,之后可以根据监控的数据,分析数据库相关的问题。

  Q32.解释所有web录制配置?

  A32:选择录制协议、设置录制选项、选择浏览器、选择存放路径、开始录制。

  Q33.解释一下覆盖图和关联图的区别?

  A33:覆盖图:合并两个图的内容,使用同一个X轴,合并图左Y轴显示当前图的值,合并图右Y轴显示被合并图的值。

  关联图:当前活动图的Y轴变为合并图的X轴,被合并图的Y轴变成合并图的Y轴。

  Q34.你如何设计负载?标准是什么?

  A34:负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。主要基于两个重要的文档,任务分布图和事务信息,任务分布图告诉我们在负载时间段内,某一个事务使用的用户数,高峰使用率及低峰使用率均来自该文档;

  事务信息告诉我们事务名及优先级,在设计场景时可以参考。

  Q35.Vuser_init中包括什么内容?

  A35:Vuser_init中包含在脚本执行过程中只需执行一次的脚本。一般来说,所有需要初始化的都可以放在vuser_init里面,比如登录。

  Q36. Vuser_end中包括什么内容?

  A36:vuser_end中一般包含退出的过程,比如退出系统,主要在脚本执行完成或停止时运行,在设置了迭代次数时,vuser_end和vuser_int均只执行一次。

  Q37.什么是think time?think_time有什么用?

  A37:思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。

  通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。

  Q38.标准日志和扩展日志的区别是什么?

  A38:标准日志:脚本执行过程中,将函数集及信息发送到日志文件中

  扩展日志:可以将详细的脚本执行信息输出到日志文件中,可以选择以下三种扩展日志信息:

  ● 参数替换:脚本运行过程中,可以将参数及当前参数值输出到日志文件中

  ● 服务器返回的数据:将服务器返回给客户端的数据输出到日志文件中

  ● 高级跟踪:所有的虚拟用户信息和函数调用输出到日志文件中

  Q39.解释以下函数及他们的不同之处。

  A39:lr_debug_message:发送调试信息到输出窗口或业务监控日志文件中

  lr_output_message:发送日志信息到输出窗口或业务监控日志文件中

  lr_error_message:发送错误信息到输出窗口或业务监控日志文件中

  lrd_stmt:赋予一个SQL语句用于处理

  lrd_fetch:获取结果集中的下一行数据

  Q40.什么是吞吐量?

  A40:客户端每秒从服务器接收到的数据,或系统服务器每秒能处理通过的交易数。一般随着虚拟用户数的增加,吞吐量也增加,说明网络带宽比较充足,反之,吐过随着虚拟用户数的增加,吞吐量比较平稳,呈直线状态,则说明网络带宽成为瓶颈,限制了数据传输。

  Q41.场景设置有哪几种方法?

  A41:面向目标的场景设置和手动场景