java测试代码性能 java编写完测试代码 怎么运行( 三 )


怎么进行性能测试问题一:性能测试应该做哪些准备环境搭建:这个根据实际规划java测试代码性能,我在企业内做过的性能测试搭建的环境都是和用户上线使用的实际环境一样的 。
数据准备:个人感觉是整个工作里第二耗时的,需要真实模拟用户数据,这个不是单单的创建几个帐号就完事的 , 每个用户基本都会有不太一样的配置,实际操作的时候部署数据的脚本都写到手软 。
脚本编译:选择性能工具编译性能脚本,java测试代码性能你需要跑什么业务流程就编译什么样的脚本 。
脚本执行:用规划好的用户数执行脚本 , 这个一般持续很长时间 , 时间太短不足以暴露服务器等的性能瓶颈,性能测试中最耗时的就是这个步骤 。
收集日志:在执行脚本完成后收集到的能客观反应系统性能的日志、报表文件,比如LR的报告、数据库的AWR日志等等 。
分析结果:分析收集到的日志、报表,找出性能瓶颈或是得出性能指标结果 。这个一般需要对数据库或者底层非常了解的专业人士来分析,一般测试人员只需要提供收集到的报告就差不多了 。
生成报告:将上面所有的性能测试活动整理总结,输出测试报告 。
问题二:如何做好性能测试java测试代码性能?你好 , 首先很欣赏你的这种态度 。我在TestBird 招聘新人的时候,也有很多小朋友觉得自己有多了解工具运用,有多熟练步骤过程,自我感觉很不错 。
其实,我却想说,性能测试的重点不在性能测试工具的学习上 。
当然,你也通过分析系统的压力点、LR录制脚本,设置用户,做压力,分析结果 , 整理测试报告 。完成了性能测试的整个过程 。那么我说这个性能测试报告是有效的 , 但它不一定是有用的 。
为什么呢?因为在性能测试报告中,在你所在的环境中,你是测出了这样的效果 。并未掺假,全部真实的记录 。
为什么说它不一定是有用的,你了解系统架构么?知道数据库、中间件、前端程序的运行方式和处理机制么?了解网络协议么?了解操作系统么?熟悉开发系统的语言么,如java JVM的内在机理知道么?这些都是系统运行的一部分,都在影响着系统的性能 。如果不了解这些,你如何做出有价值的有参考意义的性能测试 。
所以,学会这些性能测试工具很好,但是这仅仅是第一步 。性能结果只是一些数据而已,知道你在做什么,为什么要做这些,做完后能给出有价值的东西 , 才是后面要慢慢修炼的 。
问题三:移动客户端的性能测试如何做?。就当练习了 。。大家看了不要喷我 。。现在很多测试人员做移动端测试,可能主要还是关注功能和自动化测试 。性能测试可能大多是按照每个人的体验来做报告,是不是比较快,或者比较慢 。当然也不乏有很多的测试人员会回复我说 , 性能测试都是服务器的,移动端根本就不需要性能测试 。我实在觉得可笑 。不过我毕竟一直在创业公司,而且就我一个人,所以了解可能有限,我这里就说下我之前碰见的,所知道的,目的只是抛砖引玉 。另外,我这里也不去说什么MAT,instruments了,这种固有查找内存的工具大家自己google吧 。客户端的性能从系统层面,电量消耗,网络流量,内存泄漏等都是被关注,或者说用户最最关注的点 。实例一,3rd 应用的性能测试 。应用本身的响应时间可以通过call 应用intent来查看,设备纯环境 , 设备低内存等各种情况下进行同样此数的call,进行对比 。或者与同行业同性质的应用进行对比测试 。我相信很快就能够有结论了 。除了应用本身 , 还需要对于应用本身某些特别的功能进行响应测试 。比如测试一个list,测试的方法为onkeydown之后查看这个list.index(0)是否高亮,是否正常的界面跳转了,那么分别进行计时(精确ms) 。同样的,我们在空list以及有几百条list的情况进行这样的case test,那么就会有一个性能的结果出来 。实例二,假设你测试微薄客户端,那么你肯定是需要进行一个list上下滑动的性能测试 。我们需要使用脚本语言shell或者python去call server api来仿造数据反馈到移动设备上,否则你不可能自己手动去发几百条weibo然后再测试 。测试的时候需要关注两个问题,一个是list在各种情况下是否滑动流畅,一个是当list中有很多的图片的时候图片load的速度也是一个很大的测试点 。这个load可以直接检查imageview什么时候load出来pic,什么时候显示在界面上,计算时间 。这里其实很多应用是webview,或者数据是存在服务器端的,这个时候无论是平时的测试还是压力,还是性能 , 数据的修改,其实还是多使用脚本ping api比较好,能够很好的去辅助达到性能测试的效果 。实例三,比如要测试一个优酷的视频软件,那么视频的播放的时候,首先保证网络的情况下,各种分辨率各种码率的视频接入时间是需要关注 。然后在播放,也就是和网络不停的通信的同时,那么需要通过tcp dump和wireshark工具来检查网络访问是否正确,视频的卡顿,视频的花屏等除了硬件兼容之外,可以通过抓包来判断其性能 。如果丢包率高那么自然视频卡,体验不好,性能也就不会好 。其实以上只是一些很基础,现在很多公司也已经在这个基础上改良测试了 。不过也是一些思路,让更多的企业和测试关注移动客户端的性能 。不要一提到性能脑中只有LR等这些Server测试 。