| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 性能测试工具工作原理 -> 正文阅读 |
|
[开发测试]性能测试工具工作原理 |
一:性能测试工具模型 广义地说,性能测试工具是指性能测试过程中使用到所有工具,但是我们习惯上把“性能测试工具”定位于PerformanceRunner、LoadRunner、SilkPerformer一类的工具。 关于性能测试的几个误区: 1、认为性能测试是使用性能测试工具进行测试。 性能测试工具只能帮助你实施性能测试,并不能帮助你完成性能测试的需求、设计和分析。 2、认为性能测试工具可以完成性能测试结果分析工作。 性能测试工具只是能够根据你的要求以各种方式提供报表,这些报表可以被您用来分析系统性能状况。 3、不清楚性能测试工具的录制/回放与功能测试工具的录制/回放的区别。 功能测试工具的录制/回放一般是针对GUI的操作录制,脚本中记录的是用户对控件的操作,例如按下了“确认”按钮或是在“姓名文本框”中输入了ABCD等内容,这时因为功能测试工具主要是通过操作和数据来验证功能的正确性,评价的主要标准是GUI的正确性(界面内容的正确性)。而性能测试工具录制的是服务端和应用之间的通信数据,而不是应用的GUI操作。^_^^_^理解了这一点,不难明白为什么在进行性能测试脚本录制的时候,需要首先选择录制的协议了。 4、不清楚何时选择何种协议。 选择何种协议取决于应用和客户端之间的通信协议。 二:性能测试工具架构 1、虚拟用户脚本产生器(VirtualUserGenerator):通过一个Proxy作为客户端和服务器之间的中间人。 2、压力产生器(Player):压力器扮演着“产生负载”的角色。 3、用户代理(Agent):运行在负载机(LoadMachine)上的进程,该进程于产生负载压力的进程或是线程写作完成“产生负载”的功能。如一台PC可以顺利运行200个左右的VU,但对需要1000个VU的情况显然很难指望一台PC,这时需要通过多台及其进行协作,“用户代理“帮助产生”步调一致“的VU。 4、压力调度和监控系统(Conductor):直接与用户交互的主要内容,压力调度可以根据用户的场景要求,设置各种不同脚本的VU数量,设置同步点等,而监控系统则可以对各种数据库,应用服务器、服务器的主要性能计数器进行监控。 5、压力结果分析工具(Analysis):用来辅助进行测试结果的分析。 三:性能测试脚本录制时的协议类型 不要想当然地根据开发语言来决定协议的选取,这样子极有可能导致录制后的脚本不能回放成功。 几点说明的内容: 1、使用Socket协议可以对任何类型的应用通信进行录制,但这种录制生成的脚本很可能没有任何意义。 2、在对应用间的通信进行录制生成脚本后,对脚本进行回放,有时会出现回放无法继续的情况(停留在某个步骤无法进行下去),此时应该考虑是否使用了合适的协议。 协议选择参考方案 1、Web应用:应用特点:采用J2EE或是dontNet结构,HTTP/HTTPS协议。 2、C/S应用: a、客户端程序以ADO、OLEDB方式连接后台数据库,选择后台数据库类型选择相应的协议。 b、客户端程序以ODBC方式连接后台数据库,ODBC协议。 c、其他协议,根据具体协议类型进行分析。 3、组件: a、COM/DCOMcom/dcom协议。 b、EJB,EJB协议。 4、服务: a、WebService,WebService协议。 b、Mail服务器,SMTP/POP3协议。 c、FTP服务器,FTP协议。 5、应用服务器: a、OracleApplicationServer,OracleApplicationServer协议。 b、SAP,SAP协议。 c、Tuexdo,Tuexdo协议。 四:性能测试工具的选择与评估 这个问题通常会有两个层面的意义:第一,创建还是购买?第二,如果购买,如何选择一种商业工具? 1、创建还是购买? 总而言之,“购买”的方式可以以较低的总体成本快速获得可用的软件,但如果被测试对象本身有一定的特殊需求,好使用”创建“的方式构建适合的测试工具。 2、测试工具的评估和选择过程。 (1)列出需要的工具功能列表 (2)工具比较 (3)成本分析 工具的学习曲线和必要的培训成本也是必须考虑的一个要素。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:38:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |