性能测试学习

Posted on 2023-03-21 19:00  zhousha1111  阅读(38)  评论(0编辑  收藏  举报
性能测试学习目的:
1、所有公司的项目都要进行性能测试,不管是蒙混过关、还是性能压力需求小
2、测试工程师要完成企业的性能测试
3、多用户并发、负载等一些概念指标的理解
 
软件项目中性能测试的概念:
性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统响应时间、TPS(TransactionPerSecond)、吞吐量、资源利用率等性能指标,以期保证生产系统的性能能够满足用户需求的过程。
 
特定方式:模拟多用户 1、不能用人工模拟   2、程序模拟--jmeter loadrunner locust等
一定策略施加压力:办公OA系统8:50-9:00需要测试是否满足1000人打卡;抢华为手机
 
性能测试一般包含3个方面:
l应用在客户端性能的测试:网站前端(js解析数据性能、前端图片资源加载性能等)、手机APP本身的性能(占用CPU、卡顿、发热、流量等)、c/s程序的client端(占用CPU等)
2应用在网络上性能的测试:网络设备或网络带宽不够 --花钱解决、运维完成网络优化
3应用在服务器端性能的测试:模拟大批量请求对服务器产生压力(测试工程师做的)
 
性能测试目的:
l客户有明确要求,如:系统要求同时满足100用户登陆,平均每个用户登陆时间不能超过5秒
2考察目前系统性能(容量测试),需要对系统做出分析,找出系统的压力点
测试出目前我们项目的容量,可以最多容纳多少个用户
3找出系统性能瓶颈,需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试
找出系统性能薄弱的环节进行加强,比如支付慢、搜索慢等
4了解系统在长时间的压力下性能状况(强度测试)
测试7天、半个月下的项目性能情况
性能测试环境:
l硬件环境:被测服务器硬件配置,用于加压客户端的机子配置,CPU内存等
要求:尽量保证和生产环境(线上环境)配置一致,如果经费有限达不到,也要品牌、架构一致,配置等比例缩小
2软件环境:被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库、测试环境部署信息以及性能测试工具信息
要求:保证和生产环境使用的软件版本、以及配置一致
生产环境:tomcat7.2.8 mysql5.7.6 jdk1.8.9 配置文件参数配置
性能环境:tomcat7.2.8 mysql5.7.6 jdk1.8.9 配置文件参数配置
 
3网络环境:找出系统性能瓶颈可以在广域网环境进行,其它性能测试可以在局域网进行,排除网络干扰
在局域网下进行性能测试,如果出现软件的性能问题,绝对和网络没关系。排除软件性能问题之后,还是需要在广域网进行一次性能测试,因为这是真实的网络环境
 
4备注:性能测试的环境要独立于功能测试环境,一般在没有其它干扰被测系统的情况下,进行性能测试。
 
负载测试(LoadTesting):在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数。简单说,可以帮我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS(每秒事务数)、RT(事务平均响应时间)、CPUUsing(CPU利用率)、MemUsing(内存使用情况)等软硬件指标。从操作层面来说,负载测试也是一种性能测试手段,比如下面的配置测试就需要变换不同的负载来进行测试。
 
压力、强度测试(EnduranceTesting):在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是否稳定的指标包括TPS、RT、CPUUsing、MemUsing等。

Copyright © 2024 zhousha1111
Powered by .NET 9.0 on Kubernetes