另外,不管项目经理怎么提供他的需求,从性能测试的最终目的来说,一般只包括以下4个方面,但通常提供的测试需求是把这4种都包括在一起了的,而且他们的执行顺序和优先级也是按照这个顺序来进行了,只有满足了前面的目的,其后面的测试才有继续的必要型。
最终目的:
1、评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助做出决策。
2、识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
3、系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
4、验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
在性能需求和类型和目的搞清楚了之后,一个很必要的工作也是必须记录和搞清楚的,那就是相关的环境的检查。我想对于性能测试来说,服务器的硬件配置、操作系统的纯净性,以及各个中间件参数的设置的重要性也没有强调的必要了。在这一点上,我们应该是必须坚持的。
环境检查
环境检查包括服务器的架构以及部署方案,服务器的配置、中间件的参数配置,以及需求、功能测试报告、API调用方式等。
对于服务器的配置,由于生产环境和测试环境通常其配置略有不同,但我们需要收集生产环境与实测试环境的服务器的配置。主要收集:CPU:型号、核心速度、核数、倍频、总线速度,已耗费平均CPU。内存:总物理内存、所在磁盘的虚拟内存、可用物理内存。磁盘:转速(如是旧有电脑,在执行前最好磁盘碎片整理一下)。网卡:一般是100Mb,专用网络可能在1000MB以上。
另外,有经验表明,中间件参数的恰当设置可在一定程度上提高或降低程序的性能。目前网络上大量涉及到的中间件参数设置主要是以Java、Php等平台为主,而IIS性能参数调整的并不多,这一块还需要调查,在此省略。
经过上面的需求调查、目的和类型的判断、环境的检查,那么其方案的主体内容我想已经基本有了一个大概的棱角,其实接下来事情我们需要根据系统的实际功能与需求建立起联系,并且根据用户的操作行为估算或者调研,尽可能的模拟用户的实际操作形炎,并最终抽象出业务的模型。
……………………
查看全文请点击下载:http://www.51testing.com/html/58/n-817758.html
维度三:思考时间
a)观察、推测用户操作这一个过程的时间
b)以一个正常用户使用系统业务的角色,录制脚本随机产生,随后根据实际情况调整其值。在运行场景的时候,以50%至120%的比例随机使用思考时间。
维度四:持续时间
用户操作此功能的时间段,采用二八定理,取80%的场景时间。
注意用户操作此功能时间段,如果是业务类软件,中午的时间要去掉。
维度五:加载和退出方式
一般采用缓慢登录的方式,以便观察当用户数降低时其服务器的资源情况。但登录和退出功能除外,更多的登录和退出是集中在一个时间段。通过需求的了解,以及基于用户行为的分析建立的功能模型,其实测试用例已经非常容易抽象,具体抽象方法限于篇幅以及本文的目前在此就省略了。
最后剩下的一个事情就是监控方案了,注意监控也是要消耗资源的,根据其测试的目的监控的指标也可能是不同的。
监控方案
由于监控采集记数器也会消耗资源,所以初次测试的时候应尽量把适合的记数器加上,而当判断某个资源出现情况时需要添加更详细的记数器,如何根据现象添加更详细的记数器,这也是一门高深的学问,我也还没达到这种水平,故就此省略。
建议初次测试的时候监控值:
CPU:%Processor Time和%Privileged Time和Processor Queue Length
Memory:Available Mbytes和Page Faults/Sec
PhysicalDisk:%Disk Time和Avg.Disk.Queue Length
监控所有服务器,另外也需要监控压力机的资源,如果压力机的资源不够,会影响控制器程序出现问题,并且有可能导致其测试结果具有不准确性。
至此一个方案的大体内容,基本已经形成,我们接下来的事就是按照提供的模板将其具体化和文档化。
查看全文请点击下载:http://www.51testing.com/html/58/n-817758.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。