为什么需要进行性能测试?
性能测试目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。
包括以下几个方面
1.评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
2.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
4.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
性能测试类型包括负载测试,强度测试,容量测试等负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。容量测试:确定系统可处理同时在线的最大用户数 观察指标:性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。在实际中作中我们经常会对两种类型软件进行测试: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
欢迎关注公众号 了解更多测试内容
为什么需要进行性能测试?相关推荐
- 如何进行Web服务的性能测试?
随着浏览器功能的不断完善,用户量不断的攀升,涉及到web服务的功能在不断的增加,对于我们测试来说,我们不仅要保证服务端功能的正确性,也要验证服务端程序的性能是否符合要求.那么性能测试都要做些什么呢?我 ...
- JMeter性能测试入门
JMeter是一款性能测试工具.个人认为与其说他是一个工具,不如说他是一个框架.因为JMeter的支持范围非常广,目前常见的需要进行性能测试的应用几乎都能应用(如:files, Servlets, P ...
- 实战:Redis 性能测试
为什么需要性能测试? 性能测试的使用场景有很多,例如以下几个: 技术选型,比如测试 Memcached 和 Redis: 对比单机 Redis 和集群 Redis 的吞吐量: 评估不同类型的存储性能, ...
- 最有效的七大性能测试技术
进入互联网时代,性能测试显得越来越重要,移动应用.web应用和物联网应用都需要进行性能测试和性能调优,而进行性能和负载测试会产生了大量的数据,这些数据难以分析.除了数据分析,我们还会遇到其它一些困难和 ...
- 性能测试之二——性能测试的流程
目录 一.确定性能目标 二.制定测试方案 三.设计测试用例 四.测试环境与数据准备 五.执行性能测试 一.确定性能目标 在开始性能测试前,需要收集性能需求.分析确定合理的性能目标(分析目标).主要需要 ...
- NodeJS + Lighthouse + Gulp 搭建自动化网站性能测试工具
假设你还不知道Lighthouse是什么 Lighthouse is an open-source, automated tool for improving the quality of web p ...
- 《LoadRunner性能测试巧匠训练营》——1.4 性能测试分类详解
本节书摘来自华章计算机<LoadRunner性能测试巧匠训练营>一书中的第1章,第1.4节,作者:赵 强 邹伟伟 任健勇 更多章节内容可以访问云栖社区"华章计算机"公众 ...
- 使用loadrunner进行服务器性能测试(winsocket)
由于项目进入尾声,需要进行性能测试,没有专业的性能测试工程师,只好自己动手,研究一下loadrunner. 发现loadrunner对web测试介绍比较多,牵涉到winsocket测试的资料极少,不过 ...
- 【软件测试面试】性能测试常问面试题?不备这些真不敢去面了...
目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...
最新文章
- category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
- php 不同权限登录界面,PHP中如何实现不同权限进入不同页面_后端开发
- activeMQ高并发发送消息异常解决方法
- [0715]Jsoi Test elevator
- 位数不足前面补0mysql语句_全网热议:监控补光灯爆亮闪瞎眼!你遇到过吗?
- [Kaggle] Spam/Ham Email Classification 垃圾邮件分类(spacy)
- html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...
- android一格一格向上的进度条,如何 使用 ProgressBar 进度条
- Java构造函数执行顺序
- Provisioning Services 7.6 入门到精通系列之二:基础架构环境
- goLang断言简单使用
- ZR1012 Zbox loves keyboard (dp)
- 【我的架构师之路】- golang源码分析之channel的底层实现
- maya建模模型变黑问题解决
- Java实现 蓝桥杯VIP 算法提高 分苹果
- 阿里云服务器如何防DDOS攻击
- 光E电做好个人理财规划理财如此简单
- 用了几年的iPhone 11竟然可以免费换电池
- 【两周快速入门pr】一、电子相册案例——快速带你走进剪辑的世界
- Docker(一):什么是Docker?
热门文章
- BZOJ 3430: [Usaco2014 Jan]Ski Course Rating(并查集+贪心)
- 计算机中的cnc代表什么意思,cnc加工是什么意思 什么是cnc加工中心
- 【Python爬虫系列教程 18-100】Python网络爬虫实战:小姐姐手把手教你爬取并下载英雄联盟所有英雄皮肤高清大图
- 禅道任务指派,没有新增数据
- call方法 java_webservice接口call调用方式
- konva文字大小自适应容器宽度
- JavaScript 中 Object.assign() 的用法
- java 获取父节点_Java根据子节点递归父节点
- 基于AutoJs实现的薅羊毛App专业版源码大分享
- 这两软件可以让你变优秀