1、软件性能测试培训初级教程软件性能测试培训初级教程 个人介绍 Q名:Player 工作年限:7年 学历:硕士 目前职位:测试经理 工作内容:性能测试,集成测试,功能测试?性能测试基础知识?LoadRunner 基础知识?Vuser-用户行为模拟器?Controller-性能测试的指挥中心?Analysis-寻找系统瓶颈的得力助手 培训内容简介:I,性能测试基础知识 1.1 性能测试的含义:通过自动化测试工具模拟生产运行的业务压力或用户使用 场景来测试系统的性能是否满足生产性能的要求。1.2 性能测试的目的:性能测试的目的:?评估系统的能力?识别系统的弱点?系统调优?验证稳定性、可靠性 I,性能测
2、试基础知识 1.3 性能测试策略:性能测试策略:?性能测试(Performance Testing)?负载测试(Load Testing)?压力测试(Stress Testing)?并发测试(Concurrency Testing)?可靠性测试(Reliability Testing)?1.4 性能测试需要的相关技能:?测试专业技能?软件编程技能?网络知识?操作系统知识?数据库知识?中间件知识?行业知识?个人素养 I,性能测试基础知识 I,性能测试基础知识 1.5 性能测试流程:Performance Test Process Test Phases Task Delivery Assess
3、Phase Collect Requirements,test scope,test goal Performance check list Plan Phase Finalize test scope,milestones,goal,tools Performance Plan Design Phase Design the detail test case;Create test script Performance test case Execute Phase Create Scenario;Execute Scenario Performance test result Perfor
4、mance Tuning Phase Analyze issues and re-testing Re-test result Post Production Phase Review the final performance test result Performance Test report II,LoadRunner 基础知识基础知识?LoadRunner的组件?LoadRunner工作原理?LoadRunner在性能测试中的映射?LoadRunner常用术语?LoadRunner的协议?HTTP协议详解 II,LoadRunner 基础知识 2.1 LoadRunner 的总体架构
5、图 LoadRunner的三大组件?Vuser:用户行为模拟器单脚本测试?Controller:性能测试控制台运行测试场景?Analysis:结果统计找瓶颈 II,LoadRunner 基础知识 2.2 LoadRunner 在性能测试中的映射:LoadRunner 性能测试的过程:性能测试的过程:?制定计划:测试点,测试环境,测试数据,测试方法,etc?开发脚本:业务操作,参数化,etc?创建运行场景:测试模型,并发数,运行时间,etc?执行测试:自动执行?监视场景:TPS,响应时间,吞吐量,CPU占用,硬盘占用,etc?分析测试结果:图表,日志。II,LoadRunner 基础知识 2.3
6、 LoadRunner 常用术语:?事务(Transaction):定义事务以获取这一操作的时间。?思考时间(Think Time):执行两个连续操作间等待的时间?集合点(Rendezvous):用以同步虚拟用户以便恰好在同时刻执行任务。?检查点(Check point):用以验证程序的运行结果是否与预期结果相符。?场景(Scenario):即测试场景,主要表现为Controller中设计与执行测试用 例中的用户场景。II,LoadRunner基础知识基础知识 2.4 LoadRunner的协议:LoadRunner 所支持协议按应用领域分类:所支持协议按应用领域分类:?电子商务:FTP、LD
7、AP、Palm、PeopleSoft 8 mulit-lingual、SOAP、Web(HTTP/HTML)和双 Web/WinSocket 协议。?客户端/服务器:DB2 CLI、DNS、Informix、MS SQL Server、ODBC、Oracle(2 层)、Sybase Ctlib、Sybase Dblib 和 Windows Sockets 协议。?自定义:C 模板、Visual Basic 模板、Java模板、Javascrpt 和 VBscrpt 类型的脚本。?Enterprise Java Bean:EJB测试和 Rmi-Java 协议。?布式组件:适用于 COM/DCOM
8、、Corba-Java 和 Rmi-Java 协议。?中间件:Jacada 和 Tuxedo(6、7)协议。?流数据:Media Player(MMS)和 Real 协议。?邮件服务:Internet 邮件访问协议 (IMAP)、MS Exchange(MAPI)、POP3 和SMTP。?ERP/CRM:Baan、Oracle NCA、Peoplesoft-Tuxedo、SAP-Web、SAPGUI、Siebel-DB2 CLI、Siebel-MSSQL、Siebel-Web 和 Siebel-Oracle 协议 III,Vuser-用户行为模拟器用户行为模拟器 3.1 Vuser用途::通过
9、录制终端用户执行的操作来生成用户操作脚本。以便作为负载测试的基础。脚本开发步骤:脚本开发步骤:?录制用户的操作:业务操作?增强测试脚本:参数化?配置Run-Time setting?在Vuser中独立运行脚本:单交易测试?将脚本集成到Controller:压力测试 III,Vuser-用户行为模拟器 3.2 录制脚本:录制脚本:1、协议选择 2、录制选项设置(以web协议为例)?选择录制时所用的浏览器?录制方式选择:HTML or URL?自动关联策略 III,Vuser-用户行为模拟器 3.3 增强脚本:增强脚本:?插入事务点?插入集合点?插入检查点?插入特殊函数?控制脚本流程:if els
10、e?字符串函数:strcmp?输出函数:lr_output_message?LR的标准函数:lr_save_string III,Vuser-用户行为模拟器 3.4 配置Run-Time setting:?Think time 策略?Log记录策略?Error发生时的处理策略?生成虚拟用户的方式?检查点策略?网络情况设置?脚本的迭代控制 III,Vuser-用户行为模拟器 在Vuser中运行脚本:保证脚本运行的正确性。1、VU里单用户单循环run(SUSI)2、VU里单用户多循环run(SUMI)3、Controller里多用户单循环run(MUSI)4、Controller里多用户多循环ru
11、n(MUMI)IV,Controller 性能测试指挥中心 4.1 多进程/多线程方式:用户可以在Controller的run time setting中选择 Vuser的运行方式:多线程/多进程。IV,Controller 性能测试指挥中心 4.1 4.1 设计测试场景:设计测试场景:?手工场景(Manual Scenario):创建虚拟用户组,设置虚拟用户数目以及其它Run-time信息。?面向目标场景(Goal-Oriented Scenario):先定义测试要达到的目标,然后LR自动基于这些目标创建场景,运行过程中,会不断地把结果和目标相比较,以决定下一步怎么。IV,Controlle
12、r 性能测试指挥中心 4.2 创建手工测试场景:创建手工测试场景:?创建虚拟用户组?配置虚拟用户?详细配置虚拟用户?设置集合点策略?配置虚拟用户运行时设置?配置Load Generator?设置网络带宽配置?设置方案(Schedule)IV,Controller 性能测试指挥中心 4.3 执行期间查看场景?查看用户组(Vuser Group)状态?事务详细信息?错误详细信息 4.4 监视场景?联机监视器?在Controller中启动监控器?配置监视器 IV,Controller 性能测试指挥中心 4.5 关注的测试结果(Analyse之外):对象 计数器名称 Memory Available Mbytes Memory Page/sec Page Faults/sec Pages Input/sec Page Reads/sec Transition Faults/sec Process Working Set System Processor Queue Length Processor%Processor Time PhysicalDisk%Disk Time 从ouput.mdb中读取测试结果数据,进行分析工作 V,Analysis 统计结果 Analysis的功能如下:?有助于确定系统的性能瓶颈?方便我们对数据进行进一步处理?能自动以图形或表格式展现报告