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