您的位置:首页 > 其它

软件测试的几个性能指标

2016-07-31 22:33 288 查看
通过对软件测试中性能测试的初步了解,总结软件性能指标中的几个术语:响应时间、并发用户数,吞吐量,性能计数器,TPS,HPS。在使用性能测试工具进行测试时,还会接触到“思考时间(Think Time)”的概念。供以后学习使用。

    1、响应时间

      根据个人理解,响应时间指的是“系统响应时间”,定义为应用系统从发出请求开始到客户端接收到响应所消耗的时间。把它作为用户视角的软件性能的主要体现。它包括网络上的传输时间,web服务器上处理时间,APP服务器上处理时间,DB服务器上处理时间,但不包括浏览器上的内容显示时间,即“呈现时间”,这是因为呈现时间在很大程度上取决于客户端的表现,例如,一台内存不足的客户端机器在处理复杂页面的时候,其呈现时间可能就很长,而这并不能说明整个系统的性能。

     许多描述性能测试的书或者工具把“响应时间”定义为“应用系统从请求发出开始到客户端接收到最后一个字节数据所消耗的时间”。造成这种差异的原因是,对用户体验来说,可以采用一些技巧在数据尚未完全接收完成时进行呈现来减少用户感受到的响应时间。当然,针对Web 应用的测试(因为浏览器行为是既定的),我们仍然采用后一种定义方式来描述响应时间。

    关于响应时间,要特别说明的一点是,对客户来说,该值是否能够被接受是带有一定的用户主观色彩,也就是说,响应时间的“长”和“短”没有绝对的区别。因此,在进行性能测试时,“合理的响应

时间”取决于实际的用户需求,而不能依据测试人员自己的设想来决定。

    2、最大并发用户数

       有两种理解方式,一种是从业务的角度来模拟真实的用户访问,体现的是业务并发用户数,指在同一时间段内访问系统的用户数量。另一种是从服务器端承受的压力来考虑,这里的“并发用户数”指的是同时向服务器端发出请求的客户数,该概念一般结合并发测试(Concurrency Testing)使用,体现的是服务端承受的最大并发访问数。

      在实际的性能测试中,经常接触到“并发用户数”、“系统用户数”和“同时在线用户数”的概念,下面引用一本书的例子来说明它们之间的差别。

     假设有一个OA系统,该系统有2000个使用用户——这就是说,可能使用该OA系统的用户总数是2000 名,这个概念就是“系统用户数”,该系统有一个“在线统计”功能(系统用一个全局变量计数所有已登录的用户),从在线统计功能中可以得到,最高峰时有500人在线(这个500 就是一般所说的“同时在线人数”),根据我们对业务并发用户数的定义,这500 就是整个系统使用时最大的业务并发用户数。当然,500 这个数值只是表明在最高峰时刻有500 个用户登录了系统,并不表示实际服务器承受的压力。因为服务器承受的压力还与具体的用户访问模式相关。根据我们对业务并发用户数
的定义,这500 就是整个系统使用时最大的业务并发用户数。当然,500 这个数值只是表明在最高峰时刻有500 个用户登录了系统,并不表示实际服务器承受的压力。因为服务器承受的压力还与具体的用户访问模式相关。例如,在这500 个“同时使用系统”的用户中,考察某一个时间点,在这个时间上,假设其中40%的用户在饶有兴致地看系统公告(注意:“看”这个动作是不会对服务端产生任何负担的),20%的用户在填写复杂的表格(对用户填写的表格来说,只有在“提交”的时刻才会向服务端发送请求,填写过程是不对服务端构成压力的),20%部分用户在发呆(也就是什么也没有做),剩下的20%用户在不停地从一个页面跳转到另一个页面——在这种场景下,可以说,只有20%的用户真正对服务器构成了压力。因此,从上面的例子中可以看出,服务器实际承受的压力不只取决于业务并发用户数,还取决于用户的业务场景。

      3、吞吐量

        吞吐量是指“单位时间内系统处理的客户请求的数量”,直接体现软件系统的性能承载能力。一般来说,吞吐量用请求数/秒或是页面数/秒来衡量,从业务的角度,吞吐量也可以用访问人数/天或是处理的业务数/小时等单位来衡量。当然,从网络的角度来说,也可以用字节数/天来考察网络流量。对于交互式应用来说,吞吐量指标反映的是服务器承受的压力。

      4、性能计数器

        性能计数器(Counter)是描述服务器或操作系统性能的一些数据指标。例如,对Windows 系统来说,使用内存数(Memory In Usage),进程时间(Total Process Time)等都是常见的计数器。

        与性能计数器相关的另一个术语是“资源利用率”。该术语指的是系统各种资源的使用状况。为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较。例如,我们会说到,“某某系统在承受10000 用户的并发访问时,Web 服务器的CPU占用率为68%,平均的内存占用率为55%”,这其中,68%和55%就是典型的资源利用率的数值。

      5、思考时间

        思考时间(Think Time),也被称为“休眠时间”,从业务的角度来说,这个时间指的是用户在进行操作时,每个请求之间的间隔时间。从自动化测试实现的角度来说,要真实地模拟用户操作,就必须在测试脚本中让各个操作之间等待一段时间,体现在脚本中,具体而言,就是在操作之间放置一个Think 的函数,使得脚本在执行两个操作之间等待一段时间。

      6、TPS 

           TPS:Transaction per second,每秒钟系统能够处理的交易或者事务的数量。它是衡量系统处理能力的重要指标。

        7、HPS

   点击率:HPS,每秒钟用户向WEB服务器提交的HTTP请求数。这个指标是WEB应用特有的一个指标,WEB应用是"请求—响应"模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大,对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响。需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: