LoadRunner由 Analysis 、 Controller 、 Virtual User Generator
  三大模块组成,功能分别为 录制脚本 、 创建运行及监视场景 、 分析测试结果 。
  在用LoadRunner进行性能测试过程中Run-Time Setting的超时设置常用的有 HTTP-request connect timeout(sec) 、 HTTP-request receive timeout(sec) 、 Step download timeout三种 。
  客户交付一个性能测试项目,请阐述你的实施流程。
  答案:
  测试设计阶段:
  1)了解被测系统的性能 需求 ,定义测试目标和范围;
  2)了解系统的技术信息,如系统架构等;
  3)确定测试方案、进度安排,并制定测试计划,场景设置方案,及需要收集的测试数据;
  4)同相关人员协商讨论测试方案;
  5)准备数据收集模板;不同项目的性能测试,需要收集的数据不同;针对性的制定一个模板,更符合需要;
  测试环境准备:
  1)技术准备;选择性能测试工具;测试方案中涉及到的技术问题;测试数据的收集方案实现;如:如何监控系统资源等;
  2)搭建测试环境;
  3)创建初始数据;如虚拟用户使用的账号等;
  测试执行阶段:
  1)录制脚本;
  2)调试脚本;
  3)执行场景;
  4)收集测试数据,并简单整理;
  测试分析阶段:
  1)分析测试数据;
  提交测试报告 。
  解释5个常用的性能指标的名称与具体含义
  答案:
  并发:所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作。
  在线:所有用户在一段时间内对系统执行操作。
  请求响应时间
  从client端发出请求到得到响应的整个时间;
  包括:client端响应时间+网络响应时间+Server端响应时间。
  事务请求响应时间
  完成相应事务所用的时间;这个是性能测试中重点关注的指标。
  TPS(Transaction Per Second)
  每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。
  点击率(Hit Per Second)
  每秒发送的HTTP请求的数量;点击率越大对Server的压力越大
  资源利用率
  对不同资源的使用程度,如CPU,I/O,内存,……
  写出5个Loadrunner中常用函数,并对其中2个举例说明用法。
  答案:
  字符串复制
  strcpy(str,”Hello “) ;
  字符串连接
  strcat(str,”World !”);
  lr_message(“str: %s”,str);
  sprintf(s, “%s love %s.”, “I”, “ocean”); //产生:”I love ocean. ”
  变量转为参数,将变量str的值存到参数Param中
  lr_save_string(str,”Param”);
  参数复制
  lr_save_string(lr_eval_string(“{Param}”),”Param_1″);
  参数转为变量
  strcpy(str1,lr_eval_string(“{Param_1}”));
  简述LoadRunner的工作原理?
  答案: loadrunner会自动监控指定的URL或应用程序所发出的请求及服务器返回的响应,它做为一个第三方(Agent)监视客户端与服务器端的所有对话,然后把这些对话记录下来,生成脚本,再次运行时模拟客户端发出的请求,捕获服务器端的响应。
  LaodRunner脚本中action()和init、end()除了迭代的区别还有其他吗?
  答案: 集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点。action()和init、end()都可以插入事务点。
  什么是集合点?设置集合点有什么意义?LoadRunner中设置集合点的函数是哪个?
  答案: 集合点:是一个并发访问的点,例如在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在LoadRunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,LoadRunner 会检查同时有多少用户运行到集合点,如果不到1000 人,LoadRunner 会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,LoadRunner 命令1000 人同时去提交数据,并发访问的目的。
  注意:集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到Action 部分,vuser_init和vuser_end 中不能插入集合点。集合点函数如下:lr_rendezvous(“SubmitData”)
  录制Web脚本时,生成的脚本中存在乱码该如何解决?
  答案 : 录制脚本前,打开录制选项配置对话框Record-Options,进入到Advanced标签,先勾选”Support charset”,然后选择中支持UTF-8再次录制,不会出现中文乱码问题了。
  HTML-based script与URL-based script的脚本有什么区别?
  答案: 使用”HTML-based script”的模式录制脚本,VuGen为用户的每个HTML操作生成单独的步骤,这种脚本看上去比较直观;使用”URL-based script”模式录制脚本时,VuGen可以捕获所有作为用户操作结果而发送到服务器的HTTP请求,然后为用户的每个请求分别生成对应方法。
  通常,基于浏览器的Web应用会使用”HTML-based script”模式来录制脚本;而没有基于浏览器的Web应用、Web应用中包含了与服务器进行交互的Java Applet、基于浏览器的应用中包含了向服务器进行通信的JavaScript/VBScript代码、基于浏览器的应用中使用了HTTPS安全协议,这时使用”URL-based script”模式进行录制。
  使用LoadRunner进行综合场景测试,如何设置能够使被测系统所受压力减轻,请分别加以说明。
  答案: 若使被测系统所受压力减轻,可从如下方面进行综合调解:
  将测试脚本中think time值加大并在控制台中按比例实现,此处think time指在transaction外部的时间;
  Controller中Run-Time Setting的Pacing设置值加大;
  虚拟用户登录时使用递增策略,间隔稍长。