1.冒烟测试
跟
web端的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃。这款原生sdk自带的monkey可以当做我们的测试工具。就跟我之前博客所说的,monkey测试模拟了用户的按键输入,触摸屏输入等等,看设备多久时间出异常。因为它得用到adb命令,那么同学们可能还得去自学一下adb命令。如果抓到crash(比如内存溢出,空指针异常什么的),及时向你家开发及时反馈,你也可以把它看成一个
性能测试工具
2.安装,卸载测试
这项对web应用可能测得比较少,这一块很可能归拢到我在后面讲的适配性测试里面。在不同机型测试你们应用的安装,以及卸载,看看会不会出现问题;
这是个第三方
手机助手蔓延的时代,那么发布到手机助手上,检查能不能装卸也是很重要的
3.在线升级
一个手机apk得顺应时代的需求,定期时不时的进行更新,在我第一份
工作里,很重要的一个内容就是测试在线升级功能。
开发给你一个新版本,你得去测试安装卸载,以及功能流程
4.功能测试
4.1业务逻辑测试,测试你家公司apk的业务逻辑流的
4.2功能测试:测试你家apk的功能点的。反正我又不知道你家apk是啥,你自己照着需求书设计呗,测试方法不详细说了
4.3与web端的交互测试。很多apk,比如淘宝啊,京东的app,会跟web客户端进行功能的交互,我想大家都用app来购物,那么你买的东西能正常在web端查看到,这就是你的测试点了。大家可以理解这个意思吧。
5.稳定性及异常性测试
稳定性及异常性测试主要两点;
5.1.交互性测试:客户端作为手机特性测试,包含被打扰的情况13种,来电,来短信,低电量测试等,还要注意手机端硬件上,如:待机,插拔数据线、耳机等操作不会影响客户端。
5.2.异常性测试:主要包含了断网、断电、服务器异常等情况下,客户端能否正常处理,保证数据正确性。
其实这一块又可以跟monkey牵扯到了哈哈
6.性能测试
这一块我不太了解,还是把我自己的想法跟大家说下。
测试点跟web应该差不多,比如尖峰性能啊,
压力测试啊,基准性能等等
1.尖峰性能,在一个时间点,你app的用户量出现井喷现象,有名的双11抢猫猫活动嘿嘿
2.压力测试,逐渐加压
3.基准,压服务器端接口及客户端在不同网络环境下响应速度。主要为258原则
对性能这**兴趣的同学,可以先学学性能有名的理发师模型,比较有趣的。
在一块,我曾帮别人
百度到loadrunner测试手机apk,很幸运,他成功解决了他的问题。我的想法或许,android端或许,注意是或许,将app的什么socket,tcp/IP映射到web端的测试工具上,比如jmeter,来进行测试,这是我的一个猜想。另外的大神或许会给我们好的测试方法意见
7.UI测试
界面易用,简介,符合用户者的口味。
8.适配性测试
也就是兼容性测试。
1.手机分辨率:320*240 、480*320、800*480等等
2.不同手机版本,2.3,4.2,4.3等等,用户面尽量测的覆盖率高一点
3.手机系统,很多手机厂商喜欢在android原生系统的基础进行修改,你得测试啦
4.手机尺寸:3.4,5.0,4.7等等,这里我来插一下话,我在自学android开发的时候有时候会想,如何将自己开发的app调到适合这么多android机型。百分比是个不错的选择
9.电量及流量测试
用户除了你app的基础功能,适配,UI美观。还关心耗不耗流量跟电量。一般非唤醒状态,后台状态会比较低耗能。这个测试范围,得看你的公司定下的基准。广播貌似可以**用电量,大家了解了可以留言告诉我学习学习哈哈
10.内存泄露
这个东西你可以用monkey抓到,当然也可以DDMS抓
11.回归测试工具
这个版块的测试工具为大家介绍monkeyrunner,robotium,appnium。
我一直认为一般小公司,用测试工具,主要是主要功能的回归 。只有大公司才有本钱请大神用自动化黑盒工具来做大规模的测试覆盖。因此我把这三个工具归属于回归测试工具
11.1monkeyrunner
该monkeyrunner工具提供了编写控制Android设备或**器从Android的代码之外程序的API。随着monkeyrunner,您可以编写安装一个Android应用程序或测试包,运行它,发送击键它,需要它的用户界面截图,并将截图工作站上的
Python程序。
脚本用jython,what is jython?It is A mix of python and
Java。因此可以用java api,当然你也可以扩展。
11.2appnium
Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的
移动端应用。Appium支持
IOS、Android及FirefoxOS平台。Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对IOS系统的支持得益于Dan Cuellar’s对于IOS自动化的研究。Appium也集成了Selendroid,来支持老android版本。
跨架构,native hybrid webview
跨设备:android ios
跨语言:java python ruby
跨app,多个app直接交互
native本地应用,如android的信息应用
hybrid native跟webview的结合
webview 浏览器应用
11.3robotium
Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒
自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。
robotium底层是android的instrument,通过Solo对象来创建一系列操作。但是只能android端,不像appnium跨设备。
这里扩展一下大家的知识面,如何定位元素,我总结了三个,还有其他方法,请大家留言。
针对坐标的:
1.monkey的recorder,之前的博客有详细讲
2.hierarchyviewer:sdk自带的工具。很多朋友会问商业机为什么不行,因为
谷歌做了安全措施。无版本限制,如果你想测4.2以上版本也可以。注意,开发板或者模拟器可以用。
效率为获得一个界面的所有节点和图片时间为10s左右
3.uiautomator ,4.2以上android版本的定位利器,可以真机哟。他也是可以做功能测试的
补充:横屏、竖屏的测试
兼容性测试:软件兼容性(杀毒软件、助手及管家之类的)、硬件、网络、OS及版本、分辨率。
安全性测试
- 【转载】Android端手机测试体系
1.冒烟测试 跟web端 的测试流程一样,你拿到一个你们开发做出来的apk首先得去冒烟,也就是保证他的稳定性,指定时间内不会崩溃.这款原生sdk自带的monkey可以当做 我们的测试工具.就跟我之前博 ...
- 锅巴视频工作室 ----------------android端蓝牙测试demo--app
android端蓝牙测试demo--app 这个是为一个客户做蓝牙项目时的一个测试demo,用来测试蓝牙单片机的收发情况,代码中没有做一些兼容性测试,请理解 锅巴视频工作室,专注于android视频相 ...
- opencv 手写选择题阅卷 (四)Android端 手机应用开发
opencv 手写选择题阅卷 (四)Android 手机应用开发 在PC端把代码调通以后开始开发Android 手机应用,因为主要功能代码为C++代码,所以需要通过NDK编译,JAVA通过JNI方式调 ...
- Android端项目测试
目录 一.概述 二.使用工具 三.测试 1.测试主要的两大功能 进入主界面,测试排行榜查看功能是否能运行 测试83端口打卡能否运行 修改个人信息已经注册功能 2.测试参数是否正确 3.测试刷新能否使用 ...
- 腾讯技术分享:Android版手机QQ的缓存监控与优化实践
本文内容整理自公众号腾讯Bugly,感谢原作者的分享. 1.问题背景 对于Android应用来说,内存向来是比较重要的性能指标.内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验.因此 ...
- 使用Frida简化Android端应用安全测试
@author : Dlive 在对Android应用进行Web漏洞测试时,经常遇到一种情况:HTTP传输的数据带有签名字段 处理这种情况的方法通常是逆向签名算法,但是如果算法在so中,而且so加壳了 ...
- 如何做好 Android 端音视频测试?
在用户眼中,优秀的音视频产品应该具有清晰.低延时.流畅.秒开.抗丢包.高音效等特征.为了满足用户以上要求,网易云信的工程师通过自建源站,在SDK端为了适应网络优化进行QoS优化,对视频编码器进行优化, ...
- pc端和android端应用程序测试有什么区别?(ps面试题)
pc端和android端应用程序测试有什么区别?(ps面试题) [VIP7]大连-凭海临风(215687736) 2014/4/10 8:56:171.测试环境不同PC平台一般都是windows an ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
随机推荐
- Idiomatic Python手记一: average in FP way
方法一: import operator def average(*args): return reduce(operator.add, args) / len(args) if args else ...
- PHP与MySQL动态网站开发1
PHP内嵌在HTML中,置于 <?php ?> 标签内 一般php文件扩展名.php 在body结算标签之前 对于远程服务器,可以用ftp工具传程序 打印语句 echo'Hello Wor ...
- V&View更新
这几天一直在做V&View的更新工作,这次的更新是质的变化,表面界面变化不大,可是内部确有着翻天覆地的改变. 这几天我主要做了一下几件事: 1. 重新构思了vview的文章发布形式,之前使用k ...
- 【bzoj1300】大数计算器
题意: 求C(n,m) 如果C(n,m)的位数<=12 那么直接输出 否则按XXX...XXXXXXXXX的形式输出 题解: 这题之前打过 但是昨天又想出一种新的做法 先说下新的做法吧- - _ ...
- android中setOnClickListener的那点事
最近在写代码中,发现在xml文件设置了android:clickable="false",之后这个View还是可点的. 后来发现,是代码中对View设置了监听事件(setOnCli ...
- Delphi 调用netsh命令修改IP地址
Delphi 调用netsh命令修改IP地址 先介绍一下Netsh命令的使用方法: 在这里跟大家介绍几个简单的指令 1.Show IP 1.1Cmd Mode 直接在cmd下面输入 netsh int ...
- [OC Foundation框架 - 5] NSString的常用方法
NSString *s1 = "; 1.比较 使用 == 号比较的是字符串地址 NSString *s4 = @"abcdefg"; NSStrin ...
- 转载Code First Migrations更新数据库架构的具体步骤
[转载] Code First Migrations更新数据库结构的具体步骤 我对 CodeFirst 的理解,与之对应的有 ModelFirst与 DatabaseFirst ,三者各有千秋,依项 ...
- jQuery的遍历方法
1.jQuery中的map使用方法 <!DOCTYPE html> <html> <head> <style>p { color:red; }</ ...
- 一、JSP、Servlet 概要
//jsp 1.Web.xml可以配置JSP,SERVLET,LISTENER,FILTER,标签库,JAAS,资源引用,默认页面(首页,404...),metadata-complete 2.JSP ...