23年进阶高级测试,性能测试超细详解(附面试题+答案)一篇打通


前言

用户视角:
响应时间大概规范:
1-3秒,属于优的表现;
3-5秒,可以接受,属于中间的表现;
5秒以上,无法接受;

运维视角:
系统资源:一般大于70% cpu 内存 可能达到瓶颈

平均负载
所有的数据都是来自数据库:
连接数:连接数泄露(使用了连接数,但是没有释放);
读写速度:IOPS;
JVM(针对Java技术栈):Java应用程序的CPU和内存使用率
512M,CPU:1G 内存溢出/内存泄露:OOM

系统最大处理的任务数:
1亿,但是同时进行支付,5千万可以同时进行,另外的5千万就可以排队处理,排队的策略是什么?

按照线程的优先级来设置的 每个任务都是有优先级的,那么最大优先级是10,最小是1,默认是5 在系统资源不紧张的时候,优先级不是那么特别的突出 但是在系统资源特别紧张的时候,那么优先级高的优先执行

开发视角:
开发的关注度会更加的全面,毕竟代码都是程序员来编写的,具体可以汇总为如下:
前后交互的响应时间;
中间件的参数设置;
内存释放泄露;
连接数泄露;
是否存在不合理的内存使用方式;
是否存在不合理的线程同步方式;
系统中是否存在不合理的资源竞争;
系统架构&代码结构;

线程同步:
A和B两个任务,有100张车票,A和B同时进行抢购

加锁机制:A操作的时候,B不能操作,A操作完了,B才能够操作 解决办法:枷锁机制

测试视角:
用户关注的视角属于全栈性的,需要考虑用户视角的产品体验,也要监控以及关注运维视角和开发视角,所以性能测试中测试的具体工作职责可以总结为:

设计合理的场景和测试用例来验证系统的资源数据;
验证在高并发的情况下架构是否满足;
给架构师以及开发人员提供中间件配置参数的合理值范围;
使用技术手段监控系统,DB,中间件,全链路监控的方式来监控系统资源情况;

web前端:
所谓前端的性能目前也是性能测试中比较热门的技术之一,关注的点具体汇总为如下:
浏览器的资源加载(HTML解析,图片资源加载,CSS文件资源加载);
前端缓存技术的优化是否合理性;
前端与后端的交互性耗时;

性能测试模型

性能测试模型也可以理解为性能测试步骤,具体汇总为如下:
测试前期准备;测试工具技术引入;性能测试计划;测试设计与开发;测试执行与管理,数据收集;测试分析

测试前期准备:
1、梳理性能的目标(性能测试的目标是测试主导,然后测试制定出来后,和团队里面其他相关的人一起决定) 性能测试的目标参考依据是什么?是产品的需求文档以及产品的用户体量和系统的架构
2、性能测试的数据
3、性能测试场景的设计以及性能测试用例的设计

测试工具技术引入:
1、LoadRunner:HP公司研发的工业级别的性能测试工具,是收费的一款性能测试工具
2、JMeter:100%使用Java语言研发的性能测试工具,是开源的,互联网公司基本使用的都是该性能测试工具
3、Locust:是基于Python的协程来设计的性能测试工具,需要编写Python代码来进行性能测试
4、Gatling:是微服务架构下高性能的性能测试工具

性能测试计划:
1、明确每个性能测试的任务开始的时间和结束的时间
2、明确每个任务的具体负责人
3、明确性能测试工具

测试设计与开发:
使用选择好的工具/代码,来设计场景/编写代码来测试设计好的性能测试用例

测试执行与管理,数据收集:
1、多次测试执行,收集每次性能测试的数据(系统资源:CPU和内存,数据库资源:连接数和IOPS,JVM资源:内存资源 响应时间:最大,最小,平均,中位数,90%,95%,99%,吞吐量)

2、数据收集后的数据可视化展示

测试分析:
实际收集的结果,来得到最终的结论:吞吐量,响应时间等等,与期望的目标进行对比,来判断是否达到目标

性能测试面试题

面试题1:性能测试中,开发说需要添加服务器性能测试才能继续,你会怎么办?

不同意,测试环境服务器的配置与生产环境服务器的配置必须一致,这样出的结论才具有参考价值

面试题2:日常使用什么工具进行性能测试,性能测试的指标有哪些?

1、LoadRunner:HP公司研发的工业级别的性能测试工具,是收费的一款性能测试工具
2、JMeter:100%使用Java语言研发的性能测试工具,是开源的,互联网公司基本使用的都是该性能测试工具
3、Locust:是基于Python的协程来设计的性能测试工具,需要编写Python代码来进行性能测试

指标有:系统资源:CPU和内存,数据库资源:连接数和IOPS,JVM资源:内存资源 响应时间:最大,最小,平均,中位数,90%,95%,99%,吞吐量

面试题3:在性能测试之前,请根据顺序简述需要有哪些准备工作?

1、梳理性能的目标(性能测试的目标是测试主导,然后测试制定出来后,和团队里面其他相关的人一起决定) 性能测试的目标参考依据是什么?是产品的需求文档以及产品的用户体量和系统的架构

2、性能测试的数据
3、性能测试场景的设计以及性能测试用例的设计

面试题4:性能测试是怎么做的?

首先做好测试的前期准备,梳理好性能的目标,编写好性能测试的测试用例选择好要用的工具,编写好测试计划,使用选择好的工具或代码来设计场景或编写代码来测试设计好的测试用例,多次执行测试,收集每次数据,实际收集的结果,来得到最终结论

面试题5:请描述下 描述下你是怎么理解IOPS、吞吐量、TPS、QPS的?

IOPS是针对数据库的术语,用于磁盘的读写;
TPS是只系统每秒能处理的事务数量 QPS是指每秒的查询率;
吞吐量是指每秒的业务数;

面试题6:你是怎么理解软件的性能的?

性能对软件而言是一个指标,是衡量软件用户体验最核心的指标之一,给用户最直观的感受就是响应时间。

产品的性能指标有很多,但是主要的是响应时间和吞吐量

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有脚踏实地的努力,才能铸就辉煌人生的华章;不畏困难、勇往直前,方能超越自我、赢得成功的喜悦;奋斗不止,志存高远,唯有坚持不懈,方能创造属于自己的传奇。

只有拼尽全力,才能让梦想成真;只有坚持不懈,才能迎来辉煌。在每一次努力中,我们都在成长,不屈不挠的精神将引领我们走向成功的巅峰!

只有不断拼搏,才能超越自我,只有努力奋斗,才能创造奇迹;勇敢面对困难,追逐梦想的脚步永不停歇。时光匆匆,不留遗憾,唯有坚持付出,才能成就辉煌。相信自己,成就未来!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值