目录:导读

  • 前言
  • 一、准备工作
  • 二、测试计划
  • 三、测试脚本设计与开发
  • 四、测试执行与管理
  • 五、测试分析
  • 六、总结

前言

性能测试的目的是发现系统处理能力的瓶颈而系统调优才是最终的目的,如果能进一步提高各业务服务器、数据库服务器的调优技能,对性能测试工作来说是如虎添翼。

性能测试针对
1、系统的性能指标
2、建立性能测试模型
3、制定性能测试方案
4、制定监控策略
5、在场景条件之下执行性能场景
6、分析判断性能瓶颈并调优
7、最终得出性能结果来
8、评估系统的性能指标是否满足既定值

有人说,我们在做项目的时候,就没有指标,老板只说一句,系统压死为止。听起来很儿戏,但这样的场景不在少数。在我看来,把系统压死也算是一种指标。至于你用什么手段把系统“压死”,那就是实现的问题了

一、准备工作

1、系统基础功能验证
性能测试在什么阶段适合实施?切入点很重要!一般而言,只有在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。

2、测试团队组建
根据该项目的具体情况,组建一个几人的性能测试team,其中DBA是必不可少的,然后需要一至几名系统开发人员(对应前端、后台等),还有性能测试设计和分析人员、脚本开发和执行人员;在正式开始工作之前,应该对脚本开发和执行人员进行一些培训,或者应该由具有相关经验的人员担任。

3、工具的选择
综合系统设计、工具成本、测试团队的技能来考虑,选择合适的测试工具。
最起码应该满足一下几点:
①支持对web(这里以web系统为例)系统的性能测试,支持http和https协议;
②工具运行在Windows平台上;
③支持对webserver、前端、数据库的性能计数器进行监控;

4、预先的业务场景分析
为了对系统性能建立直观上的认识和分析,应对系统较重要和常用的业务场景模块进行分析,针对性的进行分析,以对接下来的测试计划设计进行准备。

二、测试计划

测试计划阶段最重要的是分析用户场景,确定系统性能目标。
1、性能测试领域分析
根据对项目背景,业务的了解,确定本次性能测试要解决的问题点;是测试系统能否满足实际运行时的需要,还是目前的系统在哪些方面制约系统性能的表现,或者,哪些系统因素导致系统无法跟上业务发展?

确定测试领域,然后具体问题具体分析。

2、用户场景剖析和业务建模
根据对系统业务、用户活跃时间、访问频率、场景交互等各方面的分析,整理一个业务场景表,当然其中最好对用户操作场景、步骤进行详细的描述,为测试脚本开发提供依据。

3、确定性能目标
前面已经确定了本次性能测试的应用领域,接下来就是针对具体的领域关注点,确定性能目标(指标);

其中需要和其他业务部门进行沟通协商,以及结合当前系统的响应时间等数据,确定最终我们需要达到的响应时间和系统资源使用率等目标;
例如:
①登录请求到登录成功的页面响应时间不能超过2秒;
②报表审核提交的页面响应时间不能超过5秒;
③文件的上传、下载页面响应时间不超过8秒;
④服务器的CPU平均使用率小于70%,内存使用率小于75%;
⑤各个业务系统的响应时间和服务器资源使用情况在不同测试环境下,各指标随负载变化的情况等;

4、制定测试计划的实施时间
预设本次性能测试各子模块的起止时间,产出,参与人员等等。

三、测试脚本设计与开发

性能测试中,测试脚本设计与开发占据了很大的时间比重。

1、测试环境设计
本次性能测试的目标是需要验证系统在实际运行环境中的性能外,还需要考虑到不同的硬件配置是否会是制约系统性能的重要因素!

因此在测试环境中,需要部署多个不同的测试环境,在不同的硬件配置上检查应用系统的性能,并对不同配置下系统的测试结果进行分析,得出最优结果(最适合当前系统的配置)。
这里所说的配置大概是如下几类:
①数据库服务器
②应用服务器
③负载模拟器
④软件运行环境

平台测试环境测试数据,可以根据系统的运行预期来确定,比如需要测试的业务场景,数据多久执行一次备份转移,该业务场景涉及哪些表,每次操作数据怎样写入,写入几条,需要多少的测试数据来使得测试环境的数据保持一致性等等。

可以在首次测试数据生成时,将其导出到本地保存,在每次测试开始前导入数据,保持一致性。

