测试学习——性能测试(一)

性能测试学习目标

理解性能测试理论

掌握JMeter性能测试工具

掌握Locust性能测试工具

性能测试

满足真实的业务场景、支持大量用户
使用自动化工具模拟不同场景、对软件各项性能指标进行测试和评估的过程

测试内容

1 后台处理程序的性能(代码性能)
2 应用服务器、数据库、架构设计等是否存在瓶颈
3. 服务器资源消耗(CPU 内存磁盘网络)

测试目的

1.评估当前系统能力
2. 寻找性能瓶颈,优化性能
3. 评估软件是否能够满足未来的需要

什么是性能

性能:就是软件质量属性中的效率特性
时间:系统处理用户请求的响应时间
资源:系统运行过程中,系统资源消耗的情况

功能测试与性能测试区别

功能测试:验证软件操作功能是否符合产品功能需求规格、主要焦点在功能(正向(满足需求)、逆向(不满足输入条件))
性能测试:验证软件系统谁否满足业务需求场景,主要焦点是业务场景的满足(时间、资源)
功能测试完成BUG修复完成再做性能测试

性能测试的策略

基准测试

  1. 狭义概念:**单用户测试大量测试。**测试环境确定后,对业务模型中的重要业务做单独测试,获取单用户户运行时的各项性能指标。
  2. 广义概念:是一种测量和评估软件性能指标的活动。你可以再某个时刻通过基准测试简历一个已知的性能基准线,当前系统的软硬件环境发生变化之后再惊醒一次基准测试以确定变化对性能的影响。
  3. 基准测试用途:
  • 基准测试不是单独存在的
  • 为多用户并发测试和综合场景测试等提供参考依据
  • 位系统/环境配置、系统优化前后性能提升/下降提供参考指标

负载测试

  1. 负载测试: 通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能够承载的最大负载量的测试
  2. 作用:系统最大负载量需要满足用户要求才能上线

稳定性测试

  1. 在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周)并最终保证服务器能满足线上业务需求。
  2. 作用:在用户要求的业务负载下运行达到规定运行时间

压力测试

  1. 在强负载下的测试,查看系统峰值情况下是否功能隐患、系统是否具有良好的容错能力可恢复能力
  2. 测试场景:极限负载情况下导致系统奔溃的破坏性压力测试
    高负载下长时间的稳定性压力测试

并发测试

  1. 并发测试(绝对并发):是指在极短时间内,发送多个请求,来验证服务器对并发的处理能力
  2. 应用场景:抢红包、秒杀、抢购、

性能测试指标

对性能测试结构进行量化衡量

  1. 响应时间:用户从客户端发起一个请求开始,到客户端接受到从服务器端返回的结果,整个过程所耗费的时间。
  2. 并发数:某一时刻同时向服务器发送请求的用户数
  3. 吞吐量:指单位时间处理的客户端的请求数量,直接体现软件系统的性能承载能力
    • QPS(每秒查询数):即控制服务器每秒处理的指定请求的数量
    • TPS(每秒的事物数):即控制服务器每秒处理的事物请求的数量
  4. 点击数:指客户端向服务端发送请求时,所有的页面资源元素请求总数
  5. 错误率:在系统负载情况下,失败业务的概率。错误率=(失败业务数/一万五总数)*100%
    错误率是一个性能指标,不是功能上的随机BUG
  6. 资源使用率:是指系统各种资源的使用情况,一般使用“资源的使用量/总的资源可用量
    常见资源:
    CPU、内存、网络、磁盘

性能测试流程

性能测试需求分析、性能测试计划及方案、性能测试用例设计、性能测试执行、性能分析调优、性能测试报告总结

性能测试需求分析

1.明确被测系统(业务功能、技术架构)
2. 明确测试内容(使用频率较高关键业务、逻辑复杂度高的、数据量大的业务)
3. 明确测试策略(负载测试、稳定性测试、并发测试)
4. 明确测试指标

性能测试计划及方案

测什么 谁来测 怎么测

性能测试用例设计

性能测试执行

性能分析和调优

性能测试报告总结

