`
小熊座
  • 浏览: 6825 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

【转】如何定义性能需求

阅读更多

转自:http://www.infoq.com/cn/news/2015/02/define-performance-requirements

 

JVM监控解决方案提供商Plumbr的官方博客上发表了一篇题为《如何定义性能需求》的文章。文章指出,随着企业信息化程度的提高,业务人员对软件功能性需求的描述越来越好。但涉及到易用性、兼容性或性能等非功能性需求的时候,他们经常会不得要领。比如,他们可能会提出“它的运行速度要快”这样的性能需求。在更好的情况下,他们可能会提出下面这样的性能需求:

  • 在系统中执行的操作,95%的都必须在5秒针内响应;
  • 系统必须支持100并发用户。

初看上去,这样的需求已经好了很多了。但实际上,它们甚至比只用一个“快”字描述更差。虽然它们包含了一些数字,看上去似乎可以作为开发人员的终极目标。但实际上,这两个需求最多只能为关于性能需求的讨论开一个头。

文章接下来对上述两个需求进行了剖析。

第一个需求没有提出针对其它5%的操作的性能需求。而且,不同的功能对性能的需求也不尽相同。比如,对于功能“显示当前账户余额”和“显示2013年所有的交易”,前者5秒响应可能都略显慢,而后者响应时间再长一些也可以接受。因此,性能需求描述应该:

  • 针对不同的操作类型指定可接受的时间延迟;
  • 将时间延迟相关的需求与负载/吞吐量相关的需求联系起来;
  • 明确时间延迟的测量位置,比如,延迟时间是以客户端为标准,还是以服务器端发送出最后一个字节为标准;
  • 哪些操作的时间延迟不太要紧。

第二个需求看上去很准确,实际上很笼统。比如,将“100个并发用户”理解成“100个线程处理100个并发操作”。如果每个操作用时1秒,那么系统吞吐量为100 ops/sec;但如果每个操作用时10秒,那么系统吞吐量则只有10 ops/sec。对于后一种情况,我们不能认为它满足“100个并发用户”的需求。因此,需求应该更清楚地描述特定用户的行为,而不是用“并发用户”这样的术语。当然,这里并不是说建议测量吞吐量,因为现实世界的应用程序往往是多功能的,很难使用吞吐量来衡量其性能。

本文还提到了容量规划,即在什么样的前提条件下实现上述性能需求,包括如下三个方面:

  • 系统的数据量;
  • 系统的基础设施限制,比如,CPU、内存等;
  • 系统的部署环境,比如,网络带宽是多少,是否需要离线操作等。

总之,应该与业务人员紧密合作,制定出可测量的、具体的性能需求。

分享到:
评论

相关推荐

    性能需求与设计

    它涉及到如何量化地定义一个系统的性能需求,并且基于这些需求进行合理的设计,以确保系统在实际应用中能够达到预期的性能水平。性能指标的定义、性能需求的分析、以及性能测试和压测等环节,都与性能设计紧密相关,...

    性能测试需求模版

    这些指标定义了系统在正常负载下的响应速度,有助于判断系统是否满足业务需求。 - 功能点应涵盖所有关键操作,包括用户界面交互、数据处理和后台服务等。指标可以根据实际业务场景设定,没有明确指标的可以不填。 ...

    性能测试需求调研报告

    性能测试需求调研报告是软件开发过程中至关重要的一环,它为后续的性能测试提供明确的指导。这份企业内部资料旨在帮助读者理解如何准备软件性能测试,确保测试的有效性和准确性。以下是对报告内容的详细解析: 1. *...

    《LoadRunner没有告诉你的》之六——获取有效的性能需求

    5. 咨询专家和行业标准:与行业专家交流,参考行业标准或最佳实践,以帮助定义性能需求。 6. 进行业务流程分析:理解业务流程,确定关键交易和并发场景,以此为基础设定性能需求。 7. 预估未来增长:考虑系统需要...

    淘宝商城系统需求分析定义.pdf

    淘宝商城系统需求分析定义是指对淘宝商城系统的功能、性能和其他方面的需求进行分析和定义,以确保系统的开发和实施符合用户的需求和Expectation。本文档将对淘宝商城系统的需求进行详细的分析和定义,包括功能需求...

    服务器性能计算需求分析.pdf

    在服务器性能计算需求分析中,主要关注的是数据库服务器的性能评估和配置选择,特别是对于广州市公安局超级情报系统(SIS)的设备升级项目。这个项目涉及的是一个大规模的联机事务处理(OLTP)系统,因此,选用业界...

    CEB-CP-TES-30-607 性能测试需求变更申请表1

    4. **性能需求ID**:每个性能需求都有一个唯一标识符,方便追踪和管理。这有助于确保每个变更都能与原始需求相对应。 5. **申请人**:提出变更请求的人员,可能是开发人员、测试工程师或其他相关人员。他们负责详细...

    此需求规格说明书对《Banan》做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使网站分析人员及开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员

    - **性能需求**:涉及网站的响应速度、处理能力等,以满足大量用户同时在线操作的场景。 - **环境需求**:明确了硬件和软件环境的要求,确保网站在各种环境下稳定运行。 - **可靠性和安全性**:包括异常处理和...

    软件项目需求调研指导书

    需求定义是根据需求分析的结果,定义软件产品的功能和性能的详细说明。需求确认是对软件产品的功能和性能进行确认,以确保软件产品满足用户的需求。 三、用户需求调查 用户需求调查是需求调研的重要步骤,其目的...

    需求确认书.docx

    该文档的目的在于确认客户的需求,明确软件产品的功能和性能,以避免项目后期出现超出合同范围的需求。 软件需求确认文档模板通常包括以下几个部分: 1. 系统概述:对软件产品的目标、功能和架构做出总体的概括性...

    需求工程理论和需求管理工具简单介绍

    需求工程是软件开发过程中的关键环节,它涵盖了对软件产品功能和性能要求的识别、定义、文档化、验证和管理。需求工程的目标是确保开发出的软件满足用户和业务的实际需求,防止因需求不明确或误解导致的项目失败。 ...

    需求分析 需求例子 需求描述

    例如,用户可能需要一个快速响应的系统,这既是性能需求,也是用户体验需求。 其次,需求分析涉及到文档编写。《怎么写需求分析》这部分内容可能会涵盖如何撰写需求规格说明书(SRS),其中应包含问题定义、背景...

    软件的定义需求分析实用全套PPT.ppt

    这一阶段的目的是确定系统的功能需求、性能需求、环境需求、用户界面需求以及其它相关要求,例如可靠性、安全性、移植性和可维护性等。需求分析不仅涉及与用户的深入交流,还包括参观工作流程、分发调查问卷、分析...

    软件性能测试做好需求调研

    2. 定义关键性能指标:根据业务需求确定需要关注的性能参数,如响应时间、并发用户数等。 3. 分析系统架构:理解系统的硬件配置、软件环境、网络条件和技术架构,以便找到可能的性能瓶颈。 4. 识别关键业务流程:...

    软件工程文档模板(问题定义、可行性研究、需求分析、测试分析……)

    问题定义文档通常包含项目背景、问题陈述、项目目标和初步的用户需求。 2. **可行性研究**:可行性研究文档评估项目是否值得投入时间和资源进行开发。它涉及技术可行性(现有技术能否满足项目需求)、经济可行性...

    需求规格说明书,需求文档的标准说明

    - 使用可度量的指标来定义性能需求。 - 区分“必须”、“应该”、“可以”和“不得”等程度不同的需求。 - 涉及所有利益相关者的期望,确保需求全面无遗漏。 - 定期更新和审查,确保需求的准确性和时效性。 在实际...

    敏捷性能测试规划

    敏捷性能测试规划是一门关于如何在敏捷开发环境下...这一过程需要对性能测试有深刻的理解,对产品的性能需求进行明确的定义,并在全生命周期中贯穿性能测试活动,最终通过持续的迭代和优化,实现产品性能的不断提升。

Global site tag (gtag.js) - Google Analytics