性能测试模型分析:性能参数(Performance Factor)

2013-06-01  李斐然 

性能参数是包括所有会对性能产生影响的因素.  比如软件参数设置, 硬件的能力, 输入的类型等等。 性能测试的结果只有在给定性能参数的条件下, 才有意义。
 
在性能测试中, 性能参数类似于功能测试中的”输入组合“, 所以,设计时都会面对同一个问题, 不可能穷举的可能。 即使对于一个小的软件, 性能参数的组合也可能是一个非常庞大的数字。 这一点对于 企业应用软件产品 尤其是一个问题。 因为客户的部署环境是千差万别的。
 
在性能测试分析中,
1) 首先要识别出所有性能参数, 重要的和不重要的。 需要注意的是, 性能参数的重要性并不是绝对的, 而是取决于性能测试的目的。 比如对于验证客户环境的性能, 硬件配置是很重要的参数;对于性能调优为目的的测试, 硬件配置并不重要, 软件的参数设置时很重要的参数。
 
2) 然后对性能参数打包。既然不能覆盖所有组合, 当然只能选择典型的组合来测试。
 
分类

影响性能参数是包括所有会对性能产生影响的因素. 这其实会包括非常多的因素. 他们可以分为下面一些类型.

 

Factor

Samples

服务应用程序配置

 

服务应用程序的一些参数配置会对性能造成影响.

l  比如某种工作线程的数量,

l  比对于流水线类型的性能模型. 一个Data配置了几个模块进行处理显然会影响Processing Time.

l  比如后台运行的报表程序

 

同步调用的第三方应用程序

 

比如银行交易处理时, 会同步调用Core Banking System, 那么CBS的性能也会直接影响交易处理的Response Time)

 

基础软件

 

比如应用程序服务器, 操作系统, Database服务器

 

硬件配置

 

CPU, Memory, Storage

百兆网络还是千兆网络.

 

其他

其他一些系统特定的因素.

总之, 有非常多的因素会对系统的性能造成影响. 测试中不可能把每一个因素都涉及到, 更别说他们的组合了.  为了能进行有效的测试, 需要对性能参数打包。

打包影响性能参数

如何确定性能测试中的影响性能参数的具体的取值. 这是性能测试准备中最关键的步骤. 这就和功能测试设计testcase一样, 如何能设计出最有效率的testcase.

这个时候, 需要把相关的因素打包, 这样在性能测试的时候就不用考虑每一个因素, 而是考虑有限的一些因素的组合”.

影响性能参数打包的目的是, 在设计性能测试Case, 不用处理如此庞大的因素所有组合, 而是挑选一些合理的预想定义好的组合.

比如说, 基础软件, 硬件配置, 网络配置 进行打包, 归纳出三种组合: 小型系统, 中型系统, 大型系统.

 

CPU/Mem/Storage

OS/AppServer/DB

Network

小型系统

2Cores/4G/7200RPM(SATA)

Linux/JBoss/MySQL

100M

中型系统

4Cores/8G/15000RPM(SAS)

Windows2008/WAS/SQLServer

1G

大型系统

4Node cluster, Each Node

2Cores/4G/SAN

Aix/WAS Cluster/Oracle

APP-DB: 10G Ethernet

Storage Network: 4G光纤

 

对于输入类型和应用程序相关的配置, 参考典型用户的使用场景. 有下面的组合, 以一个监控系统为例

使用场景

监控

命令

监控为主型

每个Device每天1000条数据

每个Device每天接受2个命令

发送命令为主型

每个Device每天100条数据

每个Device每天接受200条命令

平衡型

每个Device每天500条数据

每个Device每天接受100条命令

对于静态压力模型的性能因素, 例子如下

 

Device

Hierarchy Levels

小型网络

100

1

中型网络

5000

3

大型网络

100000

5

 

注意

性能参数的选定需要和性能测试的Stakeholder作充分的沟通, 首先要理解对方希望的性能测试参数, 然后要让对方理解你简化参数的思路和原因。

 
465°/4650 人阅读/0 条评论 发表评论

登录 后发表评论