资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1“最后一公里最后一公里”系列培训系列培训之之性能测试实践性能测试实践2主题w测试准备w脚本开发与调试w测试执行w测试结果评估w测试后跟踪w最佳实践3第一章 测试准备w建立性能目标w了解应用软件状况w了解应用部署平台w建立系统负载模型w制定项目计划w制定测试方案4建立测试目标w选取关键用例(重要程度/频率)nMission-CriticalnHeavy throughputnDynamic contentw并发用户数 (系统级/应用级/事务级)w事务吞吐率需求w响应时间需求 (从用户习惯推算或估算)w系统资源占用需求w高可用性需求(如故障转移/OS集群/数据库集群/中间件集群)w可扩展性需求(如能否支撑未来几年的吞吐)w任务性质(关键路径/历时)5了解应用软件w系统体系架构( b/s,c/s,三层)以及核心frameworkw系统的并发性/安全性w采用的开发语言w通信协议(rmi,web,socket,oracle)w通信端口分工以及是否动态端口w加密/解密/签名算法wSOCKET协议消息数据结构w错误特征码w网络包的keepalive or http session timeoutw当前所处的应用阶段(未测试/已功能测试)6了解软件部署平台w物理部署 (异地?数据中心?)w硬件架构(机型/CPU/MEM/IO/网络)w操作系统(版本/补丁/关键内核参数)nSysctln/proc/*w数据库 (类型/版本/专用or 共享/启动参数/存储布局)w中间件 (产品模式/线程数/内存参数)w软件部署模式 7建立系统负载模型w业务层面n关键用例吞吐率以及行为习惯n用户体验w系统负载n高峰/平常场景吞吐率nCPU/IO/MEM/NETWORK,瓶颈资源?w建立容量模型 :TeamQuest(可选)w数据来源:服务器端监控/数据库日志/专家估算w自顶向下估算8制定项目计划w组织架构及各自职责w测试资源(人力/工具)w搭建测试环境(SCM或者开发组建,QA验证)w进度计划w沟通管理(例会,工作规范)w风险规避(技术攻关先行)9制定测试方案w测试需求w测试方法与策略w测试环境w测试场景与用例w异常处理流程10第二章 开发调试脚本w选取协议w增强脚本w调试脚本w试运行脚本11选取协议w依赖Client/Server 消息通信机制w优先采用上层协议(如rmi socket)w交互过程采用底层协议优先采用APIw变长网络包,加密解密优先采用APIw为了测试,变更程序适应测试回放 (如DOS攻击/随机验证码/控件回送应答码,或者工作流去处人工参与环节)w为了测试,部分变更流程(增加/删除事务成对出现)12增强脚本w参数化用户输入w关联数据w增加验证点 (如特征字)w增加函数提高可重用性w为提高性能封装函数成DLL13增强脚本-搭建LR编译环境w#include “LR_INSTALL_PATHinclude*.h”wLIB: lrun50.libwDLL:lrun50.dllw工程options path:LR_INSTALL_PATHw工具: dependency walkerw函数格式n#define LRDLLEXPORT _declspec(dllexport) _stdcall nint LRDLLEXPORT foo(int count)nnnFunc.def文件: EXPORTS foo14调试脚本wVuGen 单次回放wVuGen 多次回放wController 单脚本多用户(并发性)wController多脚本多用户(验证是否脚本依赖)w打开extend log。关注http/1.1响应码,socket mismatch,oracle ora-*等关键字15调试脚本_验证工具wWinpcap/EtherealwTcpdump/Windumpw利用SQL查询插入/更新/修改效果w或者sql_trace,p6spy截获sql16试运行脚本w验证脚本无错w验证load generator分布合理w初步估算压力强度与结果合理性w删除无用的性能计数器17第三章 测试执行w监控操作系统/网络/数据库多个层面w监控应用运行状况/日志w确认施压机资源充分,确保尽力施压w抽查关键功能确认可用w建议运行12小时以上,确认无内存泄露/任务累积18测试执行_监控工具wLoadrunner/Sitescope/TeamQuestwUNIX: top,sar,vmstat,iostat,netstat,以及HP-UX glance ,AIX topaswOracle: OEM/statspack/ quest toad/ quest central for OraclewMysql:mysql administrtorwWebLogic: http:/IP:7002/console/wJBoss:http:/IP:8080/web-console/wJVM: JRockit Memory Leak Detector 19第四章 测试结果评估w收集LR测试数据w收集应用日志w收集系统日志 (如/var/log/*,oracle: *.trc)w分析LR性能结果与OS/DB/中间件/APP参数之间的匹配度(little定律)w评估测试用例覆盖度对测试结论的影响面w编写测试报告 (技术与格式审核)20第五章 测试后跟踪w项目总结 (技术以及过程改进)w如何提高脚本重用率w调优与硬件扩容的平衡w实际运营与系统负载建模的差异度21第六章 最佳实践w测试方编制需求框架,需求方或运营方明确需求细节w关键点结对审核w技术攻关先行w重视数据异常,数据分析结合SA/DBA专家意见w结合知识栈,提取系统调优的合理建议22小结wLoadrunner对高层协议支持良好,但对底层协议与加密/随机算法/异步通信支持较差w性能测试难点不在Loadrunner工具本身,难在技术攻关以及对系统的全局把握w建立软件各个层面的知识库/工具箱23Loadrunner学习资源wMI KB: http:/support.mercury.com/cgi-bin/portal/CSO/index.jspwLoadrunner.info:http:/www.wilsonmar.com/1loadrun.htmw51testing:http:/www.51testing.com/24 Q & A?25 谢谢大家! 主讲人: 梁剑钊梁剑钊 Email:jianzhao.liangjzalibaba-inc.com Ext:3245 Msn:liangjianzhao163.com
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号