Jmeter之app性能测试(ios,android)
测试小菜鸟alter今天一大早又学习了一点东西关于jmeter—app性能测试,现在记录一下。提到性能测试,那我就简单总结一下。(想跳过的,直接将页面下移到下一个红色字体处)
性能测试的相关知识介绍
性能测试:
1、系统容量测试
即求得最大用户数和最佳用户数。我们需要对系统做出分析,找出系统的压力点。
2、系统强度测试
系统在长时间的压力下性能状况
3、系统性能瓶颈
需要分析可能对系统造成瓶颈的逻辑业务,然后才能进行性能测试
性能测试常见分类:
1、负载测试
通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或都某种资源已经达到饱和状态。
特点:
a) 这种性能测试方法的主要目的是找到系统处理能力的极限。
b) 这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。
c) 这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃。
2、压力测试(强度测试)
压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。
特点:
a) 这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。
b) 这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
c) 这种性能测试方法一般用于测试系统的稳定性。
也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。
3、并发测试
并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。
特点:
1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。
2、这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。
3、这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。
也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压。
4、配置测试
配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。
特点:
1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
2、这种性能测试方法一般在对系统性能状况有初步了解后进行。
3、这种性能测试方法一般用于性能调优和规划能力。
也就是说,这种测试关注点是“微调”,通过对软硬件的不段调整,找出这他们的最佳状态,使系统达到一个最强的状态。
5、可靠性测试
在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
特点:
1、这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
2、这种性能测试方法需要在压力下持续一段时间的运行。
3、测试过程中需要关注系统的运行状况。
也就是说,这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。
上面的分类绝非全面,还有失效性测试,就是系统局部发生问题时,其它模块是否可以正常的运行。这个在极少数情况下进行,这里就不介绍了。
总而言之,可以将性能测试大致理解为系统的稳定性、系统整体协调性以及瓶颈以及系统可以承受的最大压力。
在做性能测试的时候不用去考虑属于哪个测试分类,因为在一项测试中,可能包含好几个性能测试类别,所以在测试的时候不要单独将测试分门类别,需要考虑的是设计一个高效测试方法检验系统性能。
性能测试相关术语解释:
并发用户数
并发的概念:
a)一种严格意义上的并发,就是多个用户同时在做同一个操作。eg.多个用户同时在登录系统。
b)广义的并发,与严格意义上的并发有所区别的是操作不同,有的可能是在登录系统,有的可能是在购买商品提交订单etc。
其实在真正意义上面并没有并发的实际体现,因为CPU在同一个时间只能处理一个用户请求,其他用户请求都是在排队等待。(除了双核以及多核处理器)
好了,说得有点多。现在开始正题。
关于jmeter环境搭建什么以及一些简单实例在(http://www.cnblogs.com/Darlene/p/7251702.html)都有说明。现在开始详细截图说明。
1、打开jmeter(jmeter.bat),右击测试计划->添加->线程组

2、右击工作台->非测试原件->http代理服务器

3、配置HTTP代理服务器,端口可以使用默认8080,目标控制器选择“测试计划>线程组”(第一次用涂鸦,将就看吧)

4、启动代理服务器(点击上图中的启动绿色播放器那个)
5、手机配置手机网络代理
ios版:
1)设置->打开无线局域网,选择一个WIFI,连接上之后点击感叹号。

2) 进入创建的wifi网络后,下拉到低端,可以看到“HTTP代理“,然后选择手动,在服务器和端口中输入与电脑上一致的代理数据即可。服务器的ip是本机ip(win+R->cmd->ipconfig)


3)查看JMeter录制的手机App脚本,此时操作手机上的应用App就会被JMeter所录制。回到JMeter主界面,查看线程组下被录制的脚本。

Android版:(从网上找的,所以ip不一样)
1)进入手机WIFI设置,选择一个WIFI,长按WIFI名称,在弹出的提示框中,选择“修改网络”。

2)在修改网络页,勾选【显示高级选项】,填写代理服务器主机名(JMeter软件所在的主机IP地址)和代理服务器端口(添加HTTP代理服务器配置的端口,默认8080),保存配置。

