前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能测试-从入门到放弃(写给组内的两名实习生)

性能测试-从入门到放弃(写给组内的两名实习生)

作者头像
TestOps
发布2022-04-02 16:19:07
3540
发布2022-04-02 16:19:07
举报
文章被收录于专栏:TestOps云层TestOps云层

张彦松 • 前饿了么资深测试工程师

老张是我认识多年的性能测试高手,一心全栈性能测试,现终于出关,这篇文章就是实在。

-----云层

性能测试-从入门到放弃(这里说的放弃,是放弃杂念)

一、性能测试初级:

A、性能测试基础:专业基础课

1、操作系统原理、《鸟哥的私房菜》(操作系统应用)

2、数据库导论、Oracle数据库管理与开发(数据库应用,何明写的)

3、计算机网络基础

4、java基础;

5、软件工程基础,大学的教科书就行。

6、数据结构与算法:对后面提高有帮助,入门可以了解就好。

B、测试入门理论:专业课

1、软件测试知识:《软件测试》-周予滨 姚静翻译、《google软件测试之道》

2、性能测试基础理论:软件性能测试过程详解与案例剖析(段念);《Microsoft .NET Web应用程序性能测试》,《Microsoft .NET Web应用程序性能测试》

这本书虽然是讲.NET下的性能测试,但是我们重点关注作者的视角。看看作者从哪些方面来阐述性能测试,可以从中得到很多启发。

C、项目管理入门:专业课

1、项目管理、敏捷项目管理。分别找一本入门书看看就好。

D、工具

jmeter、LR以及相关的书籍。

E、工作中常见的分析方法:swot分析法、pdca循环原则、5w2h分析方法、smart原则目标管理、时间管理-紧急与不紧急、任务分解法(wbs)、

二八原则、鱼骨图分析法、OGSM计划法、头脑风暴法、名义群体法、德尔菲法,这十二种分析方法,我也不能完全掌握,但还是分享给你们吧。

二、性能测试提高:

一般三-五年到了提高这个层次,这个阶段需要了解的东西就很多了。因为到了这个阶段后,你会认识到,性能测试最重要的是对性能的认识。

你已经开始不满足只是用工具来发请求,以及写一些自己都不能深入理解的性能测试报告了。

开始了解跟性能相关的方方面面:这个时候,你会发现:了解被测对象,比测试本身重要的多。

如何了解被测试对象。我总结出一些小经验:从架构的角度去了解。

从技术架构、应用架构、业务架构去了解你的被测试对象。举一个简单的例子大家就明白了:技术架构相当于一个桶,这个通能装多少,

是桶的容量决定的。应用架构相当于桶里的小容器,如水杯。主要是方便水的存储与取出。或者更好的合理利用桶的空间。业务架构更多的理解为液体的类型:如水、油、硫酸等等。相信说到这里,大家应该明白了。为什么要去了解你的被测对象。你的被测对象,直接决定了

性能的瓶颈在哪里。

通俗的说法,就是请求的方式与处理的方式,以及处理的平台决定了系统的性能。

例子虽然简单,但是实际去了解起来,却非常费事。

这里面的知识分为两类,以基础架构为例:一类是纯粹的讲基础架构,另外一类则是将基础架构的实际应用。

互联网的架构非常的庞大,分为几大类:

1、传统的互联网架构:从前端到后端:cdn(前段静态缓存)、F5(硬负载均衡)、nginx/haproxy(软负载均衡)、tomcat(应用服务器)、redis/memcache(缓存服务器)、

oracle/mysql(数据库服务器)

2、大数据的生态圈:底层HDFS,上面跑MapReduce/Tez/Spark,在上面跑Hive,Pig。或者HDFS上直接跑Impala,Drill,Presto。这解决了中低速数据处理的要求。Storm是最流行的流计算平台

还有一个有些独立的模块是KV Store,比如Cassandra,HBase,MongoDB(大数据这块的知识,我也在学习中)

3、人工智能与机器学习。这是这几年才火起来的,这块的基础架构我没有深入了解过。但是也很重要。因为有架构就有性能,有需求就有市场。

以上只是标注了与基础架构相关的知识。关于应用架构与业务架构的知识,我还无法系统的列出来。

基础架构这块的学习:可以在网上买书,先针对每个节点进行基础的了解。然后重点放在基础架构应用上。这里推荐一些书:

从全局来讲解系统性能相关:

《构建高性能的web站点》、《大型网站技术架构》、《淘宝技术十年》、《大型网站服务器容量规划》、《亿级流量网站架构核心技术》

从局部讲解系统性能相关:

《深入理解java虚拟机》、《从paxos到zookeeper分布式一致性原理与实践》、《oracle9i10g编程艺术》、《高性能mysql》、《habase权威指南》(学习中)、

《大话存储》、《大话处理器》、《大型网站系统与java中间件实践》、《hadoop权威指南》(学习中)、《大规模分布式存储系统》(学习中)、《rabbitmq》、

缓存数据库相关的书籍,我没有找到好的推荐。

纯性能优化相关:

《java性能优化权威指南》、《性能之巅》、《java性能优化 让你的java程序更快 更稳定》。

上面只是对互联网技术架构的一点小小的认识,还不包括人工智能、机器学习。因为这些方便,我确实积累的少了。不敢妄谈。

至于应用架构、业务架构之类的,确实没有找到系统介绍的好书。听说在这几本书中可以窥探一二:《领域驱动设计》、《架构之美》、《企业应用架构模式》、

《企业架构》。

我个人的本意是想把商业战略、企业架构(业务架构、IT架构)、运营架构都弄明白是怎么回事。因为我觉得,这些跟性能都有莫大的关系,也算是对我从业这么多年来的一个交代。

每个人,最终还是要向自己交代的。

三、不仅仅关注性能,领域结合是产生创新的方式之一。

可能你会认为,这个阶段还会有更多高深的东西。我的理解,这个阶段更多的拓展学习了。

有了第二个阶段的学习,你已经具备了深厚的内容。基本没有你看不明白的东西了。

接下来需要拓展自己视野:

深入了解并学些一些自动化相关的知识。

深入学习一些测试开发的知识。

了解一些前沿的模式:如devops、testops

关注核心论坛或者各种峰会对性能的新的认识。

把你的知识拓展到性能、并发、高可用、安全、伸缩、扩展等领域去。

了解各大互联网公司对技术这块的理解。

了解一些有意思的新观点,如:泊松分布、排队论、MaKov模型、Monte carlo模拟、自相似理论、admda理论

四、第四点不知道写点什么了,也许应该去研究一下历史,如《二十四史》,又或者是《明朝那些事》。毕竟是人文生活,还是要回归社会的。

总述:一家之言,不可不信,也不可全信。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TestOps 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档