本周六,由破冰给我们分享主题“性能测试”,听上去尤其高深莫测的词汇,虽然本次课程的专业技术工具没怎么接触过,但了解是学习的基础,感谢分享。
以下为本次课程主题的回顾,先记录后续补充所得:
性能测试
1、什么是性能测试?
主要测试系统的性能是否满足用户要求。
主要通过自动化测试工具模拟正常、峰值、异常负载状况,对系统的各项性能指标进行测试。
2、性能测试包含哪些?
压力(强度)测试:通过高负载的手段来使服务器资源处于极限状态,测试系统在极限状态下长时间运行是否稳定,找出因资源不足或资源争用而导致的错误。
并发测试:测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄露、线程锁、资源争用问题。
负载测试:通过测试对象在不同工作量条件下的性能行为,确保系统在超出最大工作量的情况下仍能正常运行。
配置测试:确认服务器在不同的配置下性能的可接受性。
可靠性测试:给出可靠性的定量估计值,对软件可靠性测试中观测到的失效数据进行分析,评估可靠水平
3、功能测试转换为性能测试的前提?
1)思维转换:功能-->性能
2)多角度看问题
用户:注重软件对操作的产生的响应时间
运维:注重系统对用户提供稳定,可持续的服务
开发:注重调整设计代码实现
3)性能测试知识储备
1)HTML语言基础:了解元素,属性,链接,表单,URL,点击进入教程;
2)C语言--Loadrunner使用语言,了解分支循环、变量、函数定义等;
3)HTTP协议:客户端和服务器端请求和应答的标准,了解host,get,状态码,请求报头等;
4)XML参考教程:树形,成对出现
5)JSON:了解数据请求,http请求;
6)数据库:了解增删改查;
4、性能测试的专业术语
并发数(虚拟用户数):同一时间内,在线用户与系统产生交互的数量
注册用户数:所有用户注册数量,并无交互
在线用户数:当前时间段内用户登陆数量,并无交互
事物:一系列请求组成
TPS:每秒通过的事物数,衡量事物处理能力的指标
吞吐量:一次性能测试过程中网络上传输的数据量的总和
吞吐率:吞吐量/传输时间,单位时间内处理的客户端请求数量
点击率:每秒钟用户向Web服务器提交的HTTP请求数量
思考时间:用户在网页的停顿间隔时间
请求响应时间:从客户端发出请求到得到响应的整个过程的时间
资源利用率:对不同系统资源的使用程度,针对Web服务器、操作系统、数据库服务器、网络等
5、性能测试流程
以Lr(LoadRunner)为例
1)代码组件(VuGenLoad Generator):捕获最终用户业务流程和创建自动性能测试脚本
2)场景组件(Controller):组织、驱动、管理和监控负载测试
3)分析组件(Analysis):查看、分析和比较性能结果
具体流程:
图 / 破冰提供其中,测试点提取要考虑到测试指标,可参考
历史数据、客户方提出、与相关人员达成一致、同行业项目、业内通用规则、自己测试评估决定
用例执行结束后,生成测试报告,用分析工具进行分析比较结果
6、测试框架体系
1)LoadRunner:适用于界面性能/接口性能/HTTP
2)Jmerer:适用于接口/HTTP,常用框架(enkins+Jmeter+Ant自动化集成环境搭建)
3)SoapUI:适用于webservice,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试
4)Linux命令:监控系统的一些指标,如CPU、 IO
5)服务器中间键的优化:Apache、Tomcat配置文件优化
6)Mysql优化:抓取大范围,分析小范围,通常使用分库分表,水平垂直切分,多库多表的优化方式
7)Jvm调优:了解Java的一些基础,比如年轻代,年老代、持久代等(分代回收)
GC:垃圾回收机制,用来释放内存中的资源的
检查内存泄露工具:jprofiler_windows
8)Ngrinder接口性能测试:性能自动化测试平台
9)Redis项目+框架
网友评论