请选择 进入手机版 | 继续访问电脑版

湖南新梦想

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 333|回复: 0

性能测试相关内容

[复制链接]

21

主题

23

帖子

118

积分

注册会员

Rank: 2

积分
118
发表于 2022-9-7 18:45:56 | 显示全部楼层 |阅读模式
性能测试一般包含3个方面:l
应用在客户端性能的测试pc端软件:内存占用 是否卡顿 引起电脑发热 手机APP:耗电 占用内存 流量 卡顿 网站 小程序 网站:图片加载速度、js性能、数据解析速度、小程序)
应用在网络上性能的测试:公司网络出现性能问题,一般运维解决和测试 花钱(中小公司 都会使用 云服务器:阿里云、腾讯云、华为云等)
应用在服务器端性能的测试:测试工程师必须要做到的,模拟大量用户请求向服务器施加压力。
性能测试目的:l
客户有明确要求,如:系统要求同时满足100用户登陆,平均每个用户登陆时间不能超过5l
考察目前系统性能(容量测试),需要对系统做出分析,找出系统的压力点l
找出系统性能瓶颈,需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试l
了解系统在长时间的压力下性能状况(强度测试)  提前做强度测试
环境:被测试软件的环境
jdk 1.8以上+tomcat 9.0左右+mysql 5.7+centos7
数据库作为独立服务器 ==>tomcat/weblogic/jboss  
web应用服务器   ngix+redis 了解
php 5.3+apache2.3+mysql 5.7
硬件环境 :服务器(购置 云服务器)
一般公司的环境类型:
开发(dev)环境:开发人员调试代码用的,经常项目跑不起来,各种问题(项目最新代码都在这里)
测试(test)环境:测试人员进行系统测试的环境,代码比较新 项目下一个发布版本
版本验证环境/预发布(pre/uat)环境:和线上环境的代码一致(用途:线上问题的跟踪:预备升级)
线上()环境/生产环境:是普通用户使用的环境,公司用来盈利的环境(代码最老的)
uat环境:验收测试环境,主要面向要交付的人员进行验证测试。
pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定。
dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大
性能测试环境:l
硬件环境:被测服务器硬件配置,用于加压客户端的机子配置,CPU内存等
要求:被测服务器硬件配置要求必须和线上环境硬件类型一致,但配置可以等比例缩小
线上环境:dell服务器 R240 256G金斯顿****内存32TB西部数据盘
测试环境:dell服务器 R240 32G金斯顿****内存4TB西部数据盘
加压客户端的机器配置:普通的PC机(16G内存、1T固态硬盘)
软件环境:被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库、测试环境部署信息以及性能测试工具信息。l
要求:保证软件的版本和生产环境一致,且配置的参数尽量保持一致
线上环境:tomcat 9.0.342 jdk 1.9.11 mysql 5.7.64
测试环境:tomcat 9.0.342 jdk 1.9.11 mysql 5.7.64
网络环境:找出系统性能瓶颈可以在广域网环境进行,其它性能测试可以在局域网进行,排除网络干扰
局域网环境下进行性能测试,由于网络质量非常好,出现性能问题可以排除是网络问题
为了真实的网络环境下 也需要进行一次性能测试,查看整体的性能指标是否合格
性能测试注意事项:
1、修改性能测试的bug会有比较大的概率引起功能出现错误(找到了性能的bug,开发说改代码解决了,性能回归的时候,性能没问题了,此时一定要做一轮软件基本功能测试)
2、性能测试要在功能测试稳定的情况下进行(系统测试后期开展)
3、性能测试开始的时候,会组建一个性能优化团队(测试工程师、核心开发、DBA(数据库管理员)、运维)
性能测试流程:
两个阶段做性能测试:
1、开发接口设计完毕后,通知测试部门进行 单接口压力测试(联调)20%
2、系统测试中后期,系统的功能稳定后,做的针对业务的性能测试100%
熟悉需求文档,提取出与性能有关系的需求(项目管人员直接提性能测试需求)
编写性能测试计划
设计性能测试用户场景  100个用户,5秒钟之内登录完成
制作与调试性能测试脚本 jmeter登录/发帖)
在性能测试工具中工具设计的用户场景进行用户场景配置
执行性能测试,在测试过程中,收集性能测试指标数据
把性能测试指标数据做成一份性能测试报告
根据测试报告的结果进行系统调优
负载:
模拟业务操作对服务器造成压力的过程,比如模拟100个用户进行发帖  
  一个男孩子能举起30KG的物体(不是负载)而是他举起了30分钟的过程
在一定软硬件环境下,通过不断加大负载(不同虚拟用户量)来确定在满足性能指标情况下能够承受的最大用户数。简单说,可以帮我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议
微信发红包的负载测试:
前提条件:要和运维了解目前平均微信日发红包的数量是多少 月平均值/季度平均值 ==3000
用户数  发红包请求           性能指标        测试情况
3000     3个小时        cpu 30% mem 25%        正常
6000     3个小时       cpu50% mem 48%        正常
12000    3个小时        cpu95% mem 92%        不正常
9000    3个小时        cpu91% mem 89%        不正常
7500    3个小时        cpu75% mem 68%        不正常
8000    3个小时        cpu82% mem 78%        正常
压力测试(强度测试):
在一定软硬件环境下,通过高负载的手段来使服务器资源(强调服务器资源,硬件资源)处于极限状态,测试系统在极限状态下长时间运行是否稳定
微信发红包的压力测试:  前提做了负载测试
瞬间高压:模拟8300个用户发送一次红包  8300个红包事务
长时间的高负载:模拟7900个用户 发红包3天左右

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|湖南新梦想 ( 湘ICP备18019834号-2 )

GMT+8, 2023-5-30 23:05 , Processed in 0.039213 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表