2023最新性能测试八股文【附答案】,软测人必备!

news2024/11/26 1:29:41

1. 请描述什么是性能测试、什么是负载测试、什么是压力测试?
【参考答案】
性能测试:性能测试是和功能测试相对应的。根据用户场景进行的单个用户操作,是属于功能测试领域,主要是验证软件是否可以满足用户的功能需求。比如,单个用户使用系统,系统各项功能是否满足用户的需求。

如果把这1个用户的操作放大,变为100个,1000个,10000个用户同时操作软件,验证软件系统是否满足用户的需求。那么这个就是软件性能测试。通常使用性能测试工具对软件开展并发的访问,同时监控系统各项指标,比如CPU、内存、网络、磁盘等关键部件的使用情况。目标是发现软件在大用户量的情况下,系统的工作情况。性能测试是负载测试、压力测试、并发测试的统称。

负载测试:通过逐步加压的方式来确定系统的处理能力,确定系统能承受的各项阀值。

压力测试:逐步增加负载,使系统某些资源达到饱、极限甚至失效的测试。目的是用来发现系统的软件业务处理能力、系统硬件的极限处理能力等。

2. 公司中常用的性能测试工具有哪些,他们各自的特点是什么?
【参考答案】
公司中常用的工具有LoadRunner、Jmeter、Seagull等。其中LR是商用收费软件,费用比较高,很多小公司很难承受。LR功能强大,支持的协议广泛,拥有强大的录制功能。

Jmeter是开源免费项目,互联网公司用的较多,支持二次开发。支持添加控件进行扩展,目前在企业中应用广泛。

Seagull,在通讯领域中协议测试用的较多,是一款免费的工具,广泛用于Sip协议、Http协议、Diameter协议的系统的性能测试。

3. 请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?
【参考答案】
从需求文档中提取性能测试需求,与用户交流,了解实际使用情况。

结合业务信息设计操作场景总结出需测试的性能关键指标。执行用例后根据提取关键性能指标来分析是否满足性能需求。

4. 请问你是在什么时候开始开展性能测试的?
【参考答案】
通常在产品相对比较稳定,主要功能开发完成,功能测试后期的时候,开展性能测试。

5. 请问性能测试中碰到网页中有验证码的时候,如何编写性能测试脚本绕开验证码?
【参考答案】
常见的方法有两种:第一种是临时让开发人员去掉验证码。第二种是让开发人员在后台预设一个固定的验证码,性能脚本中每一次都使用这个固定的验证码。

6. 性能测试中遇到哪些性能问题?
响应时间过长;内存溢出;cpu利用率过高

7. 概述一下性能测试流程?
分析性能需求。挑选用户使用最频繁的场景来测试。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下

制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具

编写测试用例

搭建测试环境,准备好测试数据

编写性能测试脚本

性能测试脚本调优(脚本增强)。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本

设计测试场景,运行测试脚本,监控服务器

分析测试结果,收集相关的日志提单给开发

回归性能测试

编写测试报告

8. 如何确定系统最大负载?
通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数

9. 你们系统哪些地方(哪些功能)做了性能测试?
选用了用户使用最频繁的功能来做测试,比如:登陆,搜索,提交订单

10. 你们的并发用户数是怎么确定的?
1)会先上线一段时间,根据收集到的用户访问数据进行预估

