应用软件性能测试的艺术(翻译)——序

2024-03-26 11:08

本文主要是介绍应用软件性能测试的艺术(翻译)——序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本书由经验丰富的软件性能测试专家编写;是为了帮助那些希望成为此领域专家的读者并给予已经从业于软件性能测试领域的读者一定的指导。

当今世界,企业的兴亡依赖于关键任务软件的性能状况。然而,不幸的是,很多软件未经过全面的扩展性以及性能测试就被配置应用起来了。有效地性能测试能够及时的找到性能瓶颈,并指出问题所在位置。

《软件性能测试艺术》旨在满足市场上对于性能测试参考资料的急迫需求。然而本书并非着重于如何调试X 技术或者优化Y 技术。我有意避开具体的技术问题,除非这项技术会实际地影响到读者执行性能测试。本人意在为读者提供常识性的指导,重点在于测试计划,测试执行,以及测试结果分析,这些都是基于本人十年来在性能测试项目上的经验。

同样,本书不会论及具体行业上性能测试的方法,因为,事实上,这种方法并不存在。软件性能测试是一门独特的学科,他迫切需要一套适用于自身的行业标准。希望本书能为正规测试过程的出现尽绵薄之力。

虽然我在一个热衷于软件性能的公司工作,但是本书既不能作为工具书用,也不和任何厂商挂钩。所以本书中所表述的测试过程和测试策略可以应用于任何专业的自动化测试解决方案中。

希望您能喜欢他!

Ian Molyneaux 200812

P.1. 至读者

虽然本书是面向任何对软件性能测试感兴趣的读者,但是他更倾向于为资深的软件测试员和项目经理提供参考,以助于他们更有效的执行软件性能测试策略。本书要求读者熟悉一定的软件测试技术,即使那些技术与性能测试毫不相干。

高效的性能测试需要应用必要的自动化工具,因此如果您想在本书中学到更多东西,您还需要有使用自动化测试工具的经验。

P.2. 关于 本书

本书基于本人大量笔记(虽然没有打印出版)以及十年艰辛的经历,旨在说明在软件配置之前,对其进行性能测试的重要性。本书会向您展示执行一个有效地性能测试策略的必要步骤。

以下简要总结一下本书的章节和附录:

第一章   本章讨论软件性能测试的基本原理,从历史的角度关注IT 行业中的性能测试。

第二章   介绍有效性能测试的架构基础,以及他们的重要性。

第三章   介绍一个基于第2 章的典范实践方法。,将自己的需求应用于一个软件性能测试模型。

第四章   讲授有效的根本原因分析。他论述一个性能测试的典型输出,以及如何进行有效地分析。

第五章   论述特殊软件环境对测试的影响。这种是个一般性的方法,所以很多关于您的软件的详细情况视您应用的技术特点而定。

附录A 为如何准备性能测试中的软件交易处理提供一个例子。

附录B 重申本书中所讲述的实用测试步骤。

附录C 为性能测试所需的技术列出来源,他们没有保证,也不一定完整。

附录D 提供某种关键性能指标的例子,您可以用来监视服务器和网络性能,将其作为一个典型的性能测试配置。

附录E 提供一个基于微软项目的典型性能测试计划的例子。

P.3. 本书所用符号说明

以下是印刷符号在本书中的约定用法

斜体字: 用于表示新术语,URL ,电子邮件,文件名以及文件扩展名

等宽字体:用于程序列表,或者用于图片中表示程序单元,例如,变量或者函数名,数据库,数据类型:环境变量,语句以及关键词。

等宽粗体字: 表示命令,或者那些需要用户逐字打出来的内容。

等宽斜体字: 表示需要被用户自己输入的值代替的内容,或者由上下文决定的值。


提示 :这个标示代表一个提示,建议,或者一般注解。



警告: 这个标示代表一个警告或者提示读者谨慎。


P.4. 词汇

以下是用于本书的术语

应用架构( Application landscape ):一个通用术语描述了服务器和网络基础设施需要部署的应用软件。

ICA Independent Computing Architecture 独立计算结构:恩杰 [1] 开发的一种私有协议。

ITIL Information Technology Infrastructure Library ): 信息技术基础设施库。

ITPM Information Technology Portfolio Management: 信息技术投资组合管理 [2]

ITSM Information Technology Service Management ):信息技术服务管理 [3]

JMS Java Message Service ):JAVA 消息服务 JAVA 消息队列

负载生成器(Load injector [4]

负载生成器 是指一台用于模拟用户真实活动的PC (个人电脑)或者是服务器,他是自动化性能测试解决方案的一部分。

IBM/WebSphere MQ [5] IBM 消息中间件产品

POC Proof of Concept ):概念验证

