性能测试是一个非常有趣的领域。从一方面来看,它是一门既定的学科,涉及数千人。另一方面,考虑到它已有 20 多年的历史,关于它的信息并不多。而且,特别是,没有多少书。我们有很多关于性能建模、性能分析、容量规划、调优和优化的书籍,但很少有关于性能测试本身的书籍。
性能测试的一个问题是它依赖于工具。因此,在谈论性能测试时,您可以选择使其与工具无关(从而使讨论变得更加通用)或使用特定工具进行说明(从而在某种程度上将潜在读者限制为该特定工具的用户——并限制了本书的生命周期随着工具的发展)。
我只推荐几本不错的通用书籍: Web 应用程序的性能测试指南 (也 可在线获取 )和 Ian Molyneaux 的 应用程序性能测试的艺术 (现在是第二版)。 Scott Barber 的一本小型电子书《Load Testing for Dummies》可能是不错的入门读物( 可免费注册在线获取 )。
对于刚接触性能测试的人来说,从这本书开始仍然是一个挑战:当你错过了基本的东西时,很难理解一般的智慧。如果没有具体的例子,几乎不可能说明性能测试的许多日常挑战。直到最近,我们还仅限于工具手册、教程和课程。当然还有 Internet 帖子(请参阅 我收集的性能测试链接 )。
令人非常惊讶的是,在其 20 多年的历史中,实际上没有出版过关于负载测试工具的好书。因此,很高兴看到 Bayo Erinle 最近由 Packt Publishing 出版的几本 JMeter 书籍: Performance Testing With JMeter (已经在第二版中)和 JMeter Cookbook 。它们提供了许多很好的实用示例,如果辅以上述更通用的书籍,可能是性能测试之旅的良好起点
性能测试的挑战在于创建和运行测试是不够的。您需要了解一般的性能概念——例如性能分析、性能工程、容量规划和系统架构——以及特定产品和技术的性能特性。从头开始熟悉概念的最好的书可能是 Bob Wescott 的《每本计算机性能书:如何避免和解决您使用的计算机上的性能问题》 ( 一些摘录可在线获取 )。如果您熟悉基础知识,那么有很多好书深入探讨了性能工程的不同方面( 我的网站 上列出了很多按主题分组的书籍)。当然,每种产品或技术都有与之相关的性能方面。例如,您会发现至少有十几本关于 Oracle 数据库性能的厚书。
您可能会看到,掌握性能测试所涉及的方方面面需要花费大量的时间和精力。书籍和其他可用信息可能会帮助您入门并帮助您在获得经验后取得进步——但经验是进步的关键。与经验丰富的测试人员一起工作,并在可能的情况下获得导师将是至关重要的。与其他专业人士取得联系并快速了解高级主题的一个好方法是召开一次适当的会议。
然而,对于性能测试人员来说,没有完美的事件。我认为最接近的是 CMG 的性能和容量会议 ——一个致力于性能工程和容量规划的实用会议——具有强大的性能测试轨道。尽管压力更多地放在性能上而不是测试上。
性能和可靠性研讨会 (WOPR) 可能是唯一专门针对性能测试(以及一些相邻领域)的活动——但由于其形式,它仅限于 20-25 人,仅限受邀参加。
有许多很棒的测试会议,例如 STAR 会议 、 敏捷测试日 或 CAST ,您可能会在其中找到一些与性能测试相关的演示文稿——但它们相当少而且相距甚远。
在 软件测试专业人员 (STP) 会议 上可以找到更多与性能相关的内容(我仍然记得 STP 代表软件测试和性能的时间)——但测试的压力远大于性能,而且通常不会关于性能工程的内容很多。
Velocity 会议是网络性能的主要活动。你会看到相当多的性能测试人员参加,许多性能工具供应商参展,但很少有会议涉及经典性能测试。
当然,还有许多供应商活动涵盖了他们的特定产品——如果您正在使用这些产品,您可能会感兴趣。
与其他专业人士取得联系的另一个好方法是 Internet 群组。看起来他们中的大多数都可以在 LinkedIn 上找到。寻找您感兴趣的话题——您会在那里找到几十个小组。
学习成绩测试是一项挑战,没有简单的捷径。不幸的是,没有简单的掌握途径——您需要从所有可能的信息来源中学习,将它们与实践经验相结合,并与经验丰富的专业人士建立联系。但好消息是,周围有一些资源可以帮助你——从书籍和博客文章到不同的会议和互联网团体。
[该帖子最初发表于 2015 年 4 月的 Testing Circus - 改编为更适合博客格式。]