教学课件·网络测试技术与应用.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件·网络测试技术与应用.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 网络 测试 技术 应用
- 资源描述:
-
1、 第二部分 WEB应用测试1 web应用程序测试入门软件测试过程目标系统(被测系统)测试用例输入数据输入数据希望的希望的输出结果输出结果usernamepassword登录成功得到实际输出结果实际输出结果?录入输入数据输入数据常见的目标系统Web系统应用程序应用程序游戏游戏多机应用多机应用B/S架构C/S架构架构单机应用单机应用移动应用移动应用B/S架构的目标系统互联网浏览器浏览器浏览器浏览器目标系统(被测系统)网站系统用户与网站系统的交互过程打开浏览器,打开浏览器,键入网站系统键入网站系统的的URL地址地址网站系统向网站系统向网站系统发送发送HTTP请请求求网站系统收到网站系统收到并解析并解
2、析HTTP请请求求网站系统处理网站系统处理HTTP请求请求网站系统将请网站系统将请求处理结果封装求处理结果封装成成HTTP响应响应浏览器收到并浏览器收到并解析解析HTTP响应响应得到得到HTML页面页面用户做出下一用户做出下一步操作步操作HTTP请求HTTP响应网站系统的演进单机多机集群用户数量增加用户数量增加业务更加复杂业务更加复杂网络速度变快网络速度变快提升用户体验提升用户体验单机网站系统组成应用程序应用服务器数据库文件多机网站系统组成应用程序应用服务器数据库文件文件服务器数据库服务器应用缓存技术应用程序应用服务器数据库文件文件服务器数据库服务器分布式缓存服务器1分布式缓存分布式缓存服务器
3、2分布式缓存本地缓存应用程序本地缓存应用服务器2使用集群技术应用服务器文件服务器数据库服务器分布式缓存服务器1分布式缓存分布式缓存服务器2分布式缓存本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件分布式缓存服务器2分布式缓存数据库改造应用程序本地缓存应用服务器2应用服务器文件服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备写操作读操作同步同步CDN和反向代理分布式缓存服务器2分布式缓存应用程序本地缓存应用服务器2应用服务器文件服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡
4、器数据库文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备反向代理服务器CDNCDN文件服务器2文件使用分布式文件系统分布式缓存服务器2分布式缓存应用程序本地缓存应用服务器2应用服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件服务器1文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备反向代理服务器CDNCDN使用NoSQL和搜索引擎文件服务器2文件分布式缓存服务器2分布式缓存应用程序本地缓存应用服务器2应用服务器数据库服务器1本地缓存应用程序1Nginx/LVS/H5负载均衡器数据库文件服务器1文件分布式缓存服务器1分布式缓存数据库服务器2数据库主
5、备反向代理服务器CDNCDNNoSQL数据库搜索引擎拆分应用服务器文件服务器2文件分布式缓存服务器2分布式缓存应用程序本地缓存A业务应用服务器2数据库服务器1Nginx/LVS/H5负载均衡器数据库文件服务器1文件分布式缓存服务器1分布式缓存数据库服务器2数据库主备反向代理服务器CDNCDNNoSQL数据库搜索引擎A业务应用服务器1应用程序本地缓存B业务应用服务器2B业务应用服务器1消息队列服务器WEB系统技术架构的革新系统技术架构的革新未曾停止未曾停止等待你的发现 第二部分 WEB应用测试1 web性能测试软件性能测试 狭义的性能测试是指在给定条件基准的前提下被测目标系统能达到的运行程度。测
6、试被测目标系统在给定环境下的运行性能,度量其性能与预定义目标的差距。广义的性能测试则是压力测试、负载测试、强度测试、并发(用户)测试、大数据量测试、配置测试、可靠性测试等和性能相关的测试统称。软件性能测试 定义:在极限负载(大数据量、大量并发用户等)情况下的测试,查看应用系统在峰值使用情况下操作行为,以及当负载降低后系统的状态,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。分类:压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试稳定性压力测试和极限负载情况下导致系统崩溃的破破坏性压力测试坏性压力测试。目的:发现在什么条件下系统的性能变得不可接受,并通过对
7、应用程序施加越来越大的负载,直到发现应用程序性能下降的拐点。几种性能测试间的区别 负载测试:载重20吨,汽车是否能以100公里时速行驶;或者载重20吨,汽车的最快速度是多少。压力测试:在20吨、30吨、40吨的情况下,汽车是否还能正常行驶,当载重多少时汽车将无法行驶,当汽车无法行驶后减少载重量,汽车是否还能继续正常行驶。容量测试:如果要去汽车以时速100公里的速度行驶,最多可以载重多少吨。为什么要实现性能测试自动化 自动化性能测试的核心是向预部署系统施加工作负载,同 时评估系统性能和最终用户体验。应用程序对目标用户的响应是否足够迅速?应用程序是否能够游刃有余地处理预期用户负载?应用程序是否能够
8、处理业务所需的事务数?在预期和非预期用户负载下应用程序是否稳定?是否能够确保用户在使用此应用程序时感到满意?HP LoadRunner介绍与负载测试设计LoadRunner工具使用一工具简介二工具方法论三VuGen的使用四Controller的使用五Analysis的使用工具简介LoadRunner产品包括五个核心组件:Virtual User Generator:虚拟用户生成器虚拟用户生成器,简称VuGen,用来录制被测目标系统客户端的操作,并自动生成虚拟用户脚本。Controller:控制器控制器,它是整个负载测试的控制中心,用来管理、设计、驱动及监控负载测试场景的执行以及被测目标系统的资
9、源使用情况。Load Generator:负载生成器负载生成器,可以是压力机操作系统中的一个进程或线程,它执行虚拟用户脚本以模拟真实用户的行为对被测目标系统发出请求并接收响应,进而模拟真实的负载。Analysis:分析器分析器,它读取控制器收集的测试过程数据,分析负载测试的结果,进一步生成测试报告。Launcher:加载器加载器,负责提供一个集成的操作界面,从中测试人员可以启动LoadRunner的所有其他组件。术语 场景 场景文件根据性能要求定义每次测试期间发生的事件。Vuser 在场景中,LoadRunner 用虚拟用户(或称 Vuser)代替真实用户。Vuser 模仿真实用户的操作来使用
10、应用系统。一个场景可以包含数十、数百乃至数千个 Vuser。Vuser 脚本 Vuser 脚本描述 Vuser 在场景中执行的操作。由Init、Action、End三部分组成,其中在虚拟用户设置中可以让Action部分重复执行多次,而Init和End部分仅能执行1次。事务 要评测服务器性能,需要定义事务。事务代表要评测的终端用户业务流程。术语 系统用户数系统用户数Nu:使用被测目标系统的总人数 在线用户数在线用户数Nou:高峰时同时访问被测目标系统在线人数 并发用户数并发用户数Ncu:在同一时刻与服务器进行了交互的在线用户数三者存在如下关系:Nu Nou Ncu性能需求 一个拥有4000员工的
11、公司,需要开发一个仅供公司内部员工使用的办公自动化系统(OA系统),最高峰时有500人同时在线人同时在线。对于系统的典型用户来说,一天之内用户使用访问OA系统的平均时长为平均时长为4小时小时,通常用户仅会在8小时工作时间小时工作时间内访问该系统。那么,系统的并发用户数是多少呢?给出了一个并发用户数的推导公式:o3ucucucucuNLNTNNNL为在线用户的平均会话时长,T为考察时间长度,cuN为并发用户数的峰值。o5004=25083=250+3 250=297ucucucucuNLNTNNN工具方法论1.测试计划:测试前要规划测试对象的性能需求,定义压力指标;2.脚本编制:捕获实际用户的业
12、务操作流程,形成自动脚本;3.定义场景:设定所采用的负载方案、业务流程组合和虚拟用户数量;4.执行场景:设定压力管理和执行压力场景,进行性能参数的监控;5.分析结果:使用分析器导出结果生成分析图表;分析结果;6.诊断结论:给出诊断结论;7.调优:针对诊断结果进行调优;生成Vuser的流程 录制业务流程 修改强化脚本 参数化 关联 检查点 集合点 事务化参数化 参数化的作用 通过将一组待提交的数据进行变量化来达到在脚本运行时引入多样数据的目的;关联 关联的作用 将执行过程中从服务端获取即时数据保存在某个变量中,在后续业务中进行提交的机制LoginSession:1a1cc941New Order
13、 SubmitSession:1a1cc941Success1a1cc941=1a1cc941FailedNew Order SubmitSession:1a1cc8401a1cc840!=1a1cc941录制时Sending:LoginReceiving:1a1cc941Sending:Order1a1cc941Receiving:Success回放时Session:1a1cc840Sending:LoginDim ps;Receiving:value-psSending:OrderpsReceiving:Successps=1a1cc840=1a1cc840New Order Submit
14、Session:psps=1a1cc840=1a1cc840检查点 检查点的作用 从业务过程的角度检查用例结果是否正确;运行正确的两个层次:服务器响应正确;业务处理正确;HTTP状态码 LoginUser=wangddPasswd=dd123登录成功Http200密码错误,登录失败Http200服务器崩溃没有响应Http500服务响应正确不等于业务处理正确集合点 集合点的作用 保证用户的绝对并发执行;在模拟多用户对业务流程进行操作时,能够模拟绝对的并发压力;启动点施压点启动点施压点事务化事务化的作用 LoadRunner中默认一个action是一个事务,统计事务处理时间是以整个action来统
15、计。例如,脚本中包含用户登录用户登录、机票检索机票检索、订票订票、支付支付等活动,那么此时度量的结果是完成上述所有操作的总时间。如果希望知道虚拟用户完成每个不同操作的时间,需要使用事务(Transaction)对上述操作进行界定。通过创建事务,可以将连续的业务过程进行事务化分割,能够明确统计每一步骤的处理性能。Controller的使用 场景的设定 运行时设定 监控设定 网络模拟及IP欺骗场景设定 Manual Scenario(手工场景设置)手工设置压力的分布和增长、降低的策略,测试时工具根据设定的压力分配各条脚本的访问用户数量分布,可以选择根据百分比或直接设置绝对数量两种;适用于对预计访问
16、压力的性能评估需要。Goal-Oriented Scenario(目标场景设置)设定压力运行的性能目标,由工具自动调整访问压力来尝试达到;适用于对系统性能需求明确进行验证需要。场景设定 Scenario的设置starttime convert scenarioload generatorsschedule enable ip spoofer Results Rendezvous运行时设定 Run Logic Pacing Think Times Miscellaneous Speed Simulation Proxy Preferences Content Check监控设定 性能监控 tra
17、ns response time trans/sec(passed)网络监控throughput 服务器监控%processor time(Memory)available bytes%disk timeprocessor queue length 专项监控Analysis的使用 导出结果 读取图表 组合图表 取样间隔总结 使用LoadRunner配合合理的方案,能够对系统进行有效的性能测试;性能测试是一项团队合作的工作,需要各个技术角色的参与,从被测系统的开发人员到被测系统的软硬件维护人员多方的配合;HTTP协议状态码的含义100:Continue 101:witching Protocol
18、s 200:OK 201:Created 202:Accepted 203:Non-Authoritative Information 204:No Content 205:Reset Content 206:Partial Content 300:Multiple Choices 301:Moved Permanently 302:Found 303:See Other 304:Not Modified 305:Use Proxy 307:Temporary Redirect 400:Bad Request 401:Unauthorized 402:Payment Required 403:
19、Forbidden404:Not Found 405:Method Not Allowed 406:Not Acceptable 407:Proxy Authentication Required 408:Request Time-out 409:Conflict 410:Gone 411:Length Required 412:Precondition Failed 413:Request Entity Too Large 414:Request-URI Too Large 415:Unsupported Media Type 416:Requested range not satisfia
20、ble 417:Expectation Failed 500:Internal Server Error 501:Not Implemented 502:Bad Gateway 503:Service Unavailable 504:Gateway Time-out 505:HTTP Version not supported Run Logic脚本块由一组脚本组成的集合,脚本块区别于脚本组在于工具的脚本组是固定的,而脚本块使客户自定添加的;脚本组可以含有脚本块;脚本组脚本组是脚本或脚本块的组合,工具有三类固有的脚本组:Init:Init脚本组在一个虚拟并发用户的整个执行周期内只会运行一次;所
21、有该组的脚本或脚本块都只会顺序执行一次;Run:Run脚本组在一个虚拟并发用户的整个执行周期内可以运行多次;End:同Init脚本组End脚本组在一个虚拟并发用户的整个执行周期内只会运行一次;IterationIteration特指的是Run脚本组的迭代;设置Iteration迭代次数时,将影响整个Run脚本组的迭代次数;当Run脚本组需要内迭代时,则可以通过脚本块来进行内循环的设置;Preferences advanced-Winlnet replay instead of Sockets(Windows only)1.Socket和Winsocket,Socket是通用的TCP/IP的协议
22、实现,Winsocket是Socket在Windows下的针对windo Windows ws特性的封装实现,能发挥win Windows dows的特性但通用性较不足;2.Winlnet是实现了Winsocket的动态库;Content Check 将系统的错误封装成便于识别和定位的日志记录;检索服务器返回的数据包是否含有目标内容,存在即说明错误发生;通过LoadRunner进行负载测试负载测试步骤 准备工作,在Jforum系统中注册test01-test10共10个用户 录制脚本,创建Vuser 创建场景,运行测试 形成测试报告,分析结果创建创建VUSER创建用户登录和登出用户登录和登出的
23、Vuser脚本启动界面单击创建/编辑脚本。这时将打开 VuGen 起 始页。创建Web脚本在欢迎使用 Virtual User Generator 区域中,单击新建脚本按钮。这时将打开“新建虚拟用户”对话框,显示“新建单协议脚本”选项。创建Web脚本请确保“类别”是热门协议。VuGen 将列出适用于单协议脚本的所有可用协议。向下滚动列表,选择 Web(HTTP/HTML)并单击创建,创建一个空白 Web 脚本。开始录制单击Next单击Start Recording准备开始录制 在URL中填入JForum论坛的链接地址,注意此处需要替换成虚拟机中论坛的需要替换成虚拟机中论坛的IP地地址址 htt
24、p:/10.254.73.20:8080/jforum/forums/list.page打开IE 初始化Vuser,记录生成的多个事件 点击“登入”连接登录 输入之前已经注册的正确用户名和密码 单击“登录”按钮注销 单击“注销test01”连接。停止录制 单击浮动窗口上的“停止”按钮 出现录制概要“录制概要”包含协议信息以及会话期间创建的一系列操作。VuGen 为录制期间 执行的每个步骤生成一个快照,即录制期间各窗口的图片。保存脚本 单击工具栏保存按钮,输入需要保存的文件名,如login-logout。查看录制的脚本 单击“Action”连接,查看刚刚录制的Vuser脚本要在脚本视图中查看脚本
25、,请选择视图 脚本视图,或者单击脚本按钮。查看录制的脚本可以在该窗口中直接输入 C 或 LoadRunner API 函数以及控制流语句。回放录制的脚本 单击Tasks中的Verify Replay按钮,回放已经录制的脚本 回放成功后,出现右图所示提示。此时仅能说明录制脚本执行正确。回放录制的脚本 若需要确保运行逻辑正确,需要对比录制和回放时快照快照的差别。VuGen为录制期间执行的每个步骤生成一个快照,即录制期间各窗口的图片。添加事务单击单击Add Transaction的链接的链接单击单击New Transaction按钮,先后按钮,先后添加添加login和和logout两个事务两个事务查
展开阅读全文