App测试工程师必须掌握的测试技巧

一、前言

移动端测试经过近十年的发展,方法和工具已经非常成熟。很多时候,我们不一定自己非得开发什么工具和平台,利用现有的工具,也能提高质量和测试效率。本文主要根据作者积累的App测试的方法和经验,总结一些App测试的技巧,以及如何利用工具提升测试效率。

二、App常用测试技巧

1. App测试的正确姿势

在进行App测试的时候,手机一定要连接到电脑,同时开启命令行抓取日志和网络抓包工具。这样,如果发现Bug,我们能第一时间通过错误日志和网络请求,分析定位Bug。常用的抓包工具,Windows下建议Fiddler,Mac下建议Charles。

日志和抓包

2. 如何提供最有效的Bug信息

在保证产品质量的过程中,测试人员的主要工作在于发现产品研发过程中出现的各种Bug,开发人员根据我们的Bug描述,定位并解决Bug。由于问题的发现和解决并非同一个人,测试人员对Bug信息的描述就非常重要。那么怎样提供最有效的Bug信息呢?我提供几点参考。

  • 复现步骤的描述能用视频尽量不用文字
    大部分的Bug系统都支持gif图片的展示。gif图片其实是一种网页端的视频格式。因为,如果我们把复现步骤录制成一个gif图片,附在Bug单里面,将会更加清晰明了。这里介绍一个录制gif视频的小工具:LICEcap,它可以快速对PC屏幕进行录制,然后转成gif视频,效果如下:
LICEcap视频工具
  • Logcat日志不可少
    通常开发同学会在代码中加入一些调试日志,一旦程序出现异常,会在日志中打印出来。因此,我们如果将Bug出现前后的日志截取下来,将会给开发同学的问题定位带来效率的提升。
    对于实时日志的获取,Android系统可以通过Android sdk中的adb logcat工具抓取:
    logcat

iOS通过libimobiledevice获取:

brew install libimobiledevice
idevicesyslog [-u <device-udid>]
  • 不要忽视网络请求
    绝大多数的App产品都需要与后端进行交互。很多Bug有可能是后端返回异常导致的。因此,我们可以对发生Bug前后的网络日志进行抓取提供给开发同学。关于抓包方法的介绍参考庆丰的文章-移动应用抓包调试利器Charles

3. 如何通过Mock测试提高效率

Mock一般是指模拟某个服务器接口的返回数据。在App的测试中,我们为了测试某个服务器接口的不同返回结果对前端交互的影响,经常需要反复构造不同参数的网络请求。这个过程繁琐又效率低下,其实最好的方法就是通过Mock工具,将请求的返回数据进行修改。

例如,对于我们熟知的登录接口,有登录超时、操作超时、登录被挤下线、登录系统繁忙、账户和密码错误、账户锁定、账户解密失败等多种情况。如果是在没有mock的情况下,我们需要实际构造10多种场景,有些比如系统繁忙,超时等场景通过传统的方法根本没法构造出来。利用Mock方法,我们可以借助一些工具,例如charles打断点,截取接口返回的response的json数据,进行一些模拟。

这里推荐的Mock工具还是Charles,它提供了 Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以达到修改服务器返回内容的目的。这三者在功能上的差异是:

  • Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。
  • Rewrite 功能适合对网络请求进行一些正则替换。
  • Breakpoints 功能适合做一些临时性的修改。

具体的使用方法也可以参考庆丰的文章-移动应用抓包调试利器Charles

4. 模拟器的妙用

我们的测试同学一般习惯在真机上进行测试,觉得这样更加符合用户的真实场景。其实,仔细想想你会发现,大部分的测试工作都是在验证产品本身的功能,与手机本身无关。那么我们是不是也可以在模拟器上进行测试呢?很多人可能会觉得Android自带的模拟器性能不好,但是现在市场上出现了很多非常优秀的模拟器,比如Genymotion,网易mumu,Droid4X等,这些模拟器的性能都与真机媲美,对于iOS系统,自带的模拟器我们就不用多说了。除此之外,我这里还要给大家说说模拟器的妙用。

(1)模拟GPS位置
大多数的Android模拟器都有位置模拟功能,我们设置特定的GPS位置,即可让你定位到指定的位置,从而测试需要区分地域的场景。

位置模拟

(2)设置分辨率
App测试中,我们经常需要测试不同屏幕尺寸,不同分辨率下的UI展示情况。通常的做法,是去购买各种屏幕尺寸和分辨率的手机,从而进行兼容性的测试。这样的做法适合土豪团队,同时效率也比较低下。从节约成本上来考虑的话,我们可以使用模拟器,Android的模拟器一般支持分辨率和屏幕尺寸的自定义设置,iOS可以启动不同机型的模拟器。

分辨率
iOS模拟器

(3)快速截图和录制视频
真机上发现Bug,我们截屏后,需要将图片从手机传输到电脑,然后提交到Bug系统,这个过程影响工作效率。而且有的App还禁止了手机的截屏功能。在模拟上,我们不仅可以快速截屏,还可以用前面介绍的LICEcap工具录制gif视频。

5. 模拟网络环境

由于手机的移动性,App的网络场景非常复杂,网络丢包率和延时有时候会非常高。为了测试不同网络环境下App的功能是否正常,我们经常需要去一些信号不好的地方进行测试。其实也可以有便捷的方式模拟网络环境。常见的抓包工作Fiddler和Charles都支持丢包和延时的设置。只要我们知道不同网络场景的丢包率和延迟参数,即可通过工具模拟出来。然后通过手机连接模拟出来的网络进行测试。下面是常见网络场景的参数设备列表,仅供参考。

网络兼容性测试

6. 免费的工具和平台

这里不做过多的介绍,具体可以参考我之前的文章-移动测试工程师必须知道的10个开源框架

三、总结

荀子说过“君子生非异也,善假于物也”。善于利用现有的工具解决实际问题,也是一项非常重要的能力。本文只是抛砖引玉,由于业务场景的限制,很多方法不一定是最好的,总结也不是很全面,欢迎大家多多留言,共同探讨。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容