APP压力測试新手教程
![]() |
Daniel Knott 用过各种不同编程语言和软件质量保证工具。他在软件开发和測试方面干了七年,自2010年,他一直在德国汉堡的XING AG公司就职,几个项目里,比方XING调查和XING建议,他负责測试管理,測试自己主动化和測试运行。Daniel如今是XING移动和XING ? ? |
?
压力測试和中断測试是移动測试中的重要部分。有了工具的帮助,移动測试员就能确定app可能存在的性能或稳定性方面的问题。为了測试你app的中断情况,你能够在使用app时手动触发设备的多个通知。通知能够是讯息,来电,app升级或推送通知(软件中断)。按音量增减button或不论什么其它硬件button都是一种会对你的app产生影响的中断。全部的任务都手动完毕意味着工作量非常大且非常耗时。多数情况下,那些測试场景无法手动完毕,由于非常难用一两仅仅手模拟高速且多用户的输入。但用工具的话就能够轻松完毕,并且集成到开发和測试流程中也变得相当简单。
安卓Monkey工具
对于安卓app,能够使用Monkey[MON01]工具,它是安卓软件开发工具包(SDK)。Monkey工具在物理设备或仿真器上都能够执行。执行时它生成虚拟随机的用户事件比方触摸,点击,旋转,重击,减低音量,关闭网络连接等对app进行压力測试,看看app是怎样处理全部这些输入和中断的。你须要安卓apk文件的安装包名来执行Monkey工具,不然该工具就会针对整个手机执行其的随机命令而不是仅仅对被測APP了。有了app代码,就能够在AndroidManifest.xml中找到安装包名。假设仅仅有编译的apk文件,移动測试员能够使用Android
Asset 打包工具 [AAP02] (AAPT),从app上获得安装包名。AAPT位于安装好的Android SDK的build-tools目录中。AAPT的路径例如以下:

用以下的命令,能够从apk文件里读出安装包名。

输入就会例如以下所看到的:

假设有了安装包名(本例中是com.myApp),就用adb (Android Debug Bridge) [ADB03]运行Monkey。下列命令将開始Monkey:

2000年表明了Monkey将在app上运行的随机命令的数量。有一个额外的參数, Monkey将再次生成同样序列的事件。这对Monkey运行期间再现一个bug真的非常重要。
UI AutoMonkey
对于iOS app来说,还能够使用一个类似的工具——UI AutoMonkey [UIA04]。UI AutoMonkey也能生成多个命令来对iOS app进行压力測试。要使用UI AutoMonkey,UIAutomation工具模板就要配置Xcode。配置好了之后,须要写一个JavaScript文件讲明压力測试期间须要运行多少以及哪些命令。
UI AutoMonkey例子脚本


假设写了脚本,就能够在Xcode中对iOS app进行压力測试。在測试执行结束时,两种工具都会生成一个关于app中可能发生的错误或问题的概述。
注意:具体安装说明和完整的例子脚本在工具制造商站点上都能够找到。
两种工具都能集成到一个连续的集成系统中以便在每一个命令后自己主动执行。对移动app进行压力和中断測试相当简单,且应该成为移动測试策略的一部分。此外,它还会对測试员产生巨大的利益,帮助团队建立一个稳定可靠的移动app。
版权声明:本文出自 SPASVO泽众软件測试网:http://www.spasvo.com/news/html/20141112144940.html
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
APP压力測试新手教程的更多相关文章
- 蓝牙压力測试报抛android.os.TransactionTooLargeException异常分析总结
1.从main日志中找到异常点,例如以下: 08-20 11:05:19.754 5023 5023 E AndroidRuntime: FATAL EXCEPTION: main 08-20 11: ...
- Android开发之按键、触摸屏和手势输入专业压力測试方法
按键输入.触摸屏输入和手势笔画输入等功能是Android开发的基本功能.其稳定性和健壮性对移动应用系统开发很重要.按键.触摸屏和手势输入专业压力測试方法能够使用Monkey,相应用程序进行压力測试,检 ...
- 站点系统压力測试Jmeter+Badboy
近期项目须要压力測试,因此搜了几款试用,首选的是LoadRunner这款大名鼎鼎的測试软件: LoadRunner11 下载请猛戳这里 传送门LoadRunner破解文件 下载请猛戳这里 传送门Loa ...
- php性能优化(一)压力測试工具篇
ab使用 Apache附带的压力測试工具ab,很easy使用,而且全然能够摸你各种条件对Webserver发起測试请求.ab能够直接在Webserver本地发起測试请求.这对于须要了解server的处 ...
- 怎样使用 Apache ab 以及 OneAPM 进行压力測试?
下一个 release 准备小长假后就要 go-live .全部的測试 case 都 cover 过了.但还未进行过压力測试,有点不放心,刚好过节期间家人都回家去了,假期最终能够抽点时间压測一把. A ...
- 学习使用Jmeter做压力測试(一)--压力測试基本概念
一.性能測试的概念 性能測试是通过自己主动化的測试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行測试.负载測试和压力測试都属于性能測试,两者能够结合进行. 通过负载測试, ...
- .Net之路(十五)图解LoadRunner压力測试
在项目编码阶段结束后,就须要进行软件測试. 成为软件开发过程中一个不可缺少的环节.而自己主动化測试也是将逐步取代人工繁杂的測试.压力測试就是软件測试对软件性能评估的一个方面,以下就简介我在使用load ...
- JMeter 压力測试使用函数和 CSV 文件參数化 json 数据
在 http Load Testing 中.json 数据的提交是个让人头疼的问题.本文具体介绍怎样进行 JMeter 的 json 測试提交,以及怎样将其參数化. St ...
- ubuntu 14.04 LTS 安装webbentch压力測试工具
近期在做 压力測试工具,除了apache的ab測试工具外,发现webbentch工具也不错,这里简介下这两个工具. 一.webbentch安装: wget http://blog.s135.com/s ...
随机推荐
- 讨论:怎样加快android的开机时间
如题,近期项目须要,须要将android的开机时间大幅缩短,查了下网上资料,作用有限,望有处理过相关问题的兄弟姐妹參与讨论,给予不吝赐教,期待ing
- Mac 环境下svn服务器的配置
Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ...
- [Algorithms] Binary Search Algorithm using TypeScript
(binary search trees) which form the basis of modern databases and immutable data structures. Binary ...
- swift项目第六天:中间发布按钮的封装以及监听点击事件
import UIKit /* 总结:1:给UIButton写分类,新建文件swiftFile,一般为了区分起名字都是名字-Extension,要想调用UI控件需要导入 import UIKit框架, ...
- [array] leetCode-11. Container With Most Water-Medium
leetCode-11. Container With Most Water-Medium descrition Given n non-negative integers a1, a2, ..., ...
- python implementation for Qt's QDataStream(看一下QDataStream的结构)
#!/usr/bin/env python # -*- coding: utf- -*- from __future__ import print_function from __future__ i ...
- css强制不换行 多出的字省略号
width: 100%;//需要指定宽度 overflow: hidden;//溢出隐藏 text-overflow: ellipsis; white-space: nowrap;//强制不换行 te ...
- Docker容器应用日志查看
原文:Docker容器应用日志查看 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/benben_2015/article/details/80708 ...
- C# 软件编码规范
一.代码注释 并不是所有的代码均需要注释. 1.类头部注释 /// <summary> /// 描述类的用途 /// 作者: 张三 /// 日期: 2015/12/1 /// </s ...
- [Typescript] Generics using TypeScript
In this lesson we cover the key reason why programming languages need generics. We then show how use ...
