Android开发测试相关的技能了解一下

本文的目的在于总结Android开发中(手机和TV端)常常会用到的一些测试相关的知识,在此梳理,不足之处,还请指出完善。

先了解一下测试的基础

1.黑盒测试(功能测试)

大多的开发程序 以功能测试就能解决开发中的问题,适合公司以快速上线为原则的迭代需求。通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。

2.白盒测试

程序员开发中的代码测试,是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。

白盒测试主要针对的是程序代码逻辑,黑盒测试主要针对的是程序所展现给用户的功能,简单的说就是前者测试后台程序后者测试前台展示功能。

3.回归测试

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

4.冒烟测试
冒烟测试是自由测试的一种。冒烟测试(smoketest)在测试中发现问题,找到了一个Bug,然后开发人员会来修复这个Bug。这时想知道这次修复是否真的解决了程序的Bug,或者是否会对其它模块造成影响,就需要针对此问题进行专门测试,这个过程就被称为SmokeTest。在很多情况下,做SmokeTest是开发人员在试图解决一个问题的时候,造成了其它功能模块一系列的连锁反应,原因可能是只集中考虑了一开始的那个问题,而忽略其它的问题,这就可能引起了新的Bug。SmokeTest优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低。

进一步测试进阶:
性能测试:
功能测试完成后,需要在产品质量上做进一步的测试。

扫描二维码关注公众号,回复: 1779615 查看本文章

如性能测试:配合开发,找出性能的瓶颈,提高产品体验度

书籍推荐:《Android移动性能实战》

书中介绍了资源类性能测试如(内存、网络、CPU、电池)

交互 类性能测试(如流畅度、响应时延),以及测试工具的使用等等。

用第三方测试工具:

51testing、百度MTC测试等等

另外 在开发中也方便收集崩溃日志或是ANR无响应的第三方平台有

qqbugly、友盟、360加固保等等

adb 命令的行知必会的技能 get!
最后:在Android开发、测试人员测试时 以下有关adb 命令使用 不知道没关系,知道后会极大提高开发和测试效率。
adb 查看日志基本操作:

adb logcat | [find/grep][FILTER]消息过滤
Windows: find Linux: grep
adb logcat | find “你要过滤的字符”
示例:
这里写图片描述
注:使用CTRL+C来推出log状态

monkey测试(压力测试)

用adb 来简单的模拟测试 释放双手 解放大脑,让一切重复的测试变得简单

命令如下:

android shell monkey -p 你想测试程序的包名 -v 500

举个常用的例子:
adb shell monkey -p com.tiaoba.hd  --throttle 380  -s 500 -v -v -v 30000>E:\test\monkey_log.txt
如果想要把日志放到测试机上:
adb shell 
monkey -p com.tiaoba.hd  --throttle 380  -s 500 -v -v -v 30000>/mnt/sdcard/monkey_log.txt
之后把日志pull出来
adb pull  /mnt/sdcard/monkey_log.txt  D:monkey.txt(可重命名)

常用参数解释:
-p
作用:如果你指定一个或多个包,Monkey将只允许访问这些包中的Activity。如果你的应用程序需要访问这些包(如选择联系人)以外的Activity,你需要指定这些包。如果你不指定任何包,Monkey将允许系统启动所有包的Activity。指定多个包,使用多个-p,一个-p后面接一个包名。

–throttle
作用:在事件之间插入固定的时间(毫秒)延迟,你可以使用这个设置来减缓Monkey的运行速度,如果你不指定这个参数,则事件之间将没有延迟,事件将以最快的速度生成。
注:常用参数,一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件,所以此处一般设置为300毫秒。

-s
作用:伪随机数生成器的seed值。如果用相同的seed值再次运行monkey,将生成相同的事件序列。

-v
每个-v 命令增加结果不同冗余级别。不同的level,从0到2,所能提供的是越来越详尽的内容提示 。log详细程度(最高支持‘-v -v -v’最详细)

示意图如下:
这里写图片描述
这里写图片描述

monkey更多使用详情请移步:
https://blog.csdn.net/u011649536/article/details/45043781/
https://blog.csdn.net/shuijianbaozi/article/details/78871221
测试后的monkey日志分析:
https://blog.csdn.net/qq_15158911/article/details/53444821
adb相关请查看:
https://github.com/mzlogin/awesome-adb#
adb主要的功能有:查看设备连接状态、查看设备上的各种参数信息、网络状态、查看WiFi密码、安装和卸载apk、数据的移动、测试时的录像和截图、模拟测试环境(如广播、电量、网络变化的环境)、输入文字、模拟各种按键操作、 抓日志等等,总之你不可不知!
如果想了解一下iOS中的相关monkey测试请点击:
https://blog.csdn.net/czc1009/article/details/49513359

Android TV测试:

android TV 端的盒子也是Android系统,也可以用adb命令

如果不能直接用adb,最常用的方法是用secureCRT中的shell命令

也可以 用串口来测试,抓日志跑python脚本等等。

更多详情可参考:

https://blog.csdn.net/maybe_frank/article/details/48163001

Android 程序员必须掌握的三种自动化测试方法
https://blog.csdn.net/whatnamecaniuse/article/details/52451782

其他测试:

1.与平台的配合测试,用小幺鸡在线api、apizza等在线api测试数据工具

2.打开手机的图像绘制详情,可以查看手机中的UI性能情况等等

3.开发中使用 facebook中的 stetho来调试数据等等。

先总结这些,后期完善。

猜你喜欢

转载自blog.csdn.net/jun5753/article/details/80788492