在编写脚本的同时,执行场景之前需要完成测试环境的搭建工作,这里包括硬件和软件环境的搭建。根据性能测试计划中的测试环境规划,完成对整个测试环境的搭建。由于性能测试的特殊性,整个测试环境需要在严格的独立监控下管理,避免不受控的情况出现导致性能测试数据的偏差(类似于药品制造中的无菌室概念),而另一方面,在实际应用中很难得到真实的系统环境来完成性能测试。那么到底该如何搭建真实的性能测试环境呢?
简而言之,尽量保持性能测试环境与真实生产环境的一致性。具体从以下三个方面来看,
1. 硬件环境,包括服务器环境、客户端环境与网络环境
如服务器的型号以及是否和其它应用程序共享此服务器;是否在集群环境下;是否通过BIGIP进行负载均衡;客户使用的硬件配置情况;网络速度(可通过LR 模拟限速)。
2. 软件环境
(1)版本一致性
包括操作系统、数据库的版本,被测的应用软件的版本(含用到的第三方软件的版本)等。
(2)配置一致性
系统(操作系统/数据库/应用程序)参数的配置,如数据库的并发读写数,SGA/PGA设置, session 超时配置等。
3. 使用场景的一致性
(1)基础数据的一致性
包括预测的业务数据量,业务数据类型的分配,数据库表索引的建立与否,重要的实体包含的明细个数等等。
(2)使用模式的一致性
尽量模拟真实场景下用户的使用情况(3W1H: What, Who, When, How 哪些功能常用以及被多少用户在多大频率下如何使用)。
如何搭建一个真实性能测试环境?如何搭建一个真实环境其实不难,只要公司有投入,用户允许,都不是问题。
我觉得应该多考虑如何在现有资源条件下,如何快速搭建一个仿真的性能测试环境。
先了解一下性能测试环境一般只哪些:
性能测试环境:包括硬件、网络,软件
硬件:服务器,客户端,交换机,防火墙等
网络:有线还无线,带宽,网络协议
软件:数据库,中间件,被测软件,操作系统,防火墙等
如何无菌:最好办法就是杀掉,那对上面环境来说,最好所有硬件最新的,所有软件是重装,所有参数都是正确的。一般情况是不可能……
如何快速:环境日常维护,所维护的性能测试能快速还原。
以上事情一般测试团队都在做,但我还担心一件事,如何验证我们的环境是有效的。
那就需使用一些监控工具,如网络监控,系统监控,数据库监控,中间件参数捕捉,存储设备检测,一些硬件指标的了解以及当前环境指标等等。当然还少不了性能测试团队的经验。
如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司