用户并发测试是性能测试的最主要部分,包含了负载测试和压力测试的过程。主要是逐渐增加用户数量来加重系统负担,直到出现不能接收的性能点或者瓶颈。一般要测试正常数量的用户并发和极限数量下用户并发的情况。
并发用户测试主要是对系统的核心功能和重要业务进行测试,要以真实的业务数据作为输入,选择有代表性和关键的业务操作来设计测试用例。主要编写以下两个方面的用例:
核心模块的测试:对核心功能模块进行并发用户测试,测试系统是否能够稳定运行。
例如对于互联网的公用邮件系统,每天早上9点左右可能是收发邮件的高峰,这时候上千的用户都要在上班后进入邮件系统,系统这个时候需要接收和发送大量的邮件。所以邮件系统这一功能模块要进行并发测试。通过测试可以知道数据库服务器、操作系统、网络设备等是否能够承受住考验,同时可以对瓶颈进行分析。
表1列出来一些常见的参数(表格中的数据为示例的测试用例和测试结果),可以根据实际需要进行增加和删除,其中磁盘I/O、数据库相关测试参数要根据实际情况进行选择,因此没有列出。
功能 | 在线用户达到高峰时,发送和接收普通邮件正常,保证200个以内用户可以同时访问邮件系统,能够正常发送和接收邮件。 | |||||
目的 | 测试系统200个以内的用户同时在线能否正常发送邮件。 | |||||
方法 | 采用LoadRunner的录制工具录制一个邮件发送过程,然后利用其完成测试,要监视数据库服务器和web服务器的性能。其中发送的邮件为普通的邮件,附件大小不超过1M. | |||||
并发用户数与事务执行情况 | ||||||
并发用户数 | 事务平均响应时间 | 事务最大响应时间 | 平均每秒处理事务数 | 事务成功率 | 每秒点击率 | 平均流量(字节/秒) |
100 | 1.344 | 2.078 | 5 | 100% | 102 | 5177 |
… | … | … | … | … | … | … |
并发用户数与数据库主机 | ||||||
并发用户数 | CPU利用率 | MEM利用率 | 磁盘I/O参数 | DB参数1 | 其它参数 | |
100 | 23% | 11% | … | … | … | … |
… | … | … | … | … | … | … |
并发用户数与应用服务器的关系表 | ||||||
并发用户数 | CPU利用率 | MEM利用率 | 磁盘I/O参数 | |||
100 | 32% | 27% | … | |||
… | … | … | … |
表1 核心模块的性能测试用例
在编写这类用例时,要进行综合分析,选出系统中的各个核心模块,分别设计每个模块的测试用例:把模块划分成小的“事务”进行测试,这样在测试分析中便于定位问题究竟出现在哪里。例如邮件系统可以划分成:接收邮件、发送邮件、打开邮件等小的事务进行测试用例的编写,每个操作做为一个用例来执行。
网络性能测试主要是为了准确展示带宽、延迟、负载和端口的变化是如何影响用户的响应时间的。在实际的软件项目中,主要是测试用户数目与网络带宽的关系。
编写用例的格式如表2 (表格中的数据为示例数据):
目的 | 测试系统运行网络在不同并发用户条件下的使用情况 | ||
方法 | 在不同的广域网带宽下(例如256K)使用LoadRunner录制邮件系统的相关事务操作脚本,以不同的并发用户数进行测试,记录各种用户连接数下,不同并发请求的性能变化;同时记录路由器端口的流量和其他数据。 | ||
运行时间 | 10小时 | ||
用户并发数 | 事务平均响应时间 | 服务器端口流量 | 丢包率 |
100 | 2.816 | 50.2M/S | 0.001% |
500 | 3.876 | 98.2M/S | 0.002% |
… | … | … | … |
表2 网络性能测试
本部分可以独立测试,也可以和用户并发性能测试、疲劳强度与大数据量性能测试结合起来,在原有的基础上采用工具来调整网络设置,从而达到监视网络性能的目的。通常网络性能都是采用工具进行性能评估,由系统集成工程师来进行。
作者:板栗+
原文链接:https://www.cnblogs.com/jane4321/p/11013125.html