测试学习——性能测试(一)相关推荐

  1. 服务器压力测试_性能测试相关的面试题

    1.请问什么是性能测试.负载测试.压力测试? 性能测试:对一个软件系统而言,包括执行效率.资源占用.系统稳定性.安全性兼容性.可扩展性等. 负载测试:指在超负荷环境中运行,确定系统的处理能力,以及系统 ...

  2. go定时器 每天重复_通过测试学习Go:Hello, World

    点击上方蓝色"Go语言中文网"关注我们,设个星标,每天学习 Go 语言 你可以在这里查看本章的所有代码[1] 按照传统,我们学习新语言编写的第一个程序都是 Hello,world. ...

  3. python训练营微信公众号真实性_用python进行微信公众号开发(仅测试学习)

    今天看到篇教程,是用python开发微信公众号的,觉得有意思,就敲代码实现了一下,成功后更觉得好玩,故记录,方便开发深入时使用. 基础背景介绍: 首先得有个人微信号(没有自行注册),为方便测试学习: ...

  4. 电脑硬件检测_【学无止境】电脑硬件维修测试学习资料(附送各类PC检修资源)...

    大橙子资源驿站 『 电脑硬件维修测试学习资料』 多年的PC硬件检修工具和资料,都是本人一年年亲测积累起来的,安全无毒.打包上传分享给大家. -- 资源分享者语 关于『 电脑硬件维修学习资料 』 这是甛 ...

  5. Android 渗透测试学习手册 翻译完成!

    Android 渗透测试学习手册 中文版 原书:Learning Pentesting for Android Devices 译者:飞龙 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 ...

  6. oracle 测试sql执行时间_从 TPCH 测试学习性能优化技巧

    一. 目标 TPCH是由TPC(Transaction Processing Performance Council)事务处理性能委员会公布的一套针对数据库决策支持能力的测试基准,通过模拟数据库中与业 ...

  7. 第08节:云端测试和性能测试实战

    到上一课为止,我们已经介绍了微服务自动化测试的主要组成部分:单元测试.集成测试.组件测试(单服务测试)和端到端测试.它们足以确保对本地部署.运行的应用程序有足够的测试覆盖率.但是,随着越来越多的应用程 ...

  8. KALI LINUX渗透测试学习笔记

    KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...

  9. web渗透测试学习路径图

    Web渗透测试学习路线 一.基础知识 1.1 网络协议 <图解http> 1.2 编程语言 python 30 days for python go 1.3 Linux/Bash Over ...

最新文章

  1. HDU 4951 Multiplication table(2014 Multi-University Training Contest 8)
  2. 我还没考试,算法就说我的物理一定挂科
  3. GraphQL入门之Schema和类型规范
  4. SpringBoot_入门-Spring Boot简介
  5. SpriteBuilder中不能编辑自定义类或不能给节点添加属性的解决
  6. 虚拟计算机组成,计算机组成原理虚拟仿真实验平台研究
  7. GprMax 3.1.5 建模的in文件编写详解(2)
  8. 用css样式修改input控件和button控件
  9. redis分布式锁的复杂实现
  10. mac更新完后读取不出移动硬盘的问题解决
  11. 手把手教你自制一寸两寸照
  12. 网络拓扑图js插件——jTopo应用
  13. uniapp点击图片放大功能
  14. 计算机图形学2-Liang-Barsky直线裁剪算法
  15. 学习使用 OpenCV 中的函数 cv2.kmeans() 对数据进行分类
  16. 音视频开发系列-H264编码原理
  17. leetcode_714. 买卖股票的最佳时机含手续费
  18. 重大利好,区块链技术能保护森林资源?
  19. 计算机函数公式 加法,Excel中如何计算加减乘除法/表格加法公式
  20. jmeter参数化之函数助手

热门文章

  1. fedora13中安装五笔
  2. 路由器固件编译及个性化
  3. 853计算机综合基础包括什么,2017年南京农业大学853计算机专业基础综合硕士研究生参考书目...
  4. 支付宝手机网站支付、支付查询、退款、退款查询、转账接口整合
  5. 电脑病毒怎么彻底清理?你不知道的8个方法
  6. H5调起摄像头拍照上传
  7. 基于Open3D的Lidar-Segment
  8. 计算机图形处理的一些知识
  9. 靶机测试-bulldog
  10. 记一次海康威视笔试题小练手