入行测试八年了,第一次发文,其实也蛮激动的。今天我来分享下我对性能测试的理解吧。
随着现在客户对产品的要求越来越高,同时整个IT环境也充满着“强者生存,弱者灭亡”的情况,各个公司对产品的性能开始越来越重视。这也让很多测试人员开始学习性能知识,去做性能测试。
我把性能测试的水平分为三个阶段。不管你用什么工具,什么方法,都能适用这个观点。同时,这个观点也可以做为性能测试的学习方向,可以给大家一点点参考。
第一阶段:初级
这一阶段的表现就是能够熟练的使用工具(以Loadrunner为例),能调通脚本,并且根据需要设定相应的场景,能够将测试结果整理导出。
这一阶段相当于入门吧。
首先得了解性能测试的概念,分类,测试流程等等。
然后得知道有关性能测试的所有评估概念,比如吞吐量、并发数、响应时间等等,以及他们之间的关系或者之间的估算公式等。
接着得去研究所使用工具的功能,拿Loadrunner来说,那么它的构成,实现方法,操作方法,以及工具本身的一些设置等。这个得花大量的时间去摸索研究,因为很多时候有些地方可能光看书的话是看不明白的,必须的动手去试,这样印象才会深刻。
学会了这些之后,那么可以试着去录制录制脚本了。然后学怎么处理一个录制好的脚本。这个地方又需要知道Loadrunner的几个概念,比如事物、检查点、参数化、关联等。你得知道什么时候需要做这些和怎么做这些操作。
能够将脚本调通了,那么你便迈出了性能测试的第一步,接下来就是根据需要设定场景了,在Loadrunner控制器中,知道每个功能代表什么意思,熟练操作,那么恭喜你,你已经是合格的初级性能测试了。
第二阶段:中级
这一阶段显然是能够熟练使用工具并处理好脚本了,这一阶段一个明显的能力就是具有一定的结果分析能力。
能够根据Loadrunner的测试结果以及资源监控工具的结果,进行一定的分析,一般可以很轻松做到发现到硬件资源方面的瓶颈,也可以发现到其他比较显然易见的问题,比如根据拐点判断某些场景的性能啊等。同时,还能够根据这些分析情况,判定哪些地方,服务存在较大的性能问题。然后将这些东西整理出来,给出测试报告。
我是这么觉得的,中级性能测试就是具备一定的分析问题和定位的能力了,能够给开发指明一个优化的方向。那么第三阶段呢?
第三阶段:高级
做为高级性能测试人员,他的技术是很全面的,公司产品的业务逻辑、架构,然后是硬件知识、网络知识、各种协议等等,还有一点就是必须懂代码,而且应该算比较精通的水平。
首先能够对公司产品的整体架构给出自己的看法,这么实现是否存在性能问题?各种硬件这么配置是否能够满足目前需要?如果将来业务发展那么解决方案又是什么?
然后,知道代码的执行效率各种SQL语句的执行效率,或者说在某种业务逻辑下,使用什么方式去实现,产品性能会比较好点,这个在没有做测试的情况下,心里都应该有个底。
接着,对于具体做的性能测试过程来,能够根据产品的实际情况分析可以评估到哪些地方性能压力比较大,对于线上产品,什么时间用户并发比较大,然后设计出各种场景。在得到测试结果后,能够准确的分析到问题的根本,甚至定位到代码块或者代码行,同时给出自己的解决方案。
----------------------------------------------------------------------------------------------------------------
PS:第一次随笔胡乱写了一通,不够细,可能有些地方没说清楚或者语句不通啊,错别字什么的。今后有时间可以按阶段慢慢分享给大家。