2)根据需求来确定(使用高峰时间段,注册用户数,单次响应时间等

11. 你们性能测试在什么环境执行?
参考答案:我们会搭建一套独立的性能测试环境进行测试

12. 你们性能测试什么时间执行?
基准测试:功能测试之后,系统比较稳定的时候再做。

负载测试:夜深人静,系统没人用的时候

13. 如何判断系统的性能是变好了还是变坏了
通过基准测试对比性能指标

14. 你们的性能测试需求哪里来?
1:客户提供需求

2:运维提供需求(负责服务器的稳定性)

3:开发提供需求

15. 如何实现200用户的并发?
在脚本对应的请求后添加集合点(绝对并发)

相对并发:线程组设置200线程数

16. 什么情况下要做关联,关联是怎么做的?
当脚本的上下文有联系,就用关联。

比如登录的token关联,增删改查主键id关联

17. 有验证码的功能,怎么做性能测试?
1、将验证码暂时屏蔽,完成性能测试后,再恢复

2、使用万能的验证码

18. 你们性能测试做的是前台还是后台?
BS项目:测试的是后台服务器的性能和浏览器端性能;

APP项目:手机端和服务器端的性能都做

19. 性能测试指标有哪些
响应时间、吞吐量、Cpu、内存、Io、disk

20. 如何脚本增强?
1、做参数化

2、做关联

3、添加事务

4、添加断言

5、添加集合点(jmeter的同步定时器)

6、添加思考时间(jmeter的统一随机定时器和固定定时器)

21. 该怎么去找这个最佳平衡点呢?
1.尽可能多的做不同并发数下的压测,记录下响应时间(1s以内)和最大tps,当然,服务器端,各个服务器的资源利用率在可接受范围内(每个公司不一样,我们是90%以内);

2.然后根据获取到的不同并发下的指标数据(并发数、tps、响应时间),画出上图,关注右侧的交点,即tps下降的地方和响应时间的交点,这个点的tps最大,如果响应时间在1s以内,此时并发数也是比较大的,这个点就可以认为是三个指标都不错的平衡点(当然,我这里把tps放在第一位优先考虑了,这个就看大家最在乎哪个指标了,排个优先级);如果响应时间大于1s,最佳平衡点就往左找,找到响应时间为1秒的点,此时对应的tps和并发值,就是最佳平衡点。总之,测试采样越多,获取的平衡点就越准确。

另外,如果是用loadrunner作为并发工具,并发过程中是可以增加或者减少并发用户数的,就不用必须压完一次,再调整并发数继续压,但是,loadrunner并发过程中调整了并发数,还是要尽可能跑久一点,比如10-15min。

篇幅限制,这里仅展示了部分问题和答案,需要完整版的可以点击下方卡片获取哦~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1101256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++之IO流

IO流 C语言的输入与输出流是什么CIO流C标准IO流C文件IO流 stringstream的介绍 C语言的输入与输出 在C语言当中,我们使用最频繁的输入输出方式就是scanf与printf: scanf: 从标准输入设备(键盘)读取数据,并…

Spring的执行流程 Bean的作用域与生命周期

目录 Bean的作用域 设置作用域 Spring的执行流程 Bean的生命周期 Bean的作用域 Bean的作用域是指, Bean在Spring框架中的某种行为模式 1.singleton 单例模式 singleton是Spring中的默认的Bean作用域,它表示在整个应用程序中只存在一个Bean实例,每 次请求该Bean实例时都会…

【光流法实现目标追踪:Python实战指南】

文章目录 概要一、目标追踪概述二、光流法进行目标追踪小结 概要 在当今计算机视觉领域,图像处理被广泛应用于多个关键领域,包括图像分类、目标检测、语义分割、实例分割和目标追踪。其中,图像分类和目标检测作为基础应用为其他高级领域奠定…

MPLS基础

1. MPLS原理与配置 MPLS基础 (1)MPLS概念 MPLS位于TCP/IP协议栈中的数据链路层和网络层之间,可以向所有网络层提供服务。 通过在数据链路层和网络层之间增加额外的MPLS头部,基于MPLS头部实现数据快速转发。 本课程仅介绍MPLS在…

天软特色因子看板 (2023.10 第05期)

该因子看板跟踪天软特色因子A05005(近一月单笔流涌金额占比(%),该因子为近一个月单笔流通金额占比因,用以刻画股票在收盘时,力资金在总交易金额中所占的比重。。 今日为该因子跟踪第05期,跟踪其在SW801030 (申万化工) 中的表现&am…

危险化工品出口注意事项及法规要求_箱讯科技

随着全球化工品市场的不断发展,危险化工品出口业务逐渐成为国际贸易的重要组成部分。然而,由于危险化工品具有潜在的危险性,出口过程中需严格遵守相关法规和注意事项,以确保运输安全和顺畅。本文将详细介绍危险化工品出口注意事项…

面试算法26:重排链表

问题 给定一个链表,链表中节点的顺序是L0→L1→L2→…→Ln-1→Ln,请问如何重排链表使节点的顺序变成L0→Ln→L1→Ln-1→L2→Ln-2→…? 分析 首先把链表分成前后两半。在示例链表中,前半段链表包含1、2、3这3个节点&#xff0c…

路径规划-learning

参考视频:【全】无人驾驶系列知识入门到提高 本文旨在对视频内容规划控制方面做一些学习记录,希望帮助有需要的人学习提高。不对处,望指正。 文章概要: 1 什么是规划 规划的本质、如何解决规划问题 2 传统的规划方法 机器人学基础…

基于Java的列车票务信息管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding) 代码参考数据库参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

C++入门之引用与内联函数

一、引用 1、初步理解 引用在语法上的理解就是起别名,用法就是在类型后面加&,例子:int a 1; int& b a; 上例所示,执行后,b就是a的别名,它们代表同一块空间,a的改变会影响b&#xff0…

MySQL 迁移完不能快速导数据了?

关于 5.6 升级到 5.7 之后,GTID 的相关功能的注意事项。 作者:秦福朗,爱可生 DBA 团队成员,负责项目日常问题处理及公司平台问题排查。热爱互联网,会摄影、懂厨艺,不会厨艺的 DBA 不是好司机,di…

一文学会使用WebRTC API

WebRTC(Web Real-Time Communication)是一项开放标准和技术集合,由 W3C 和 IETF 等组织共同推动和维护,旨在通过Web浏览器实现实时通信和媒体流传输。WebRTC于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的…

【分享】教你加速访问GitHub,进来学!

哈喽,大家好,木易巷来啦! 众所周知,Github是一款程序猿必备的代码托管平台,上面已经存在了无数前辈的心血!经常需要在上面查看大佬写的一些好用的开源项目,无赖国外网站的速度实在让人难以接受。…

【linux】重定向+缓冲区

重定向缓冲区 1.重定向1.1重定向本质1.2重定向接口1.3重定向分类1.3.1>输出重定向1.3.2>>追加重定向1.3.3<输入重定向 2.理解 >&#xff0c; >>&#xff0c; <3.如何理解linux下一切皆文件4.缓冲区4.1理解缓冲区问题4.1.1为什么要有缓冲区4.1.2缓冲区刷…

php获取10年内的年份并加入下拉列表

要实现的效果 在html中内嵌php循环将数组中的年份加入下拉列表 <div class="form-group"><label>年份:</label><div class="input-group"><div class="input-group-prepend"><span class="input-group-te…

7天狂揽 1.3w star 的 MetaGPT,他们的目标让软件公司为之一惊

在 AI 产品爆炸的今天&#xff0c;拥有各种本领的 AI 产品层出不穷&#xff0c;但 MetaGPT 的出现仍然显的格外耀眼&#xff0c;其可以实现只输入单一 prompt&#xff0c;就可以输出需求分析、需求文档、技术架构、最终代码等等产物&#xff0c;这相当于一个开发团队的输出成果…

012 Spring Boot + Vue 电影购票系统

部分代码地址&#xff1a; https://github.com/XinChennn/xc012-movie Spring Boot Vue 电影购票系统 一、项目结构 网上购票后台管理客服模块 二、环境介绍 后端&#xff1a;SpringBoot SpringSecurity MyBatis-Plus前端&#xff1a;Vue ElementUi数据库&#xff1a;…

mongodb如何多表查询,如同时查询店铺以及里面对应的商品

多表查询场景介绍 一种很常见的场景&#xff0c;比如电商首页中&#xff0c;需要同时展示最近比较火热的店铺&#xff0c;以及直接展示店铺里对应的商品。或者用户下单之后购物车里可以看到所选的商品以及对应的店铺。如果不知道如何用mongodb自带的查询语句快速查询的话&#…

有限差分法

目录 1.原理介绍 1.1 有限差分法介绍 1.2 有限差分法步骤 2.案例分析 2.1 问题重述 2.2 问题求解 1.原理介绍 1.1 有限差分法介绍 有限差分法是一种常用的数值计算方法&#xff0c;用于求解偏微分方程或常微分方程的数值解。它的基本思想是将连续的空间区域离散化为有限…

mac电脑安装雷蛇管理软件,实现调整鼠标dpi,移动速度,灯光等

雷蛇官网只给了win版本驱动 mac版本驱动到这里下载: GitHub - 1kc/razer-macos: Color effects manager for Razer devices for macOS. Supports High Sierra (10.13) to Monterey (12.0). Made by the community, based on openrazer. 安装后会显示开发者不明,请丢弃到垃圾桶.…