目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、什么是负载测试?什么是性能测试?
负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担,在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
性能测试主要使用场景测试软件系统的性能是否满足生产性能的要求,包括负载测试,强度测试,数据库容量测试,基准测试以及竞争(并发,用户)测试
2、性能测试包含哪些测试?(至少举出三种)
负载测试、压力测试,稳定性测试,基准测试
3、简述性能测试步骤
第一步:需求分析、测试计划,设计测试用例
第二步:测试设计和开发(测试脚本录制及调试,测试场景设计)
第三步:测试执行(测试环境搭建,场景部署,场景执行,监视场景)
第四部:测试结果分析,性能问题定位,测试报告评估
4、什么时候可以开始执行性能测试?
功能测试通过,一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块
5、响应时间和吞吐量之间的关系是什么?
当系统吞吐量未达到系统处理极限时,系统性能不会衰减,交易平均响应时间一般也不会递增。
当系统达到吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中,故交易平均响应时间一般会递增
6、软件性能测试的应用领域有哪些?
能力验证:某系统能否在A条件下具有B能力
能力规划:如何使系统具有我们要求的性能能力或者某种可能发生的条件下,系统具有如何的性能能力?
性能调优、缺陷发现。
7、对于Web系统的响应时间,行业中被广泛认可的用户可以接受的时间是多少秒?
2/5/10S
8、在性能测试中,通常需要关注哪些性能指标?
响应时间、并发数、吞吐量、系统性能计数器、思考时间
9、请描述什么是吞吐量?
单位时间内系统处理用户的请求数。
从业务角度看,吞吐量可以用:请求数/秒、业务数/秒、人数/天或处理业务数/小时等单位来衡量
从网络角度看,吞吐量可以用:字节/秒来衡量
对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,它能够说明系统的负载能力
10、TPS是什么意思
单位时间内处理的事务数
11、请举例说明什么时候广义并发和严格并发?
广义并发:广义的并发实际上是在一个时间内操作事务的虚拟用户,是存在。
对地铁这个系统而言,每个时间都有新来的人,也有走的人,大家做的事情基本都相同。
乘地铁。假定某个时刻地铁大厅中有10000人,检票口候车的有100人,
刚刚开走的地铁上乘有2000人,那此时对考察的系统(列车)而言,并发就是2000人,而如果考察的是检票处,则并发为100人。
同样,如果考察的系统是地铁大厅,那此时的并发就是10000人。这种并发我们一般称之为“广义并发”。
严格并发:是指大量用户在同一时刻在软件系统上做完全相同的功能操作或相同类型的功能操作。例如双十一的秒杀商品
12、一个web系统,用户最关注的性能指标是什么?
响应时间
13、一份性能测试计划,通常包含哪些内容?
测试目的,测试质量目标,测试环境,测试阶段和范围,测试策略,测试时间安排,测试用例
14、如何识别性能瓶颈?
找出最先出问题的点,即短板,再进行分析。
首先,要先做一份现有系统的性能测试报告,如CPU消耗、内存消耗、磁盘I/O、网卡I/O、带宽、页面交换等。
如果发现其中一项或多项达到瓶颈,那么就要考虑是硬件不够导致性能上不去,还是系统实现不合理导致满了。
如果是硬件问题,那么就早考虑扩容。
如果是资源都没到极限或确认系统实现有问题,那么就要针对性的对系统相应功能进行相应的拆解或者是监控函数级的耗时。
15、性能测试过程中,需要监控OS的哪些资源?
cpu,内存,磁盘,网络
16、请解释什么是资源竞争?
多个用户都去用同一个东西,但这个东西被一人锁定,就产生了资源竞争
竞争锁
17、验证系统在100 TPS下,响应时间小于3s,对于这样的需求,应该采用哪种性能测试方法?
能力评估
18、从管理员角度视角,主要关注系统性能的哪些指标?
①系统的响应时间;
②系统状态的相关信息,如:CPU、内存、应用服务器状态、JVM可用内存、数据库的状态等;
③系统的可扩展性,处理并发的能力;
④系统可能的最大容量,可能的性能瓶颈,通过更换哪些设备或是进行哪些扩展能够提高系统性能;
⑤长时间运行是否足够稳定,是否能够不间断的提供业务服务等;
19、从开发工程师视角,主要关注系统性能哪些指标?
系统架构:架构设计是否合理;
数据库设计:数据库设计是否存在问题;
代码:代码是否存在性能方面的问题,系统中是否有不合理的内存使用方式;
设计与代码:系统中是否存在不合理的线程同步方式,系统中是否存在不合理的资源竞争
20、请描述压力测试和负载测试的区别?
压力测试的预期结果就是系统出现问题,我们考察的是系统处理问题的能力。
负载测试是考察软件系统在既定负载下的性能表现。
压力测试是能让我们识别系统的弱点和在极限负载下程序将如何运行
21对于一个缺乏性能明确需求的项目,你是如何提取性能需求的?
与客户交流,查看历史日志,跟同类产品对比,根据以往的经验
22、一个完整的性能测试用例应该包含哪些内容?
测试用例编号,项目标题,测试标题,重要级别,预置条件,输入,操作步骤,输出,测试结果,测试者和时间
23、性能测试的步骤以及性能测试最难的地方是什么?
性能测试步骤:
准备工作,包括系统基础功能验证、测试团队组建、工具的选择、预先的业务场景分析。
测试计划。
测试脚本设计与开发。
测试执行与管理。
测试分析。
性能测试最难的地方:
性能测试模拟真实负载是比较困难的,性能测试很多情况下只能作为参考,用来发现明显的性能问题。如果要做到100的准确,还是要做线上的即时监控才行
24、如何进行性能测试,如何看它的性能?
性能需求分析:明确到底要不要做性能测试,明确被测系统特点、基本业务、关键业务、用户行为,性能测试范围,明确性能测试目标及性能指标,性能测试策略。
进行测试用例的设计、测试脚本开发与调试、测试环境和测试数据的准备。
利用jmeter工具进行性能测试。
得出测试数据,进行系统优化,完成测试报告。
如果利用jmeter测试工具,利用聚合报告可以看出它的性能,根据性能测试数据与测试性能指标进行比对,达到性能指标说明性能良好
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
不论前路多迷茫,心中的梦想永远是指引的明灯。勇敢面对挑战,坚持努力奋斗,每一次付出都是成长的宝藏。相信自己的能力,追逐热忱,只有不停追逐,创造属于自己的辉煌旅程。
努力奋斗是实现梦想的必由之路,磨砺意志、超越自我,勇往直前。不论遭遇多少挫折与困难,坚持信念,勇敢追求,一步一个脚印,终将登上巅峰,谱写属于自己的壮丽诗篇。
在人生的舞台上,不断奋斗是我们获得成长与进步的关键。无论遇到什么挑战与困难,坚持相信自己的潜力与价值,勇敢面对,坚定前行,只有如此,我们才能点亮心中的希望,创造出属于自己的辉煌。