做性能测试之前需要确定的某些
2016-07-26 14:55
260 查看
1.性能测试的目的
首先要知道客户的要求。
把性能测试按目的分以下几种
1)客户有明确要求
这是一个好的结果,这说明客户对性能测试有一定的了解,知道他们需要的系统要达到一个什么样的标准。如:系统要求同时满足100用户登陆,平均每个用户登陆时间不能超过5秒。这个需求很明确,当然也不排除一些不懂装懂的用户,提一些不现实的要求。
不管怎么说,用户提要求了,这个比较容易,你可以对现系统做一次性能测试,至于,是通过优化系统还是增加硬件设备才能达到要求。就不是我们考虑的问题了。
2)只是想知道目前系统性能(容量测试)
可以把我们的目的就是求得最大用户数和最佳用户数。但是,这仍然是比较含糊的一个需求,我们需要对系统做出分析,找出系统的压力点。
3)找出系统性能瓶颈
这个同样需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试。
4)了系统在长时间的压力下性能状况(强度测试)
这个一般验证系统的稳定性,因为系统一旦上线,就有可能会长期处在大用户的访问状态,可能以前没发现的一些问题就会暴漏出来。比较典型的就是内存溢出。
2. 性能测试的环境
确定了我们的测试目的,当然需要测试环境。这里的环境,我们需要考虑一下几点
1)硬件环境
我们需要了解被测服务器硬件配置,用于加压客户端的机子配置,CPU 内存 等
2)软件环境
我们需要了解被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库,以及他们的部署位置。
用于加压的客户端采用什么性能测试工具进行加压。
3)网络环境
网络环境很重要。在上面的几个目的中,除了找出系统性能瓶颈可以在广域网进行,因为这个目的可以不用设置太多的虚拟用户,只要找出系统哪个地方影响了整个系统的性能就行。
其他目的的测试都需要在,局域网进行,不然你压力工具所发送的请求都会卡死在网络的传输过程中。
3. 寻找系统的压力点
我们需要对系统的哪个页面或业务进行加压。这个不是自己想出来的,需要与开发人员的沟通。系统的首页?系统的登录?还是系统的交易过程?各个业务的用户比例是多少?
只有获得有效的性能需求,才容易寻找和定位压力点。
获得有效的需求:http://www.cnblogs.com/jackei/archive/2006/12/12/589473.html
首先要知道客户的要求。
把性能测试按目的分以下几种
1)客户有明确要求
这是一个好的结果,这说明客户对性能测试有一定的了解,知道他们需要的系统要达到一个什么样的标准。如:系统要求同时满足100用户登陆,平均每个用户登陆时间不能超过5秒。这个需求很明确,当然也不排除一些不懂装懂的用户,提一些不现实的要求。
不管怎么说,用户提要求了,这个比较容易,你可以对现系统做一次性能测试,至于,是通过优化系统还是增加硬件设备才能达到要求。就不是我们考虑的问题了。
2)只是想知道目前系统性能(容量测试)
可以把我们的目的就是求得最大用户数和最佳用户数。但是,这仍然是比较含糊的一个需求,我们需要对系统做出分析,找出系统的压力点。
3)找出系统性能瓶颈
这个同样需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试。
4)了系统在长时间的压力下性能状况(强度测试)
这个一般验证系统的稳定性,因为系统一旦上线,就有可能会长期处在大用户的访问状态,可能以前没发现的一些问题就会暴漏出来。比较典型的就是内存溢出。
2. 性能测试的环境
确定了我们的测试目的,当然需要测试环境。这里的环境,我们需要考虑一下几点
1)硬件环境
我们需要了解被测服务器硬件配置,用于加压客户端的机子配置,CPU 内存 等
2)软件环境
我们需要了解被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库,以及他们的部署位置。
用于加压的客户端采用什么性能测试工具进行加压。
3)网络环境
网络环境很重要。在上面的几个目的中,除了找出系统性能瓶颈可以在广域网进行,因为这个目的可以不用设置太多的虚拟用户,只要找出系统哪个地方影响了整个系统的性能就行。
其他目的的测试都需要在,局域网进行,不然你压力工具所发送的请求都会卡死在网络的传输过程中。
3. 寻找系统的压力点
我们需要对系统的哪个页面或业务进行加压。这个不是自己想出来的,需要与开发人员的沟通。系统的首页?系统的登录?还是系统的交易过程?各个业务的用户比例是多少?
只有获得有效的性能需求,才容易寻找和定位压力点。
获得有效的需求:http://www.cnblogs.com/jackei/archive/2006/12/12/589473.html
相关文章推荐
- 深入理解JavaScript MVC 框架
- leetcode题集——trapping-rain-water
- 数据库学习遇到的问题
- PyGobject(十三)布局容器之Button篇——图片按钮和圆形按钮
- php运行shell
- Jenkins工具(一)之 Jenkins环境搭建
- 支付宝集成
- 数据的压缩存储与解压缩算法实现(C语言)
- 数据的压缩存储与解压缩算法实现(C语言)
- 由函数符号找不到联想到的动态链接过程
- 数据的压缩存储与解压缩算法实现(C语言)
- TestLink
- Oracle中SQL语句学习五(统计分组语句group by和having)
- Spring和resteasy集成三种方式
- 顺序表应用6:有序顺序表查询
- 返回字符串
- linux下进程管理
- HTTP POST GET详解
- Storm高级原语(一) --Transactional topology
- 51Nod-1174-区间中最大数