LoadRunner——性能测试测试计划(十七)
{性能测试测试计划}
{性能测试项目}
一、【性能测试的测试流程】
1.1【分析需求】
根据客户的需求(产品规格说明书等),来熟悉被测系统的业务,进而划分 功能模块,找出性能测试功能点。
性能测试功能点并非所有功能点,重点关注以下几点:
A)业务中最核心的功能点
B)用户使用最多的功能点
C)与数据库密切相关的功能点(比如对业务的增、删、改、查)
了解被测系统的技术架构(前后段的框架、开发语言),选择合适协议。
1.2【搭建测试环境】
本质:选择合适的测试工具,使用合法的数据对已安装好的被测系统展开测试
A) 选择测试工具:
在测试机中安装Loadrunner11.0,
负载机安装负载生成器Load generator并启动代理程序Agent。
B)准备合法数据:初始的业务数据(比如:登录用户的信息,商品信息等)
C)安装被测系统:被测系统能正常运行(应用和数据库服务器要分开部署)
{具体事项要参照性能测试计划}
1.3【编写性能测试计划】
该计划是由产品、开发、测试等多方共同参与评审完成,并作为性能测试的 指导性文件,主要包含的内容大致有:
1)软件概述
2)测试资源:测试工具、测试环境软硬配置要求
3)测试范围、模块、功能点 -- 不是所有功能都要测性能
4)项目进度安排、人员分工安排
5)测试策略:基准测试、并发测试、综合场景测试、疲劳强度测试、递增测试...
6)测试用例、测试数据、场景设计:一般一个场景设计为一个用例
7)提交物:各种文档、脚本、场景文件、结果报告、性能测试报告...
8)应急预案:出现常见问题的解决方法
1.4【使用第一大组件录制、调试、增强脚本】
根据性能测试计划中的测试用例来录制、调试生成脚本,并增强脚本。
增强脚本的技术:
插入事务、检查点、集合点、参数化、关联、运行时设置等
1.5【使用第二大组件设置、监控、运行场景】
根据性能测试计划中的场景策略设置场景、监控资源、运行场景以及收 集测试结果
1.6【使用第三大组件收集、分析测试结果,并指出性能瓶颈,提供优化建议】
1.7【编写性能测试报告】
二、【项目名称:稿件管理系统】
2.1:搭建测试环境
安装被测系统:
A)解压后双击liferay.exe文件,选择安装目录;
B)安装完成后,关闭响应的服务:apache的服务:httpd、
Tomcat、java、IIS、oracle、mysql
C)启动程序中所有服务:mysql和tomcat,且服务不能关闭。
D)打开被测系统:http://localhost/web/guest/home
E)测试数据:登录用户信息(用户名:test01~test50,密码:1111)
真实项目部署:
客户端(测试机)-- Web服务器 -- DB服务器
2.2:熟悉被测系统,列出性能测试点:
参考产品需求规格说明书、用户手册、开发设计文档等等
熟悉业务,划分模板,列出性能测试点,并非所有功能点
1)登录模板
a. 用户登录 user_login
b. 用户退出
2)稿件管理模板
a. 稿件查询 search_manuscript
两种查询方式:
1) 不带条件的查询,查询到所有的稿件,分页显示
按照稿件最后一次修改时间降序排序
分页查询的好处:
a. 让用户只关注局部有用数据,获得更好的体验;
b. 如果一次查出所有记录,大大影响系统性能;
服务器内存、网络等消耗巨大
2) 带条件查询:编号 标题 版本 内容
单个条件查询,或者多个条件查询
多条件之间为与关系,要么查不到,要么查到一条
思路1:需要对业务数据进行参数化
模拟各种条件的查询,更真实,让数据查询范围更均衡。
思路2:系统中不同功能点之间有联系,比如增加稿件后
重新查询稿件显示的内容和之前不同。
--系统中的信息在不断变化,对测试是否有影响。
b. 稿件增加
单个添加,稿件信息需输入标题和正文内容
操作:点击保存并返回或者保存,稿件状态为不批准;
点击批准,稿件状态为批准。
c. 稿件显示
分页显示,每页最多显示20条信息。
d. 稿件状态
批准、不批准、到期
e. 稿件删除
单个删除
部分删除
全部删除
3)文档上传下载模块
a. 文档上传
上传到文件夹,
上传的文件类型:.txt .jpg .doc
上传文件的大小:不超过1M
b. 文档查询
c. 文档删除
增加稿件:add_manuscript
提供稿件标题、内容,增加稿件,系统自动提供id
因为:id一般与业务无关 是由系统自动产生的
为了区别不同稿件记录
增加的最新稿件一般排在最前面,旧的稿件往后偏移
显示稿件:show_manuscript
1) 根据具体条件查询指定稿件,再显示
2) 没有条件直接查询最新稿件,再显示
更灵活,有一定的不确定性,注意交叉业务,关注不同功能点之间的相互影响。比如其它用户增加了稿件,当前用户查询到新的信息。
3、文档上传下载模块:
查询文档:search_document
根据文档名称(无需后缀),进行查询
分为两种情况:查到、查不到 都是正常的结果
上传文档:upload_document
建议新建一个文件夹,比如dir1,要求目录名用英文,避免录制后脚本中中文编码问题;
目前业务中新建的文件夹,会分配一个唯一id,删除后重建id会不同,对脚本有影响。
建议在C:\LR_Project\file目录下,新建等待上传的文档
好比是客户端需要的测试数据:要求文件大小几十KB
day01.txt day02.txt d1.doc d2.doc p1.jpg
业务要求:
原文件名可以重复使用;
重命名不能重复;
启发:必须要参数化,数据不能重复
参数化要想好策略?UEA组合
说明部分没有要求,目前 原文件名-新文件名
2.3、设计性能测试计划
{参照模板:性能测试计划模板}
重要组成部分:
1)项目的业务流程
2)测试资源的软硬件配置
3)测试数据
4)性能测试指标
5)测试策略
6)测试用例设计
7)场景的设置及策略
【测试环境】
需要多部门配合完成,包括系统架构师、系统管理员、数据库管理员、 项目经理、测试经理、开发工程师、实施工程师...
1)测试机环境 (模拟客户端)
<1>若干台PC测试机的硬件配置 --联机测试,与负载用户数有关
<2>测试机的操作系统:Windows/Linux...,浏览器ie
<3>选择合适的测试工具:LoadRunner11 需要破解认证lisence
<4>网络环境:测试机在同一网段中,局域网中测试
2)被测系统环境 (模拟服务器)
<1>若干台服务器主机的硬件配置 分布式部署
应用服务器、数据库服务器等分开部署 便于监控
便于让负载更均衡,发现那台服务器更容易出现性能瓶颈。
<2>服务器主机的操作系统:winsever2003、Linux/Unix
<3>中间件产品:提供公共服务的产品软件
a. 应用服务器软件:apache、Tomcat、Weblogic、WebSphere等
比如在Tomcat中,部署Web App,将app源程序包放到 Tomcat\webapps目录下,就能提供的web服务:提供一个访问资 源的路径在客户端使用
b. 数据库管理系统DBMS: Mysql、Oracle、DB2
<4> 在Tomcat中,部署Web应用、以及相关配置
<5> 数据库中准备大量业务初始数据
比如当前项目中,可以登录的用户数、稿件信息大约有5000 多条,作为后续测试时使用的测试数据;
<6> 网络环境:和测试机同一网段,一般在局域网搭建,便于管理
当前测试环境:一机测试
测试机和服务器都部署在同一台电脑中,同时模拟三层架构.
Liferay中部署好了Tomcat6、JDK1.6、Mysql5和初始数据.
真实测试环境:分开部署.
【测试数据准备】
一般用于做参数化测试时使用,首选参数类型:file,文件名:*.dat
方式1:使用多个文件存储数据,
方式2:共享同一个文件中的数据,需注意数据格式:
多个参数(列)之间数据的分隔符(默认是英文的逗号)
比如:2个参数
Username,password
Test01,1234 (正确)
Test02,1234,5566 (错误,会被认为3个参数)
Test03,1234#5566 (正确)
数据库中的第五个数据最前面要空格一下(数据库的规定)
数据1:登录用户数据 (用户名和密码) ->user.dat
数据2:显示稿件 ->show_manuscript.dat
数据3:添加稿件(title,content) ->add_manuscript.dat
数据4:上传文档() ->upload_document.dat
数据5:查询文档() ->search_document.dat
数据6:查询稿件() ->search_manuscript.dat
【性能测试指标】
平均响应时间≤ 5秒
最大在线用户数50人
最大并发用户数: 20人
吞吐量: 17280byte
每秒事务数TPS1: 0.34/秒 ,TPS2: 0.46/秒
事务成功率≥ 99%
系统可以连续稳定运行12小时。
系统资源使用率
CPU使用率 ≤ 80%
内存使用率 ≤ 80%
I/O使用率 ≤80%
【测试策略】
基准测试:单用户,单测试点的测试
目的:是获取单用户执行时的系统各项性能指标,为多用户并发 和综合场景的性能测试分析提供参考依据.
并发测试:多用户在线、并发、递增测试
目的:是在一定用户压力下获取系统性能指标,进而分析、确定 系统存在的性能瓶颈,为系统的优化和调整提供依据.
综合场景测试:多用户、多脚本、执行一段时间
目的:最大限度地模拟系统的真实场景,来预知系统投入使用后 的真实性能水平。从而对系统做出相应的优化及调整.
疲劳强度测试:压力更大的综合场景测试
目的:使用最大并发用户数,执行更长的时间来最大限度地模拟 真实环境,考察系统的性能.
【测试用例设计】
根据功能模块中的性能测试点,分别对系统的处理能力和系统资源 使用率进行监控考察:
测试点:覆盖基准测试、并发测试、综合场景测试、疲劳强度测试
登录、显示稿件、查询稿件、添加稿件、上传文档、查询文档
系统处理能力:用户数、响应时间
系统资源使用率:cpu、内存、磁盘、网络
【设置场景】
将测试用例录制成脚本后设置其对应的用户数,用户的行为,
运行时设置,参数策略、并发策略、系统监控以及必要时联机测试
IP欺骗等.
2.4、脚本录制及增强
分别对以上6个测试点按照测试用例去录制脚本:
登录脚本-》user_login
查询稿件脚本-》search_manuscript
显示稿件脚本-》show_manuscript
添加稿件脚本-》add_manuscript
上传文档脚本-》upload_document
查询文档脚本-》search_document
录制:
协议:Web[HTTP/HTML]
Url:http://localhost/web/guest/home
Option:启动页面标题检查点,编码:utf-8
插入关注的事务,适当添加检查点,设置参数化、集合点等等
2.5、设计场景及策略并运行
2.6、收集数据生成图表报告,分析数据,指出性能瓶颈,提出优化建议
2.7、编写性能测试报告
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具