性能测试工具原理

     一: 性能测试工具模型

     广义地说, 性能测试工具是指性能测试过程中使用到所有工具, 但是我们习惯上把“性能测试工具”定位于LoadRunner、SilkPerformer一类的工具。

      关于 性能测试 的几个误区:

   1、 认为性能测试就是使用性能测试工具进行测试。

          性能测试工具只能帮助你实施性能测试, 并不能帮助你完成性能测试的需求、设计和分析。

   2、 认为性能测试工具可以完成性能测试结果分析工作。

        性能测试工具只是能够根据你的要求以各种方式提供报表, 这些报表可以被您用来分析系统性能状况。

  3、   不清楚性能测试工具的录制/回放 与 功能测试工具的录制/回放的区别。

         功能测试工具的录制/回放一般是针对GUI的操作录制, 脚本中记录的是用户对控件的操作,例如按下了“确认”按钮或是在“姓名文本框”中输入了ABCD等内容, 这时因为功能测试工具主要是通过操作和数据来验证功能的正确性, 评价的主要标准是GUI的正确性(界面内容的正确性)。 而性能测试工具录制的是服务端和应用之间的通信数据, 而不是应用的GUI操作。  ^_^  ^_^ 理解了这一点, 就不难明白为什么在进行性能测试脚本录制的时候, 需要首先选择录制的协议了。

4、   不清楚何时选择何种协议。

      选择何种协议取决于应用和客户端之间的通信协议。



二:  性能测试工具架构

    1、 虚拟用户脚本产生器(Virtual User Generator):通过一个Proxy作为客户端和服务器之间的中间人。

    2、  压力产生器(Player): 压力器扮演着“产生负载”的角色。

   3、  用户代理(Agent): 运行在负载机(Load Machine)上的进程,该进程于产生负载压力的进程或是线程写作完成“产生负载”的功能。 如一台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/DCOM    com/dcom协议。

                              b、   EJB,  EJB协议。



4、 服务:         a、 WebService  ,  WebService协议。

                            b、   Mail服务器,   SMTP/POP3协议。

                          c、    FTP服务器,    FTP协议。

5、 应用服务器:   a、 Oracle Application Server,          Oracle Application Server协议。

                                  b、  SAP,  SAP协议。

                                  c、   Tuexdo,  Tuexdo协议。



四:   性能测试工具的选择与评估

           这个问题通常会有两个层面的意义:  第一, 创建还是购买?    第二,  如果购买, 如何选择一种商业工具?

      1、 创建还是购买?

          总而言之, ”购买“的方式可以以较低的总体成本快速获得可用的软件, 但如果被测试对象本身有一定的特殊需求, 最好使用”创建“的方式构建适合的测试工具。

    2、  测试工具的评估和选择过程。

     (1)列出需要的工具功能列表

      (2)工具比较

     (3)成本分析

    工具的学习曲线和必要的培训成本也是必须考虑的一个要素。

猜你喜欢

转载自sunshineyao.iteye.com/blog/727438