速度、质量和成本这三者通常被称为“项目三角”,这种说法给我们提供了一种很好的视觉图像,展示了三者是如何密不可分,以及为什么我们不能同时三者兼具。项目三角还有几种变体,它们加入了范围,作为第四种元素。可以以质量为中心,以速度、范围和成本为三条边来表示这种变体。我们更喜欢采用传统的速度/成本/质量的项目三角,用三角形的大小来表示范围。其中三条边表示的是速度、成本和质量,而三角形的面积表示的是项目的范围。如果这个三角形很小,说明项目的范围很小,而成本、时间和质量因素也会与之成比例。...
我们通常会用一个问句,即这个流程与可扩展性有关吗?这一次,希望你已经可以列出性能测试和压力测试在影响可扩展性的多种因素中占有一席之地的原因了。在探讨它们之间的关系时,我们准备把重点放在三个方面,即余量、变更控制和风险管理。...
根据系统的规模、你从每种测试得到的信息的相对价值、你可用的时间多少以及组织愿意接受的风险大小,最终确定了测试计划后,你就可以进入第四步,即真正执行测试。在这一一步中,你将根据测试计划,在专为测试建立的环境中系统地执行各种测试,并且把各种衡量指标记录下来,如交易时间、响应时间、输出和反应等。所有数据都要被收集起来,在性能测试中,数据是你的朋友,你真正能得到的不过如此。保存每次发布之前的测试数据是很重要的。我们将在下一步中介绍,对比各个发布版本对于理解数据以及判断数据是在正常范围...
性能测试规划中的第三步是定义测试。如前所述,对于各种服务和功能来说,可以执行的测试种类有很多。如果要把它们全部运行一-遍,可能你永远也不能发布任何产品了。这里的关键是应用帕累托分布或者说80/20法则,即找出能给你提供80%信息的那20%测试方法。就提供的信息数量和价值来说,种种系统测试几乎总是遵从少数几种相似的分布。这是因为并非所有功能的使用都是平等的,有些功能比其他功能更关键。处理用户支付的功能就比处理用户查找朋友的功能关键得多,因此对它的测试可以更加严格。...
按照维基百科的论述,根据定义,性能测试涵盖了林林总总的工程开发评估标准,其侧重于最后可衡量的性能特征,而不是实际上的原料和产品。。对于计算机科学来说,性能测试的重点在于确定一个设备或软件中的速度、吞吐量或有效性。性能测试通常又叫作负载测试,对我们来说,这两个术语是可以互相代替的。有些专家则认为性能测试和负载测试的目标不同,但技术相似。为了避免学究式的争论,我们在定义性能测试时,给了一个更加宽泛的目标,以便它能兼容性能测试和负载测试的目标。...
在你有了性能基准后,第二步是建立测试环境。这个环境包括运行应用所需的网络、服务器、操作系统和第三方的软件。通常,开发、质量保证测试、性能测试、准备和生产这些环节都有自己独立的环境。测试环境很重要,因为你需要一个稳定一一致的环境在一段持续的时间内反 复地执行测试。测试的种类有很多,我们将在下一步“定义测试”中讨论它们,目前你只要知道测试组件的方法有很多即可。此外,有些测试需要运行一定的时间,例如24小时,以便生成批量程序必须是生产环境的镜像。测试环境很重要的另一个原因是,为了让...
根据你的组织文化的需要,ARB会议可以是正式的,也可以是非正式的。我们的经验是,这种会议对产品线工程师、数据库管理员和其他JAD成员来说,都形同挑战,因此我们倾向于非正式的形式。只有当要对功能的架构进行采用或不采用的决策时,才会进行正式的会议;这对于让JAD团队提出经过深思熟虑且报告制作良好的设计来说,应该已经足够了。...
你可能希望某些人或角色加入ARB、但更重要的是,这些人需要表现出一定的素质。让我们首先来讨论一下这些素质,然后再讨论角色。我们希望的是,这两个范能够完全重合,所有应有的角色都由那些显示出应有素质的人来扮演。首先,你想要的是那些在组织内受尊重的人。...
某个流程或关注点是怎么影响可扩展性的。答案通常相同,即组织中的人员或流程会创造应用的可扩展性,也会破坏它的可扩展性。这应该不会让你感到意外。如果没有正确的团队支持,或者该团队没有采用正确的流程,那么得到能够根据业务需求进行扩展的架构的可能性是零。组织一个跨部门的团队设计应用,可以确保具有不同知识的人协同合作,找到最佳的解决方案。此外,这些人现在还有了共同的目标,即要使这个功能获得成功。不具备这两个关键因素,在大多数组织中常见的知识不足和经验的鸿沟的情况都会注定使功能定期地出现...
网络广告交换,也称为友情链接、互惠链接、互换链接等,是具有一定资源互补优势的网站之间的简单合作形式,即分别在自己的网站上放置对方网站的Logo或网站名称,并设置对方网站的超链接,使得用户可以从合作网站中发现自己的网站,达到互相推广的目的。因此常作为一种网站推广手段。...