阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某软件公司为某银行设计开发了一套网上银行系统,该系统提供基本的支付、查询、转账和信息修改等功能。银行对网上银行系统提出了初步的性能指标:(1)交易响应时间不超过2s(2)并发用户数>=1000(3)CPU利用率不超过80%(4)系统需要7*24小时不间断的稳定运行(5)每秒事务数为7(6)交易成功率为100%现需要对该软件进行性能测试 。
【问题1】常见的性能测试包括负载测试、压力测试、并发性能测试、疲劳强度测试和大数据量测试等。针对题目中所述的6个性能指标,并发性能测试和疲劳强度测试所涉及的指标各有哪些?
【问题2】性能测试中,针对一个单独的性能指标,往往需要采用多种不同的测试方法。该软件公司需要测试性能指标(1)和(5),
设计了如下的测试方案:测试常规情况下的并发用户数,逐步增加并发用户数,分别测试:(1)在响应时间为2s时,系统所能承受的最大并发访问用户的数量;
(2)系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)。请指出这两项测试分别属于哪种类型的测试,并分别解释这两种测试类型的基本概念。
【问题3】在测试性能指标(5)时,该软件公司在客户端模拟大量并发用户来执行业务操作,统计平均的每秒事务数。该软件公司认为客户端接收响应信息与该性能指标的测试无关,因此在模拟客户端上发起正常业务申请,接收系统响应后直接丢弃响应信息,没有进行功能校验。请说明该软件公司的做法正确与否,并简要说明原因以及执行功能校验的副作用。
参考答案:
【问题1】并发性能测试涉及的指标有(1)、(2)、(5)疲劳强度测试涉及的指标有(4)
【问题2】第一种测试属于负载测试,第二种属于压力测试。负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试。压力测试是通过逐步增加系统负载,测试系统性能变化,并最终确定在什么负载条件下系统性能处于失效状态,以此来获得系统能提供的最大服务级别的测试。
【问题3】该软件公司的做法是错误的。该软件公司在负载压力测试中没有进行功能校验,忽略了负载压力情况下的功能不稳定问题。没有正确的功能保证,负载压力性能测试就失去了意义。在测试过程中进行功能校验,需要记录业务操作结果,会导致资源消耗、操作行为增加以及产生大量日志等问题。
解析:
本题主要考查负载压力测试相关知识及应用。
负载压力测试是指在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量等,以确定系统所能承受的最大负载压力。
负载压力测试是性能测试的重要组成部分,包括负载测试、压力测试、并发性能测试、疲劳强度测试、大数据量测试等内容。
【问题1】本问题考查负载压力测试的基本概念。
负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量所进行的测试。
压力测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,以此来获得系统能提供的最大服务级别的测试。所以说,压力测试是一种特定类型的负载测试。
并发性能测试,包含了负载测试和压力测试。通过逐渐增加并发用户数负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标、系统资源监控指标来确定系统并发性能。并发性能测试是负载压力测试中的重要内容。
疲劳强度测试,通常是采用系统稳定运行情况下能够支持的最大并发用户数,或者日常运行用户数,持续执行一段时间业务,保证达到系统疲劳强度需求的业务量,通过综合分析交易执行指标、系统资源监控指标,确定系统处理最大工作量强度性能的过程。一般情况下利用疲劳强度测试老模拟系统日常业务操作。
大数据量测试,包括独立的数据量测试和综合数据量测试。独立的数据量测试是针对某些系统存储、传输、统计、查询等业务进行的大数据量测试;综合数据量测试是指和压力测试、负载性能测试、疲劳强度测试相结合的综合测试。
从题干列举的6种性能指标看,根据各类测试的定义,可以得出(1)、(2)、(5)属于并发性能测试,(4)属于疲劳强度测试。(3)属于一种系统资源监控的指标,而(6)的定义不明确,因为交易成功率取决多种因素,包括业务数据、用户请求数据、基础软件、网络环境等等。
【问题2】本问题考查负载测试和压力测试的区别。
从问题1的分析中可以看出,负载测试强调的是在满足性能指标的情况下,系统所能承受的最大负载量的测试,前提是系统正常工作;
而压力测试则是要使得系统性能处于失效状态,即压力测试是为了发现在什么条件下系统的性能会变得不可接受。因此,通过对本问题描述的分析可以得出,“在响应时间为2s时,系统所能承受的最大并发访问用户的数量”属于负载测试,而“系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)”属于压力测试。
【问题3】本问题考查负载压力测试中的功能内容校验。
负载压力测试中的功能内容校验,指的是在进行负载压力测试时,需要核查功能的执行是否正常,在功能异常或错误时,需要记录所产生的错误。如果没有功能执行结果正确的保证,负载压力性能测试就失去了意义。对本题而言,如果不能保证业务操作的正确,则平均每秒事务数的指标是不正确的。执行功能内容校验也会带来一些副作用,包括资源消耗、操作行为增加,以及产生大量日志等问题。