软件性能测试模拟笔试题目(一)
注:本试卷中题目所涉及性能测试工具如无特殊说明则均为loadrunner。
一、 简答题(2*10=20分)
1. 客户交付一个性能测试项目,请阐述你的实施流程。
答案:测试设计阶段:
1)了解被测系统的性能需求,定义测试目标和范围;
2)了解系统的技术信息,如系统架构等;
3)确定测试方案、进度安排,并制定测试计划,场景设置方案,及需要收集的测试数据;
4)同相关人员协商讨论测试方案;
5)准备数据收集模板;不同项目的性能测试,需要收集的数据不同;针对性的制定一个模板,更符合需要;
测试环境准备:
1)技术准备;选择性能测试工具;测试方案中涉及到的技术问题;测试数据的收集方案实现;如:如何监控系统资源等;
2)搭建测试环境;
3)创建初始数据;如虚拟用户使用的账号等;
测试执行阶段:
1)录制脚本;
2)调试脚本;
3)执行场景;
4)收集测试数据,并简单整理;
测试分析阶段:
1)分析测试数据;
提交测试报告。
2. 解释5个常用的性能指标的名称与具体含义。
答案: 并发:所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作。
**:所有用户在一段时间内对系统执行操作。
请求响应时间
从client端发出请求到得到响应的整个时间;
包括:client端响应时间+网络响应时间+server端响应时间。
事务请求响应时间。
完成相应事务所用的时间;这个是性能测试中重点关注的指标。
tps(transaction per second)
每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。tps是loadrunner中重要的性能参数指标。
点击率(hit per second)
每秒发送的http请求的数量;点击率越大对server的压力越大。
资源利用率。
对不同资源的使用程度,如cpu,i/o,内存,……
3. 写出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_s**e_string(str,"param");
参数复制。lr_s**e_string(lr_eval_string(""param_1");
参数转为变量。
strcpy(str1,lr_eval_string(""
4. 简述loadrunner的工作原理?
答案:loadrunner会自动监控指定的url或应用程序所发出的请求及服务器返回的响应,它做为一个第三方(agent)监视客户端与服务器端的所有对话,然后把这些对话记录下来,生成脚本,再次运行时模拟客户端发出的请求,捕获服务器端的响应。
5. 什么是集合点?设置集合点有什么意义?loadrunner中设置集合点的函数是哪个?
答案:集合点:是一个并发访问的点,例如在测试计划中,可能会要求系统能够承受1000 人同时提交数据,在loadrunner 中可以通过在提交数据操作前面加入集合点,这样当虚拟用户运行到提交数据的集合点时,loadrunner 就会检查同时有多少用户运行到集合点,如果不到1000 人,loadrunner 就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000 人时,loadrunner 命令1000 人同时去提交数据,并发访问的目的。
注意:集合点经常和事务结合起来使用,常放在事务的前面,集合点只能插入到action 部分,vuser_init和vuser_end 中不能插入集合点。集合点函数如下:
lr_rendezvous(“submitdata”)
6. html-based script与url-based script的脚本有什么区别?
答案:使用“html-based script”的模式录制脚本,vugen为用户的每个html操作生成单独的步骤,这种脚本看上去比较直观;使用“url-based script”模式录制脚本时,vugen可以捕获所有作为用户操作结果而发送到服务器的http请求,然后为用户的每个请求分别生成对应方法。
通常,基于浏览器的web应用会使用“html-based script”模式来录制脚本;而没有基于浏览器的web应用、web应用中包含了与服务器进行交互的j**a applet、基于浏览器的应用中包含了向服务器进行通信的j**ascript/vbscript**、基于浏览器的应用中使用了https安全协议,这时使用“url-based script”模式进行录制。
7. 如何设置laodrunner才能让集合点只对一半的用户生效?
答案:在loadrunner中,进入controller->scenario->rendezvous …-policy,系统弹出policy对话框。在该对话框中可以设定集合点执行的策略。
第一项:表示当所有用户数的x%到达集合点时,开始释放等待的用户并继续执行场景。
第二项:表示当前正在运行用户数的x%到达集合点时,开始释放等待的用户并继续执行场景。
第三项:表示当x个用户到达集合点时,开始释放等待的用户并继续执行场景。
其中还有一项timeout between vusers,就30秒来说,当第一个用户到达集合点后,再等待30秒,如果在30秒内到达的用户数达到指定的数量,就开始继续执行场景。如果在30秒内还没有达到指定的用户数量,就不再等待,开始释放等待的用户并继续执行场景。
由上可知,将第一项用户数设置成50%可。
8. loadrunner的controller组件中pacing参数的作用是什么?
答案: 设置loadrunner中事务(trsaction)在每次循环中的间隔时间,系统可以利用该间隔时间进行相应事务的结束收尾工作的处理。加大pacing参数,可使系统压力减小。
9. loadrunner中如何监控windows资源?
答案:进入被监视windows系统,开启以下二个服务:remote procedure call(rpc)和remote registry service;在controller 中,windows resources窗口中右击鼠标选择add measurements,添加被监控windows的ip地址,选择所属系统,然后选择需要监控的指标就可以开始监控。
10. 如果让qaload模拟loadrunner中只对关注的性能点进行迭代测试,你有什么好方法?
答案:可以将qaload脚本中关注的事务点写成一个循环,如果进行长时间的综合场景测试,则可将其写成一个永真循环,如while (1) ,则对关注的性能点进行循环,而脚本其他**不会进行循环。
11. 什么是负载测试?
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量。
12. 什么是性能测试?
性能测试:指在一定的约束条件下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负载压力。
13. 说明负载测试过程?
第一步:计划测试。在这里,我们需开发一个明确定义的测试计划,以确保该测试方案能完成负载测试目标。
第二步:创建虚拟用户。创建的脚本需要包含单个虚拟用户需要执行的操作、多个虚拟用户作为一个整体要执行的操作、以及能够作为事务来度量的操作。
第三步:创建场景。一个场景描述了在一个测试会话中发生的事件。
它包含了当场景中运行时的机器、脚本和虚拟用户。我们使用loadrunner中的controller创建场景。我们可以创建手动场景也可以创建基于目标的场景。
在手动场景中,我们定义虚拟用户的数量、负载生成器、被分配到每个脚本中虚拟用户的百分比。对于web测试,我们创建基于目标的场景,其中目标即测试过程中要达成的性能目标。loadrunner会由此自动为我们创建一个场景。
第四步:运行场景。我们通过配置多个虚拟用户同时执行任务来模拟对服务器加压。
在测试之前,我们设置场景的配置和计划安排。我们可以运行整个场景、一组虚拟用户或单个虚拟用户。第五步:
监控场景。我们使用loadrunner联机运行来监测场景执行、事务系统资源,web资源,web服务器资源,web应用服务器资源,数据库服务器资源,网络延迟,流**资源,防火墙服务器资源,erp服务器资源,j**a性能监视器。第六步:
分析测试结果。在场景执行时,loadrunner记录了应用软件在不同负载下的性能。我们可以使用loadrunner的图表和报告来分析应用软件的性能。
14. 我们什么时候做负载和性能测试?
我们一旦完成界面(gui)测试,我们就可以执行负载测试。现代的软件系统架构庞大而复杂的。而单用户测试主要是侧重于系统组件的功能和用户界面的测试,应用测试侧重于整个系统的性能和可靠性。
例如,一个典型的应用测试场景,描绘了1000个用户,同时登录到系统。这就产生了问题,如系统的响应时间是多少,它会崩溃么;是否兼容不同的应用软件和系统平台;它是否可以支撑成千上万的用户等,这时我们就需要做负载和性能测试。
15. 什么是loadrunner的组件?
loadrunner的组件有虚拟用户生成器,控制器、**程序、loadrunner的分析器和监控器,loadrunner**帮助。
16. 你用loadrunner的哪个组件录制脚本?
虚拟用户生成器(vugen)可以用来录制脚本。它通过多种应用程序类型和通讯协议来确保你开发一个vuser脚本。
17. 在多用户模式下你用loadrunnner的哪个组件来回放脚本?
虚拟用户生成器(vugen)可以用来录制脚本。它通过多种应用程序类型和通讯协议来确保你开发一个vuser脚本。
18. 在多用户模式下你用loadrunnner的哪个组件来回放脚本?
controller组件可以用来在多用户模式下回放脚本。这个过程可以在一组虚拟用户以组的形式执行脚本的场景中运行时完成。
19. 什么是场景。
场景定义了发生在每个测试会话中的事件。例如,一个场景定义和控制了要加载的虚拟用户的数量,要被执行的动作,虚拟用户模拟压力时的机器。
20. 解释web vuser脚本的录制模式。
我们使用vugen通过记录一个用户在客户端执行典型的业务流程来开发一个vuser脚本。vugen通过记录客户端和服务器之间的交互来创建脚本。例如,基于web的应用程序,vugen监测客户端直到数据库,跟踪所有发送出的请求,再从数据库服务器接收。
我们使用vugen:监测应用程序和服务器的交互;使形成函数调用;插入生成的函数调用到一个vuser脚本中。
性能测试工程师的面试题
1.什么是负载测试?什么是性能测试?2.性能测试包含了哪些测试 至少举出3种 3.简述性能测试的步骤。4.简述使用loadrunner的步骤。5.什么时候可以开始执行性能测试?由哪些部件组成?7.你使用loadrunner的哪个部件来录制脚本?的哪个部件可以模拟多用户并发下回放脚本?9.什么是集合点...
实用的面试题目
结构化面试。2010年浙江省公 面试真题答案及解析精选。中公教育作者 中公教育研发团队时间 2011 04 11 背景材料 我省是多山省份,也是个海洋大省。浙江今后的发展空间往 拓展?发展山区经济 海洋经济,建设 山上浙江 海上浙江 山海经济 相互优势互补,无疑能够帮助我省拓展发展空间,是实现我省可...
面试题集锦
1.在大学期间最能体现你组织能力的事情。1 组织 交换空间 活动,前期准备工作 进行时 后期工作和总结。2 实习班主任,组织学生校运会的前期准备工作,班会组织。2.最近看过的一本书,有什么收获,哪些知识需要补充。经济和金融的书。3.自己有什么缺点,怎么去改正?任务很多的时候,过于追求效率会忽略细节或...