性能测试的目的,简单说其实就是为了获取待测系统的响应时间、吞吐量、稳定性、容量等信息。而发现一些具体的性能相关的缺陷(如内存溢出、并发处理等问题),我认为只是一种附加结果。从更高的层次来说,性能测试最想发现的,是瓶颈。如何能得到所需要的信息,就需要从多方面进行测试。

拿到一个性能测试任务的时候,我们首先需要明确我们的测试目标和输出结果是什么;没有计划的开始注定是失败的。做性能测试需要一个规范的流程,划分清各个阶段需要做哪些工作,这样我们在接到一个任务时就不会手忙脚乱。

性能测试流程大致分为一下几个阶段:

1、测试准备

2、脚本开发与调试

3、测试执行

4、测试结果评估

5、测试后跟踪

测试准备包括:

1、测试目标:

从需求文档或者用户获取:并发用户数,事务吞吐需求,响应时间需求,系统占用资源需求,可扩展性需求等;

2、应用软件:

从开发人员获取:系统整体架构(BS/CS),采用开发语言,通信协议,动态session,验证码等;

3、系统部署平台:

从运维人员获取:物理部署(局域网/虚拟机),硬件架构(CPU/MEM/IO),操作系统,数据库(版本/启动参数/存储布局),中间件(参数配置),部署模式等;

4、系统负载模型:

通过调研获取:从业务层面选取关键用例吞吐率以及用户行为习惯,确定测试流程及流程业务比例;从系统负载方面了解高峰/平常场景吞吐率;

5、制定测试计划和测试方案

测试脚本是做好性能测试的基础,监控结果是性能测试的关键;扎实的代码基础和熟练掌握监控结果的收集和分析是性能测试的保障;系统上线后,对实际负载与性能情况和测试过程中做比较总结经验也是学习提高的好方法。

在实际中作中我们经常会对两种类型软件进行测试:bs和cs,这两方面的性能指标一般需要哪些内容呢?Bs结构程序一般会关注的通用指标如下(简):
Web服务器指标指标:
* Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;
* Avg time to last byte per terstion (mstes):平均每秒业务角本的迭代次数 ,有人会把这两者混淆;
* Successful Rounds:成功的请求;
* Failed Rounds :失败的请求;
* Successful Hits :成功的点击次数;
* Failed Hits :失败的点击次数;
* Hits Per Second :每秒点击次数;
* Successful Hits Per Second :每秒成功的点击次数;
* Failed Hits Per Second :每秒失败的点击次数;
* Attempted Connections :尝试链接数;CS结构程序,由于一般软件后台通常为数据库,所以我们更注重数据库的测试指标:
* User 0 Connections :用户连接数,也就是数据库的连接数量;
* Number of deadlocks:数据库死锁;
* Butter Cache hit :数据库Cache的命中情况
当然,在实际中我们还会察看多用户测试情况下的内存,CPU,系统资源调用情况。这些指标其实是引申出来性能测试中的一种:竞争测试。什么是竞争测试,软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。
我们知道软件架构在实际测试中制约着测试策略和工具的选择。如何选择性能测试策略是我们在实际工作中需要了解的。

一般软件可以按照系统架构分成几种类型:
c/s
client/Server 客户端/服务器架构
基于客户端/服务器的三层架构
基于客户端/服务器的分布式架构
b/s
基于浏览器/Web服务器的三层架构
基于中间件应用服务器的三层架构l
基于Web服务器和中间件的多层架构l

总结:

总的来说,我认为,性能测试的难度主要不在技术手段上,互联网时代技术都是共享的,要善于去搜索利用他人的成果。即使自己搞不定,团队内一定还有专业的开发工程师、数据库管理员、系统管理员可以帮你搞定。真正的难点在于,你要想出来如何去测是有效的、有保障的,这才是测试工程师最重要的能力。

还是那个观点,思想才是根本。

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

