测试人员面试经典问题(转)
1.请问什么是性能测试、负载测试、压力测试?性能测试:对一个软件系统而言,包括执行效率、资源占用、系统稳定性、安全性兼容性、可扩展性等。
负载测试:通过逐步加压的方式来确定系统的处理能力,确定系统能承受的各项阀值。
压力测试:逐步增加负载,使系统某些资源达到饱和甚至失效的测试。
2.请分别针对性能测试、负载测试和压力测试试举一个简单的例子?
性能测试例子:公司开发了一个小型项目管理系统,上线前需要做负载、压力、大数据量、强度测试等。
负载测试:逐步加压,从而得到“响应时间不超过10秒”,“服务器平均CpU利用率低于85%”等指标阀值。
压力测试:逐步加压,从而使“响应时间超过10秒”,“服务器平均CpU利用率高于90%”等指标来确定系统能承受的最大负载量。
3.请例举出常用的'性能测试工具,并指出这些工具的优缺点?
LoadRunner,录制脚本快捷操作简便,需要一定的学习时间,有采购成本。
4.请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?
在查看需求文档,从中提取性能测试需求,与用户交流,了解实际使用情况。
结合业务信息设计操作场景总结出需测试的性能关键指标。
执行用例后根据提取关键性能指标来分析是否满足性能需求。
5.什么时候可以开始执行性能测试?
在产品相对比较稳定,功能测试结束后。灵活性比较强。
6.什么是集合点?设置集合点有什么意义?LoadRunner中设置集合点的函数是哪个?
集合点可以控制各个Vuser以便在同一时刻执行任务。
借助集合点,可以再LoadRunner中实现真正意义上的并发。
lr_rendezvous()
7.性能测试时,是不是必须进行参数化?为什么要创建参数?LoadRunner中如何创建参数?
8是。
模拟用户真实的业务操作。
创建参数列表,用参数替换固定的文本。
8.您了解关联吗?如何找出哪里需要关联?请给一些您所在项目的实例。
了解。
使用LoadRunner自动关联功能。手动关联:录制两份相同操作步骤的脚本,找出不同的部分进行判断。
一个项目管理系统,每次登录后服务器都自动分配一个sessionID以便之后每次表单提交后验证。
9.您如何调试LoadRunner脚本?
设置断点、增加log。
11.请问您是如何理解LoadRunner中集合点、事务以及检查点等概念?
集合点:可以控制各个Vuser以便在同一时刻执行任务,可实现真正意义上的并发。
事务:事务是用来度量服务器响应时间的操作集。
检查点:在回放脚本期间搜索特定内容,从而验证服务器响应内容的正确性。
12.如何应用LoadRunner进行性能测试?
使用虚拟用户生成器创建脚本,使用控制器设定场景、运行脚本,使用分析器分析运行后得到的数据。
13.LoadRunner中思考时间有什么作用?
用户执行两个连续操作期间等待的时间。模拟用户真实的使用情况。
14.LoadRunner中如何实现多用户并发操作,需要进行哪些设置?
设置集合点来实现,在脚本中加入lr_rendezvous(),然后可以在控制器中设定集结百分比。
15.LoadRunner中有基于目标和手动两种场景设计方式,他们分别适用于什么情况?
手动场景可按照要求来配置场景,能够更加精确的满足测试需要。
目标场景要先制定希望实现的测试目标,然后由控制器惊醒自动测试评估。
16.LoadRunner中有几种并发执行策略,它们的含义是什么?
三种。1.当所有虚拟用户中的x%到达集合点时释放。2.当所有正在运行的虚拟用户中的x%到达集合点时释放。3.当x个虚拟用户到达集合点时释放。
17.有5台配置为处理器:Intel pentium 4 1.6G,内存容量 512MB,硬盘容量 40GB的机器,如何较好的利用这些机器完成一次并发用户数为1000人的性能测试工作?
1台做应用服务器,1台做数据库服务器,1台运行控制器并承担一部分负载生成任务,2台负载生成器。
18.平时大家在注册邮箱等关联操作时,经常会遇到需要输入验证码的情况,请问,如果我们公司也开发了一套带验证码的应用软件,需要警醒性能测试,您会如何处理?
留一个后门,我们设定一个所谓的“万能验证码”,只要用户输入这个“万能验证码”,系统就验证通过。测试完成后补上后门。