1、性能测试有哪些测试分类?简单概述概念是什么?
性能测试的分类:
我经常在工作用到的测试分类一共有12种:一般性能测试,压力测试,负载测试,稳定性测试,可靠性测试,配置测试,恢复性测试,大数据量测试,并发测试,疲劳强度测试,容量测试,网络测试……
概念:通过自动化工具来模拟多种不同,峰值以及异常负载条件来针对性能进行测试!
2、性能测试的常用术语有哪些?简单概述对这些常用术语的理解。
常用术语:一共八个
虚拟用户(模拟用户)
并发和并发用户数(并发=同时性并发)(并发用户数=在一时间一起并发)
响应时间(分为两种:请求响应时间,事物响应时间)
响应时间:从不同角度来分析!
用户:什么都不关注,只关注最终呈现的时间
开发:从请求到响应,只关注总时间
测试:关注整个请求到响应的流程,找出里面的问题,在查看是否满足预期指标
运维:只关注服务器响应时间
事物响应时间:通过事物可以发起多少请求
思考时间(两种请求间的时间)
点击率(每一秒可以向服务器发送多少请求)
TPS(每一秒可以发送多少事务数,事务数越多越好)
性能计数器(和多线程类似)
吞吐量和吞吐率(吞吐量:单位之间的请求次数,公式:Ps=Npu*R/T)
(吞吐率:并发处理能力)
3、性能测试流程是什么?
性能需求文档----编写性能测试计划-----设置性能测试环境-----使用自动化工具----编写性能测试用例-----用例执行-----发送问题----调整问题及优化-----测试人员对结果进行分析-----整理性能测试报告
4、性能测试指标是完全按照需求指定的吗?具体分析下如何来定指标。(????)
是的,不过需求也要符合实际,
应用系统的负载能力:系统所能忍受的最大用户量
应用系统的吞吐量:就是一次事物中网路上数据量完成的总和,吞吐量代表服务器承受的压力,事物是每一步或多步操作的集合
应用系统的吞吐率:在单位时间内完成的数据量,面对系统不同的压力负载,所能完成多少数据量!
tps:每秒钟可以处理多少事物或交易,处理事物越多代表系统性能越好!
点击率:每秒钟并发用户向服务器提交的http请求
系统的响应能力:在各种负责压力情况下,从客户端(c)到服务器(S)响应时间!
应用系统的可靠性:在连续工作时间内,系统能正常运行!
5、为什么要进行性能测试呢?在公司不进行性能测试可以吗?
因为需要 评审系统的能力,识别系统中的瓶颈,调整和优化,检查软件问题,验证稳定性和可靠性!
对于一些企业来说性能测试是必然要测的,但是对于某些企业来说,只需要测试功能测试和接口就是没问题了!足够支持使用!也节省公司开销!但是对于贵公司来说,性能测试是必要测的,我也相信我能担任贵公司性能优化师一职!
6、吞吐量都是能衡量哪些呢?
TPS:事物数/s(每秒钟处理的事物数)
QPS:查询数/s(每秒可以查询次数)
HPS:点击数/s(每秒钟所有用户点击总和)
RPS:请求数/s(站在服务端视角是为了衡量吞吐能力,按照背压侧端的tps去设置相应的rps)(RPS*平均响应时间)rps:引擎压力大小,
7、完成一个性能测试项目,请阐述你的实施流程
第一种简述:性能需求文档,编写性能测试计划,搭建性能环境,使用自动化工具,编写性能测试用例,测试执行,发现问题,调整优化,测试人员分析结果,整理报告
第二种:
测试设计阶段:
了解被测系统性能需求,定义测试目标和范围
了解系统的技术信息,如:系统框架
确定测试方案,测试计划,进度安排,场景设计以及收集数据
同相关人员商量测试文档
准备数据收集模板,项目不同,所需数据不同,针对性制定模板
测试环境准备:
技术准备:选择性能测试工具,测试方案以及技术问题,收集数据方案,如:监控系统资源等
搭建测试环境
创建初始数据:如虚拟用户登入账号等
测试执行阶段:
录制脚步
调试脚步
执行场景
收集测试数据,简单整理
测试分析阶段:
分析测试结果,整理报告
8、请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?(重要)
查看需求文档,从中获取性能测试需求,制定性能测试范围!
结合业务信息设计操作历史访问记录场景总结出需测试的性能关键指标。
执行场景用例后根据关键性能指标来分析是否满足需求!
9、你是如何理解吞吐量和吞吐率的呢?
吞吐量:单位时间内承受能力
吞吐率:单位时间内存放数据量
10、设计场景的八要素是哪些呢?分别阐述下这八要素
被测交易或脚步:是测试场景的基础,脚步对应数据!
延时策略:上一请求完成后延时多少秒下一请求执行,
三种:
(1)上一请求完成后,下一请求立马执行
(2)上一请求完成后,延时多少秒,下一请求执行
(3)指定时间完成
执行时长:只执行运行过程,不包括响应时间和加载
加压策略:以什么样“步调“来执行,
三种:
(1)同时请求
(2)指定间隔请求
(3)梯度(设置几个梯度,分别对应设置的时间)
并发用户数量:模拟请求用户的一种!
运行时长:从项目的开始到项目的结束
终止方式:用户终止,同时终止,每隔多少秒退出多少用户
监控资源利用:监控对象,使用工具或方法,采集频率等!
11、解释下性能指标
并发:所有用户在同一时间执行!
响应时间:从客户端开始到响应整个流程,包括:客户响应时间,网络响应时间,服务器响应时间
TPS:每秒可以执行的事物数量或交易,他是测试工具中最重要的参数指标
资源利用率:对不同资源使用程度:如:cpu,io内存,网络
性能测试中tps如果上不去原因有哪些?
九个原因:
网络宽带(数据量过大,宽带不给力)
连接池(可用连接池太少,造成请求等待,分为数据库连接池和服务器连接池)
应用问题(如:垃圾回收机制,说白了垃圾回收占有资源,tps上不去)
数据库配置(数据库处理信息过慢(如:没有读写分离),导致tps上不去)
网络通信机制(连接也会造成tps上不去)
硬件资源(cpu,内存,磁盘)
压力机(超过软件负载极限)
系统框架(是否有缓存服务,缓存服务器配置,缓存命中率,缓存穿透和缓存过期等)
业务逻辑(业务解耦度较低,整个事物处理线被拉长导致)
12、性能测试包含了哪些软件测试?分别说出这几个软件测试类型的概念
性能测试一般包含14个经常用的软件测试,
分为:一般性能测试:也可以称为基准测试,按照正常指标来测试
压力测试:达到一个极限值
负载测试:达到一个瓶颈点
可靠性测试:连续时间工作,看是否会出现问题
稳定性测试:持续一段时间工作,看是否会出现问题
‘ 大数据量测试:使用大批数据进行测试
配置测试:硬件,cpu……
恢复性测试:人工恢复还是自动恢复
并发测试 :同时用户进行请求
疲劳强度测试:即负载测试,测试能承受最大负载和数据量
容量测试:测试能够承受最大的压力
网络测试:在一个网络下请求
失败测试:即一台机器失效,其他机器是否还可以继续工作
综合场景测试’:所有数据放在一起显示
13、你如何识别性能瓶颈?
RBL方法:
重点测试“吞吐量”,因为RBL认定80%系统性能瓶颈由吞吐量造成!
按照网络,硬件,数据库,应用服务器,代码自上而下来分析性能!
工具:IBM、HP、OpenSource工具都支持。需使用分析模块、根据Weblogic、Oracle区别有专门的工具实现RBI。
14、解释常用的性能指标的名称与具体含义
并发:同一时刻执行
响应时间:从客户端请求开始直到响应结果,包括:客户端响应时间,网络响应时间,服务器响应时间
TPS:每秒执行多少事物量或交易,他是测试loadrunner的重要参考指标
吞吐量:单位时间内系统处理客户请求数量!体现系统承载能力!
性能计数器:是描述服务器或操作系统性能的一些数据指标(如?:内存条,进程时间)
思考时间:每个请求的间隔时间
点击率:HPS,每秒钟向web服务器发送多少http请求
资源利用率:对不同资源的利用程度:如:cpu,io内存,网络
15、描述不同的角色(用户、产品、开发、运维、测试)各自关注的软件性能要点
用户:快速快速快速
产品:用户的想法就是我的想法
开发:考虑响应时间以及数据库交互
运维:只考虑服务器,服务器够快
测试:从请求开始到响应整体时间,需要考虑的比其他人员全面!
16、分别针对性能测试、负载测试和压力测试试举一个简单的例子
性能测试:
公司开发了一个小型项目,上线前需要做,负载测试,压力测试,大数据量测试,强度测试……
负载测试:
当一个人已经吃饱饭后,但是由于饭菜太香,嘴巴从上午到下午一直在停过!
压力测试:
当一只熊看到已经看到躺在那里一动不动·的一个人,熊摸了下肚子,舔了那个人几口,发现肚子已经饱了,不能在吃了,熊就走了!