bs架构与cs架构的区别_性能测试流程5步走:BS架构和CS架构性能指标大对比相关推荐

  1. tps和tips区别_性能测试:TPS和QPS的区别

    转载 技术群里,问得最多的就是tps和qps,有相似的地方,也有差异的地方,我简单谈下自己的理解.(由于比较忙,下面部分摘抄自网络) QPS:Queries Per Second,意思是"每 ...

  2. 压力测试和负载测试区别_性能测试vs压力测试vs负载测试

    软件测试包括单元测试.集成测试.UAT测试.可访问性测试等不同的测试实践.每个测试实践在软件开发生命周期(SDLC)中具有重要的意义和作用. 在不同类型的测试中,有一些测试有助于提高应用性能,例如性能 ...

  3. imac15款和17款区别_哪款更适合你?2017年和2015年款iMac对比

    6月初苹果发布了全新的iMac,对于普通用户来说这款一体电脑的吸引力还比不上MacBook Pro系列笔记本,但对于设计师这类专业用户来说iMac却有着致命的吸引力.问题来了,是买最新的iMac(20 ...

  4. 一个完整网站的代码_网站优化三步走,怎样给自己的网站做优化?

    网站优化有难度?自己的网站优化不起来?怎样给自己的网站做优化呢?这是网站优化的灵魂三连.很多头条的网友都来咨询我这几个网站优化的问题,今天特意写了这么一篇网站优化扫盲贴. 网站优化 网站优化第一步:代 ...

  5. python抓取内存中的网页_『爬虫四步走』手把手教你使用Python抓取并存储网页数据!...

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  6. java使用xml存储数据_『爬虫四步走』手把手教你使用Python抓取并存储网页数据!

    菜鸟学Python 以下文章来源于早起Python ,作者刘早起 爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据 ...

  7. java使用xml存储数据_「爬虫四步走」手把手教你使用Python抓取并存储网页数据

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  8. python抓取pc端数据_「爬虫四步走」手把手教你使用Python抓取并存储网页数据!...

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  9. bs cs架构区别_软件架构设计分层模型和构图思考

    今天谈下架构设计中的分层思维和分层模型以及基于分层思维下的架构构图逻辑. 架构思维概述 对于架构思维本身仍然是类似系统思维,结构化思维,编程思维等诸多思维模式的一个合集.由于架构的核心作用是在业务现实 ...

  10. 数据仓库—stg层_数据仓库之Hive快速入门 - 离线实时数仓架构

    数据仓库VS数据库 数据仓库的定义: 数据仓库是将多个数据源的数据经过ETL(Extract(抽取).Transform(转换).Load(加载))理之后,按照一定的主题集成起来提供决策支持和联机分析 ...

最新文章

  1. stutBar的使用
  2. 2018-12-10
  3. 自主云服务器处理器_云服务器哪家的CPU最便宜且好用
  4. 【CodeForces - 514D】R2D2 and Droid Army(二分+滑动窗口ST表,或 尺取+单调队列或STLmultiset)
  5. 2015Cocos游戏开发大赛作品——人鱼塞壬
  6. 程序员作图工具和技巧,你 get 了么?
  7. asp分页类--添加支持重写功能
  8. 利用SQL建立数据库
  9. 【项目三、车牌检测+识别项目】四、使用LPRNet进行车牌识别
  10. 局域网与城域网 - 以太网标准(百兆 100Base、千兆 1000Base、万兆 10GBase)
  11. MySql基础篇---002 SQL之SELECT使用篇: 基本的SELECT语句,运算符,排序与分页,多表查询,单行函数,聚合函数,子查询
  12. 【IT项目管理】第七章课后习题
  13. MONTHS_BETWEEN函数
  14. 胡子哥 观察日记 2020年10月5日(周一)
  15. 2 172.02 php,Web服务器部署02: Apache PHP Oracle
  16. 微星GS66安装ubuntu18.04(网卡和NVIDIA显卡驱动可以同时用)
  17. SVM用于上证指数的预测
  18. 纱线捻度、捻向和捻系数怎么选择?
  19. mac下比较好用的svn软件,SVN客户端CornerStone 2.7.10 破解版
  20. Shawn生日,20年总结!!!

热门文章

  1. python list 排序
  2. Android流媒体
  3. 计算机培训实践反思模板,基于问题解决式课堂教学模式的反思
  4. log4j配置文件,日志文件的模板
  5. oracle序列不连续,Oracle不连续的值,如何实现查找上一条、下一条
  6. oracle中同义词总结,ORACLE同义词总结
  7. 妙启动_十张图带你了解中国国产奶酪巨头——妙可蓝多发展情况
  8. 实现对span标签的多选单选功能_如何在Notion中做多级标签?-Notion102
  9. css颜色跟背景总结(内含实例及截图)
  10. 教你如何构建异步服务器和客户端的 Kotlin 框架 Ktor