• 性能测试人员面试经典技术问题


    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。
    10.在LoadRunner中如何编写自定义函数?请给出一个您在以前项目中编写的函数。
    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.平时大家在注册邮箱等关联操作时,经常会遇到需要输入验证码的情况,请问,如果我们公司也开发了一套带验证码的应用软件,需要警醒性能测试,您会如何处理?
    留一个后门,我们设定一个所谓的“万能验证码”,只要用户输入这个“万能验证码”,系统就验证通过。测试完成后补上后门。

  • 相关阅读:
    7.服务器上用命令ffprobe看流质量
    filebeat记录
    Dubbo 一篇文章就够了:从入门到实战
    c/c++系列的运算符优先级总结
    动态单链表的传统存储方式和10种常见操作-C语言实现
    代码的规范化—高质量程序的结构(一)
    动态分配的顺序线性表的十五种操作—C语言实现
    IOS开发初步
    大数据方面一个博客
    Task not found in root project
  • 原文地址:https://www.cnblogs.com/ITwangy/p/1675518.html
Copyright © 2020-2023  润新知