2、测试场景设计
通过和业务部门沟通以及以往用户操作习惯,确定用户操作习惯模式,以及不同的场景用户数量,操作次数,确定测试指标,以及性能监控等。

3、测试用例设计
确认测试场景后,在系统已有的操作描述上,进一步完善为可映射为脚本的测试用例描述。
用例大概内容如下:
用例编号:查询表单_xxx_x1(命名以业务操作场景为主,简洁易懂即可)
用例条件:用户已登录、具有对应权限等。。。
操作步骤:
①进入对应页面。。。。。。
②查询相关数据。。。。。。
③勾选导出数据。。。。。。
④修改上传数据。。。。。。
PS:这里的操作步骤只是个例子,具体以系统业务场景描述;

4、脚本和辅助工具的开发及使用
按照用例描述,可利用工具进行录制,然后在录制的脚本中进行修改;比如参数化、关联、检查点等等,最后的结果使得测试脚本可用,能达到测试要求即可;
PS:个人而言,建议尽量自己写脚本来实现业务操作场景,这样对个人技能提升较大;一句话:能写就绝不录制!!!

四、测试执行与管理

在这个阶段,只需要按照之前已经设计好的业务场景、环境和测试用例脚本,部署环境,执行测试并记录结果即可。

1、建立测试环境
按照之前已经设计好的测试环境,部署对应的环境,由运维或开发人员进行部署,检查,并仔细调整,同时保持测试环境的干净和稳定,不受外来因素影响。

2、执行测试脚本
这一点比较简单,在已部署好的测试环境中,按照业务场景和编号,按顺序执行我们已经设计好的测试脚本。

3、测试结果记录
根据测试采用的工具不同,结果的记录也有不同的形式;现在大多的性能测试工具都提供比较完整的界面图形化的测试结果,当然,对于服务器的资源使用等情况,可以利用一些计数器或第三方监控工具来对其进行记录,执行完测试后,对结果进行整理分析。

五、测试分析

1、测试环境的系统性能分析
根据我们之前记录得到的测试结果(图表、曲线等),经过计算,与预定的性能指标进行对比,确定是否达到了我们需要的结果;如未达到,查看具体的瓶颈点,然后根据瓶颈点的具体数据,进行具体情况具体分析(影响性能的因素很多,这一点,可以根据经验和数据表现来判断分析)。

2、硬件设备对系统性能表现的影响分析
由于之前设计了几个不同的测试环境,故可以根据不同测试环境的硬件资源使用状况图进行分析,确定瓶颈是再数据库服务器、应用服务器抑或其他方面,然后针对性的进行优化等操作。

3、其他影响因素分析
影响系统性能的因素很多,可以从用户能感受到的场景分析,哪里比较慢,哪里速度尚可,这里可以根据2\5\8原则对其进行分析;
至于其他诸如网络带宽、操作动作、存储池、线程实现、服务器处理机制等一系列的影响因素,具体问题具体分析,这里就不一一表述了。

4、测试中发现的问题
在性能测试执行过程中,可能会发现某些功能上的不足或存在的缺陷,以及需要优化的地方,这也是执行多次测试的优点。

六、总结

只要你有能力去做的事就一定要去做,不要给自己留下任何遗憾,人生最重要的不是所站的位置,而是所朝的方向。

一个没有目标责任制的人就像一艘没有过舵的船,永远漂流不定,只会到达失望失败和丧气的海滩。

生于忧患,死于安乐。如果你想跨越自己目前的成就,就不能画地自限,而是要勇于接受挑战。对畏畏缩缩的人来说,真正的危险正在于不敢冒险!

