这类问题之前也被问到很多次了,所以这次干脆整理一下,发个主题供同行们参考。
如果需要补充,也欢迎大家留言一起讨论。 如果想真的做好性能测试,需要学习的东西还是比较多的。
简单列一下吧。 1. 精通性能测试的基本概念,过程,方法论,了解性能工程;3. 扎实的计算机专业基础知识,包括计算机组成原理、操作系统、数据库原理、计算机网络原理;4. 熟悉至少1个常用的数据库产品,例如SQL Server或者 Oracle,能进行一般的数据库管理操作,熟悉SQL脚本的使用,熟悉常用的数据调优工具和常用的counter;5. 熟悉至少一个操作系统的原理,Windows或者Linux都可以,熟悉操作系统的体系架构、操作系统的重要基础概念,以及内存管理、存储/文件系统、驱动/硬件的管理、网络协议的实现及构成、性能的监控方法和原理,熟悉常用的counter;6. 熟悉至少一个web server 产品,例如apache,了解一般的配置和常用的counter;7. 熟悉至少一个应用服务器产品,例如tomcat,了解一般的配置,熟悉常用的服务器性能监控方法和原理,熟悉常用的counter;8. 至少熟悉TCP/IP协议,熟悉HTTP协议,至少见过并了解三层、四层交换或者路由器的使用和配置。
了解常用的与网络性能相关的counter;9. 了解一般的大型企业应用的部署架构和应用架构;10. 了解知名大型web应用、高并发量、高流量、实时响应要求高的超大规模网站的架构和优化历程;11. 熟悉统计学的基础知识、常用分析方法以及实验设计方法,了解数学建模相关的知识;12. 熟悉专属行业的业务知识和用户场景,例如电信行业的OSS系统所涉及的业务知识和用户场景,证券交易系统所涉及的业务知识和用户场景;13. 大量的实际性能测试及优化经验;14. 积极的参与到各类圈子、社团的讨论和交流、分享中。 暂时先想到了这么多,有兴趣的朋友可以一起讨论一下,相信每个人都有自己不同的经历和感想,可以跟其他人分享一下,提供参考。
另外,我之前也整理发布过不少性能测试方面的资料,从入门级的文章到 升级的必读都有一些,有兴趣可以参考。
性能测试的要求还是挺高的,性能测试要掌握的东西很多,首先一般性能测试需要借助一些工具,比如loadrunner,所以首先你得熟悉至少一种性能测试工具。然后就是性能测试工具中要用到的脚本,如果只靠工具本身所提供的录制功能,录制的脚本是肯定不能满足一些特殊的需求,所以你还得学一种编程语言,loadrunner用的是C语言,如果这些都没问题了,那么你还需要对要测试的系统相当了解,并且具备一些服务器,数据库及网络方面的知识,这样更能快速的找到系统的性能瓶颈及出现性能问题的原因,接下来你就可以执行你的测试脚本了。剩下的就是模拟用户情景,并对测试结果进行分析了,。当然这只是一部分,更深的东西还需要自己去挖掘。
仅代表个人意见,
你好,首先很欣赏你的这种态度。我在TestBird 招聘新人的时候,也有很多小朋友觉得自己有多了解工具运用,有多熟练步骤过程,自我感觉很不错。
其实,我却想说,性能测试的重点不在性能测试工具的学习上。
当然,你也通过分析系统的压力点、LR录制脚本,设置用户,做压力,分析结果,整理测试报告。完成了性能测试的整个过程。那么我说这个性能测试报告是有效的,但它不一定是有用的。
为什么呢?因为在性能测试报告中,在你所在的环境中,你是测出了这样的效果。并未掺假,全部真实的记录。
为什么说它不一定是有用的,你了解系统架构么?知道数据库、中间件、前端程序的运行方式和处理机制么?了解网络协议么?了解操作系统么?熟悉开发系统的语言么,如java JVM的内在机理知道么?这些都是系统运行的一部分,都在影响着系统的性能。如果不了解这些,你如何做出有价值的有参考意义的性能测试。
所以,学会这些性能测试工具很好,但是这仅仅是第一步。性能结果只是一些数据而已,知道你在做什么,为什么要做这些,做完后能给出有价值的东西,才是后面要慢慢修炼的。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 性能测试类型包括负载测试,强度测试,容量测试等。
负载测试(Load Testing):负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。负载测试强调的是系统能够达到的峰值指标。
强度测试(Stress Testing): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。强度测试强调的是系统在高负载情况下能够稳定工作,即在极端情况下系统的稳定性。
容量测试(Volume Testing):确定系统可处理同时在线的最大用户数。 如果想真的做好性能测试,需要学习的东西还是比较多的。
简单列一下吧。 1. 精通性能测试的基本概念,过程,方法论,了解性能工程; 3. 扎实的计算机专业基础知识,包括计算机组成原理、操作系统、数据库原理、计算机网络原理; 4. 熟悉至少1个常用的数据库产品,例如SQL Server或者 Oracle,能进行一般的数据库管理操作,熟悉SQL脚本的使用,熟悉常用的数据调优工具和常用的counter; 5. 熟悉至少一个操作系统的原理,Windows或者Linux都可以,熟悉操作系统的体系架构、操作系统的重要基础概念,以及内存管理、存储/文件系统、驱动/硬件的管理、网络协议的实现及构成、性能的监控方法和原理,熟悉常用的counter; 6. 熟悉至少一个web server 产品,例如apache,了解一般的配置和常用的counter; 7. 熟悉至少一个应用服务器产品,例如tomcat,了解一般的配置,熟悉常用的服务器性能监控方法和原理,熟悉常用的counter; 8. 至少熟悉TCP/IP协议,熟悉HTTP协议,至少见过并了解三层、四层交换或者路由器的使用和配置。
了解常用的与网络性能相关的counter; 9. 了解一般的大型企业应用的部署架构和应用架构; 10. 了解知名大型web应用、高并发量、高流量、实时响应要求高的超大规模网站的架构和优化历程; 。展开 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 性能测试类型包括负载测试,强度测试,容量测试等。
负载测试(Load Testing):负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。负载测试强调的是系统能够达到的峰值指标。
强度测试(Stress Testing): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。强度测试强调的是系统在高负载情况下能够稳定工作,即在极端情况下系统的稳定性。
容量测试(Volume Testing):确定系统可处理同时在线的最大用户数。 如果想真的做好性能测试,需要学习的东西还是比较多的。
简单列一下吧。 1. 精通性能测试的基本概念,过程,方法论,了解性能工程; 3. 扎实的计算机专业基础知识,包括计算机组成原理、操作系统、数据库原理、计算机网络原理; 4. 熟悉至少1个常用的数据库产品,例如SQL Server或者 Oracle,能进行一般的数据库管理操作,熟悉SQL脚本的使用,熟悉常用的数据调优工具和常用的counter; 5. 熟悉至少一个操作系统的原理,Windows或者Linux都可以,熟悉操作系统的体系架构、操作系统的重要基础概念,以及内存管理、存储/文件系统、驱动/硬件的管理、网络协议的实现及构成、性能的监控方法和原理,熟悉常用的counter; 6. 熟悉至少一个web server 产品,例如apache,了解一般的配置和常用的counter; 7. 熟悉至少一个应用服务器产品,例如tomcat,了解一般的配置,熟悉常用的服务器性能监控方法和原理,熟悉常用的counter; 8. 至少熟悉TCP/IP协议,熟悉HTTP协议,至少见过并了解三层、四层交换或者路由器的使用和配置。
了解常用的与网络性能相关的counter; 9. 了解一般的大型企业应用的部署架构和应用架构; 10. 了解知名大型web应用、高并发量、高流量、实时响应要求高的超大规模网站的架构和优化历程; 11. 熟悉统计学的基础知识、常用分析方法以及实验设计方法,了解数学建模相关的知识; 12. 熟悉专属行业的业务知识和用户场景,例如电信行业的OSS系统所涉及的业务知识和用户场景,证券交易系统所涉及的业务知识和用户场景; 13. 大量的实际性能测试及优化经验; 14. 积极的参与到各类圈子、社团的讨论和交流、分享中。收起。
我学网络的 用到的知识就只有一个 TCP/IP协议 但里面有包含很多的知识 有数据包的封装 帧格式(可以做冒充数据包软件) 3次握手 4次挥手(在这里面可以做很多关于建立连接的软件哦 比如 迅雷) ARP(在ARP中可以做个ARP攻击软件 或P2P终结者 ARP防火墙 等等) IP(可做IP欺骗软件) UDP/TCP(可做端口扫描软件 端口攻击软件 比如攻击端口80的WEB软件) 在应用层来说 有 公钥私钥密钥软件 加密软件 认证软件 传输层 可做SSL软件 比如你细心的话你会发现访问银行的时候浏览器会变成HTTPS 而不是HTTP了 还有很多 KERBEROS身法认证 PGP 都涉及到网络知识的 还有IP层的 IPSEC 现在很红的技术 还有链路层的 L2TP 我也没好好终结下 反正大体就这些了 哦 对了 还有流量控制 帧编号 我是学网络的 所以谈到的都是关于网络安全的软件和攻击方法。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:4.686秒