分享

阿里测试领域大牛深扒万字测试武功秘籍

 江海博览 2023-10-30 发布于浙江

前言

作者曾经有幸在国内最大的电信设备供应商工作过一段时间,其间听一些资深老员工讲过-个故事。这个故事可以被当做笑话来听,不过笑笑之后却总也忘不掉。话说20 世纪90年代初的某一天,国内第一台自主研发的大型固话交换机,终于千呼万唤地“闪亮”登场了。于是乎,这家公司马上向用户大力推销这款设备,但是用户提出了一个很实际的问题,彻底难住了这家公司。问题很简单,就是需要一份性能测试报告来证明这台设备真能支持宣称的话务容量。那时候还没有成熟的电信领域性能测试工具,该怎么办呢﹖幸好有聪明的领导想出了一个中国式的解决办法。

某天下午,全公司的员工都放下了手头的工作,每人怀抱一部老式电话机(还要靠转盘来拨号),等领导倒数“三、二、一”后集体打电话。据说当时人数不够,达不到用户要求的通话量,甚至出现了一个人操作两部电话机的情况。作者没能一睹当时的盛况,一直深感遗憾。

幸好科学技术发展到今天,已经有了多款成熟的性能测试工具,否则测试人员一定会发疯。试想当前的电信交换机话务容量早已翻了不知多少倍,如果还要靠人海战术去测试,即使全公司的员工双手双脚去操作电话机,也肯定是忙不过来的。测试人员应该为测试技术的飞速发展而感到欢心鼓舞。那么现在是否就可以高枕无忧了﹖答案是否定的。当前测试人员面临的问题不再是有没有性能测试工具,而是有没有合适的性能测试工具。

第一章 性能测试

阿里测试领域大牛深扒万字测试武功秘籍

性能测试是通过自动化的测试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是当负载逐渐增加时,测试系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。如图1-1所示为一个典型的性能测试曲线。

第二章 JMeter基础知识

Apache JMeter是100%的Java桌面应用程序,用于对软件做压力测试。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证被测程序返回了期望的结果。为了保证最大限度的灵活性,JMeter 允许使用正则表达式创建断言。

Apache JMeter可以用于对静态和动态资源〔文件、Servlet、Perl脚本、Java对象、数据库和查询、FTP服务器等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。测试人员可以使用它做性能图形分析或者测试服务器/脚本/对象在大并发负载下的表现。

阿里测试领域大牛深扒万字测试武功秘籍

第三章 WEB性能测试脚本录制与开发

测试计划描述了JMeter运行时将会执行的--系列步骤。一个完整的测试计划会包含一个或多个线程组、逻辑控制器、采样器、监听器、定时器、断言和配置元件。

阿里测试领域大牛深扒万字测试武功秘籍

第四章 数据库性能测试脚本开发

本节主要介绍如何创建一个简单的测试计划用于测试数据库服务器。在本节中测试人员会创建10个并发用户,而每个并发用户会发送两个SQL请求到数据库服务器。另外,每个用户都会运行测试3遍。因此,总共发送的测试数目是(10 并发用户)×(2 请求)×(重复3遍)=60 JDBC 请求。要构建这一测试计划,测试人员需要使用到的测试元件包括:线程组(ThreadGroup)、JDBC请求(JDBC Request)、图形结果(Graph Results)。

第五章 FTP性能测试脚本开发

FTP是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”,用于在Internet 上控制文件的双向传输。同时,它也是一个应用程序(Application)。用户可以通过它把自己的PC与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息.FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),查看远程计算机上有哪些文件,然后把文件从远程计算机上复制到本地计算机,或把本地计算机的文件传送到远程计算机上去。

阿里测试领域大牛深扒万字测试武功秘籍

第六章 LDAP性能测试脚本开发

本节将主要介绍LDAP的基本概念、适用范围及LDAP相对于关系数据库的优势和劣势。另外还将介绍一些LDAP的简单实例,帮助读者建立对LDAP的感性认识,为后续掌握LDAP性能测试的方法打下基础。LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但更简单并且可以根据需要定制。与X.500不同,LDAP支持TCP/P协议,这对访问Internet来说是必需的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。一个简单的LDAP组件配置案例,如图6-1所示。

阿里测试领域大牛深扒万字测试武功秘籍

第七章 WebService性能测试脚本开发

Web Service是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能过Internet 来访问并使用这项在线服务。它是一种构建应用程序的普遍模型,可以在任何支络通信的操作系统中实施运行;它是一种新的Web应用程序分支,是自包含、自描述、模约应用,可以发布、定位、通过Web调用。Web Service是一个应用组件,它逻辑性地为应用程序提供数据与服务。各应用程序通过网络协议和规定的一些标准数据格式(Http、、Soap)来访问web Service,通过Web Service内部执行得到所需结果。Web Service可以从简单请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发调用它部署的服务。如图7-1所示是一个 Web Service的典型例子。

阿里测试领域大牛深扒万字测试武功秘籍

第八章 JMS性能测试脚本开发

JMS即Java消息服务(Java Message Service),应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。

阿里测试领域大牛深扒万字测试武功秘籍
阿里测试领域大牛深扒万字测试武功秘籍
阿里测试领域大牛深扒万字测试武功秘籍

第九章 服务器监控测试脚本开发

在本节中,作者将会介绍如何创建一个测试计划来监控Web服务器。服务器监控功能对于压力测试和系统管理都非常有用。在压力测试工作中,服务器监控功能可以提供关于服务器性能的额外信息,这能帮助JMeter用户直观地看到服务器性能与系统响应时长之间的关系。作为一个系统管理工具,服务器监控功能可以通过一个控制台监控多个服务器。JMeter服务器监控功能是专门针对Tomcat 5 的 status servlet设计的。从理论上来说,任何支持JMX (JavaManagement Extension)的servlet容器都能部署该servlet,以提供同样的监控信息。

阿里测试领域大牛深扒万字测试武功秘籍

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多