本词常用于描述一个属于销售环节的试点项目,把一个提出来的软件解决方案比作一个客户的当前的应用程序,并由此应用一个框架作为参考。价值证明是POC 的另一种说法。

SOA Service-Oriented Architecture ):面向服务的体系结构。

交易(Transaction

交易 体现典型应用程序终端用户活动的一系列操作。一个典型的交易必须是:登录,找到搜索窗口,输入搜索字符,点击搜索按钮,然后退出。大量交易组成自动化测试的基础。

P.5. 书中代码使用规定

本书是用来帮助您完成工作的。总的来说,您可以在您的程序和文档里使用本书中的代码,而不需要联系我们已取得授权,除非您要复制大批的代码。例如,利用本书中的代码块写一个程序的话,不需要征求我们的授权。把O'Reilly 的书中的范例做成光盘出售的话,则需要授权。引用本书或书中的范例代码来回答问题不需要授权,从本书中合并大量代码,放到您自己的出版文档里需要授权。

我们感谢您在自己的文档里写上引用归属,但是并不要求您这么做。一个归属的写法包括:题目,作者,出版社和ISBN (国际标准图书编号)。例如:“《应用软件性能测试艺术》,作者:Ian MolyneauxCopyright 2009 Ian Molyneaux, 978-0-596-52066-3"

如果您觉得您引用本书代码范例的程度超出上述标准,需要授权,请联系permissions@oreilly.com

P.6. Safari® 许可

注意

如果您在您喜欢的技术书的封面上看到Safari® 许可 的字样,这就说明这本书可以通过O’Reill 网上Safari 书柜里找到。

Safari 提供了一个比电子书要好得多的解决方案。他是一个虚拟的图书馆,在这里您可以轻易地找到上千种高科技图书,并且允许您剪切复制代码范例,下载相关章节,您会在这里找到您需要的最新最精确的信息。免费网址:http://safari.oreilly.com

P.7. 联系方法

如果您对本书的意见和问题,请联系出版社:

O'Reilly Media, Inc.

1005 Gravenstein Highway North Sebastopol , CA 95472

800-998-9938 (美国或加拿大)

707-829-0515 (国际国内均可)

707 829-0104 (传真)

我们为本书设有专门网址,那里有我们列出的正误表,范例以及任何追加的信息。您可以点击此页面:http://www.oreilly.com/catalog/9780596520663

要为本书提意见或者求解技术问题,请发邮件到:bookquestions@oreilly.com

想了解更多关于本书会议、资源中心、 O’Reilly 网络请到此网站 http://www.o reilly.com

P.8. 鸣谢

非常感谢曾在O’Reilly 为本书的面世给予帮助的每一位朋友,感谢您们容忍一个初出茅庐的作者在写作方面的笨手笨脚的摸索。这些朋友是:编辑Andy Oram ,助理编辑Isabel Kunkle 、主编Marlowe Shaeffer 、插图和美工Robert Romano 以及Jacquelynn McIlvaine and Karen Crosby ;感谢您们为我开了博客并且为我准备写作的材料;感谢Karen Crosby Keith Fahlgren 为我建立DocBook 库并且为我解疑答惑。

另外,我要感谢我所在的公司Compuware 公司;感谢他们允许我用他们性能测试解决方案中的大量截图来解释我书中的要点。

我还要感谢以下专家学者,他们给我的初稿提供了大量的帮助和参考意见,他们是:Greenhat 公司董事长和首席技术官Peter Cole 先生,他帮助我理解并扩展了SOA 性能测试模型;Qunotium 公司的Adam Brown 先生、Sun 微系统公司的David Collier-Brown 先生、Matt St. Onge 先生、杰拉德咨询公司的主管Paul Gerrard 先生、Compuware 公司专业服务部的Francois MacDonald 先生以及Compuware 法国分公司的Alexandre Mechain 先生。

最后,感谢这十多年来和我并肩工作的软件测试工程师们和咨询师们,如果没有您们的帮助,这本是不会写出来的!



[1] 关于恩杰请参见: http://www.citrix.com.cn/

[2] IT PORTFOLIO MANAGEMENT STEP-BY-STEP: UNLOCKING THE BUSINESS VALUE OF TECHNOLOGY

[3] 相关信息可以参见 http://www.itsm.info/home.htm

[4] Load injector 有的时候我们也叫他“负载生成器”,比如在 LoadRunner 测试工具中 , 我们叫他的负载生成机,为“负载生成器”

[5] 消息中间件及 WebSphere MQ 入门 ”: http://www.ibm.com/developerworks/cn/websphere/library/techarticles/loulijun/MQnewer/MQnewer.html

 

 

这篇关于应用软件性能测试的艺术(翻译)——序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848302

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已