软件测试之——性能测试,性能测试流程(超级详细)相关推荐

  1. 软件测试之BUG处理流程

    什么是软件测试缺陷? 测试行业的习惯名称是bug管理. 在软件或程序开发过程中,程序员不合理的编码和不合理的系统设计结构都会导致报错,影响系统程序的正常运行. 而软件测试的目的之一就是通过手动测试或自 ...

  2. 测试过程中用shell的地方_软件测试之学习shell流程控制结构

    条件表达式概述: 在各种条件结构和流程控制结构进行的各种判断,然后根据不同条件执行不同的操作 格式为:[ 条件表达式 ],比如:[ 1 -eq 2 ] && echo "tu ...

  3. 性能测试怎么做?性能测试重点和各项性能测试流程(超级详细)

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  4. 软件测试之性能测试面试题合集

    软件测试之性能测试面试题合集 1.描述一下你们公司的性能测试流程? 1)分析性能需求(用户使用最频繁的场景进行测试),确定性能指标(例如:事务通过率100%,top99%是5秒,最大并发是2000,C ...

  5. Jmeter_性能测试(一):性能测试的概念,性能测试的流程和术语,性能测试脚本的制作和调试

    Jmeter_性能测试(1):性能测试的概念 性能测试的概念 性能测试是指通过特定方式,对被测系统按照一定策略施加压力,获取系统 响应时间.TPS(Transaction Per Second).吞吐 ...

  6. SARscape做DInSAR全流程-以2022年1月青海门源地震为例(超级详细)

    SARscape做DInSAR全流程-以2022年1月青海门源地震为例(超级详细) 0 DInSAR原理简介 1 数据采集和SARscape Preferences预设 1.1 SAR数据采集 1.2 ...

  7. ESP8266 Non-OS SDK 开发之旅 基础篇① 初识 Non-OS SDK,史上超级详细手把手教小白20分钟快速搭建SDK软件开发环境,完成第一个例子Hello World!

    文章目录 1.前言 2. SDK概述 2.1 SDK使用流程 2.2 ESP8266 HDK -- 硬件开发工具 2.3 ESP8266 SDK -- 软件开发工具包 2.3.1 Non-OS SDK ...

  8. JavaScript学习(八十七)—流程控制语句的总结,超级详细!!!

    JavaScript学习(八十七)-流程控制语句的总结,超级详细!!! 一.流程控制概念 流程控制概念:在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的.很多时候我们要通过控制代码 ...

  9. 全国大学生软件测试大赛Web应用测试(六)Jmeter性能测试具体流程

    全国大学生软件测试大赛Web应用测试(六)Jmeter性能测试具体流程 Jmeter性能测试环境配置. Jmeter性能测试得分技巧 1.登录慕测官网 2.点击练习.搜索关键词"Web应用测 ...

  10. uni-app - 最详细 H5 网页接入微信登录功能,提供公众号配置与详细注释示例代码(移动端网页实现点击登录按钮后 调用微信公众号授权登录功能 详细讲解接入流程与详细示例代码)官方最新超级详细教程

    前言 关于 uni-app 项目中接入微信授权登录的文章鱼龙混杂,各种乱代码.过时.没注释.不讲流程原理,非常难用. 本文实现了 uni-app H5 移动端网页项目,实现微信授权登录功能,详细讲解接 ...

最新文章

  1. 【第23周复盘】懒癌犯了,拖到今天!
  2. 产品需求管理经验分享
  3. webstrom js 代码不高亮
  4. Java面试题库,java核心技术第十版下载
  5. linux文件系统_Linux的文件系统简介
  6. 别傻啦,不会高数,你连人话都听不懂
  7. 使用MegaCli工具,在线调整raid配置
  8. 一个简单的shell文件备份脚本
  9. 安装phpmyadmin
  10. CentOS安装jre环境
  11. 单片机原理与应用技术
  12. 泰克Tektronix示波器上位机软件NS-Scope介绍
  13. c语言 界面编程 毕业设计,基于c语言的毕业设计.docx
  14. 怎么用计算机看亲戚关系,小米亲戚计算器怎么用?如何利用小米计算器查询亲戚关系...
  15. 广电网络电视怎么服务器连接中断,怎么解决广电网络看电视卡
  16. Linux服务器搭建--NTP服务器的搭建与配置
  17. 北京内推 | 微软亚洲研究院机器学习组招聘研究型实习生
  18. Python 爬虫实战:分析豆瓣中最新电影的影评(词云显示)
  19. visio2007两线相交 跨线
  20. 阿里云物联网之一:创建产品和设备

热门文章

  1. JabRef中文手册 及 LocalCopy插件
  2. 【有奖互动】3D内容平台开版啦,参与互动话题赢超值京东卡!
  3. Node.js 切近实战(四) 之图书管理系统(图书查询)
  4. 作别硬件拼杀时代,PPTV电视能否靠“内容”决胜千里?
  5. 利用接口:设计动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。
  6. 研究性学习的MOOR平台--关键是对接了综评以及资料共享
  7. Word文档内容如何添加双删除线
  8. 安装Windows10系统
  9. 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾(三)
  10. npm 更新 npm_这些NPM技巧将使您成为专业人士