|
@444346394 您好!
这个需要借助一些分析定位,进行一层层剥离, 举一个简单的例子, 我们用JAVA设计的项目:
情况一: 项目启动后(没有做任何业务操作)就占据了大量系统资源,这样的情况我们可能就要考虑适当扩展虚拟资源分配, 或是增加比例的硬件资源等等策略.
情况二: 项目本身执行过程中, 业务操作越来越慢(响应时间越来越长), 经监控分析是系统内存不断消耗, 并且不被释放回收. 系统稳定性测试最终导致JVM虚拟机内存溢出等现象, 这种情况大多数是我们的代码层面出现了问题, 可能要考虑申请内存资源的合理性, 哪些可以用栈存放, 哪些可以及时释放堆资源, 哪些全局变量可改写为局部变量等等情况.
其它情况举例: 还有一些 连接参数、进程数、连接池分配、页面压缩比、网络带宽配置等等配置合理性问题, 配置多了占用资源, 配置少了排队明显.. 都需要一个合理性的评估分析. (性能≠越快越好, 而是合理!)
我个人认为, 会软件开发都不一定能达到"精通"级别. 还需要懂系统,数据库,中间件,计算机组成原理,编程思想...很多很多知识. 性能测试和医生职业很像, 我们看病都希望找一个资历老的专家进行分析, 而不愿意找年轻的医生, 技术是一方面, 经验是很重要的一方面, 积累的越多, 才越有价值.
性能测试行业阶段(其实IT行业阶段基本相同)可以分为至少四个以上阶段: 未进门、入门、进阶、精通和N/A++
1.未进门阶段 我们是在门外面,看不到里面是什么样的,从别人那里听说到,需要懂这个,会那个。
2.入门阶段 开始有了一两个项目的经验(只能说做过项目,或者执行过脚本),会某些某些测试工具,这时候的想法是 其实性能测试就是这么点东西,没什么难度,只要会用这个工具了,我无所不能(导演!我要一个打十个...)。
3.进阶阶段 经历过越来越多的东西,越来越复杂,自己的知识度应对不过来了,开始慌张,发现这个也需要恶补,那个也需要恶补, 一眼望去周围都是大拿,每个人都有可以一招致命的技能. 这个时候, 才刚刚开始懂了.
4.精通阶段 这个阶段,你是百经战场上的一个老兵, 面试时不再告诉面试官我会使用什么什么工具, 会用哪些编程语言. 而更多的则是在聊测试思路与流程方面的优缺点和合理性...
5.NA++ 为什么叫NA++ 呢,未知数的意思。达到这个阶段的人,基本不是去找公司了, 而是公司想聘请你。你的思路、创新会给性能测试领域带来更大的价值。这个阶段如果谁还递给你一张笔试题,那么请撕掉吧,这个公司不适合你,最起码没有看到你真实的价值。
性能测试这个圈子其实很小,但是很有特点,大家都愿意把知识分享出来共同探讨进步,总之,环境很不错的,大家也都很维护珍惜。 |
|