4)查看jmeter脚本录制情况
Ok,就这样。
Jmeter之app性能测试(ios,android)的更多相关文章
- 《大话移动APP测试:Android与iOS应用测试指南》
<大话移动app测试:android与ios应用测试指南> 基本信息 作者: 陈晔 出版社:清华大学出版社 ISBN:9787302368793 上架时间:2014-7-7 出版日期:20 ...
- iOS/Android 浏览器(h5)及微信中唤起本地APP
在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这是一个既直观又很好的用户体验,但在实现过程中会遇到各种问题: ...
- 不可或缺 Windows Native (25) - C++: windows app native, android app native, ios app native
[源码下载] 不可或缺 Windows Native (25) - C++: windows app native, android app native, ios app native 作者:web ...
- Web程序员开发App系列 - 调试Android和IOS手机代码(补图)
Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...
- Android app性能测试小结(7个性能指标)
1.性能测试的几个指标: 2.性能测试环境准备: 3.启动时间 3.1,监控值的获取方法 启动分为冷启动和热启动,冷启动:应用程序首次启动,进程首次创建并加载资源的过程:热启动:应用程序启 ...
- vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接
vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接 需求:自己app打开的登录页面不显示app下载链接.其他地方打开判断android手机的跳转到android下载页链 ...
- Android APP性能测试笔记(一)
Android APP性能测试笔记(一) (1)工具使用 Android Studio GT, root的真机 (2)记录apk大小(对比竞品) 使用Android Studio导入需要测试 ...
- Ios/Android h5 唤起本地APP
纠结两天(浏览器中唤起本地APP),一直找不到解决方案,今天总算基本搞定. ps:吐槽一下 魔窗那篇文章,为什么就不直接把js代码开源开源,混淆后的代码看得我好恼火 参考文章:魔窗解决方案.京东解决方 ...
- App性能测试揭秘(Android篇)
阿里云 云原生应用研发平台EMAS 李嘉华(千瞬) 简介: 性能测试在移动测试领域一直是一个大难题,它最直观的表现是用户在前台使用 App 时的主观体验,然而决定体验优劣的背后,涉及到了许许多多的技术 ...
随机推荐
- flask 扩展之 -- flask-login
一. 使用 Werkzeug 实现密码散列. generate_password_hash(password, method=pbkdf2:sha1, salt_length=8) 将原始密码作为输入 ...
- Spring 3整合Quartz 2实现手动设置定时任务:新增,修改,删除,暂停和恢复(附带源码)
摘要:在项目的管理功能中,对定时任务的管理有时会很常见.但一般定时任务配置都在xml中完成,包括cronExpression表达式,十分的方便.但是如果我的任务信息是保存在数据库的,想要动态的初始化, ...
- vue中数据双向绑定注意点
最近一个vue和element的项目中遇到了一个问题: 动态生成的对象进行双向绑定是失败 直接贴代码: <el-form :model="addClass" :rules=& ...
- css3特效详解
好吧,CSS3 3D transform变换,不过如此! 这篇文章发布于 2012年09月7日,星期五,01:05,归类于 css相关. 阅读 408042 次, 今日 34 次 一.写在前面的秋裤 ...
- 大话Python格式化输出字符串
1."{},{}".format(,)用法总结: '{0},{1}'.format('var1',132908) 'var1,132908' '{},{}'.format('var ...
- javascript中apply,call,bind区别,bind兼容等问题总结
1 三者的相似之处: (1).都是用来改变函数的this对象的指向的 (2).都是用第一个参数来做this对象的指向 (3).都可以传参数进去 那么,具体到它们有什么区别呢?请看下面的例子: 两个对象 ...
- TCP/IP三次握手,四次断开
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: SYN: ...
- ArrayList原理解析
简介 ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处 有图有码 图 ...
- PostgreSQL 使用 PreparedStatement 导致查询慢的分析
实验环境: DB is PostgreSQL version 8.2.15 JDK1.8 测试一 使用JDBC查询一个SQL: public static void test1(String url, ...
- PAT-1099(Build A Binary Search Tree)
题目见这里 分析:分四步进行 1)根据给定的结点情况建二叉树 2)对输入的键值排序(asending) 3)对二叉树中序遍历,同时对应赋key值 4)层次遍历(队列应用) 题目并不困难,但是我误入了 ...