20 与时俱进:浅谈移动应用测试方法与思路

移动端应用可以细分为三大类:Web App、Native App 和 Hybrid App

  • Web App 指的是移动端的 Web 浏览器。
  • Native App 指的是移动端的原生应用, 对于 Android 是 apk,对于 iOS 就是 ipa。
  • Hybrid App(俗称:混血应用),是介于 Web App 和 Native App 两者之间的一种 App 形式。

       Hybrid App 通过一个原生实现的 Native Container 展示 HTML5 的页面。更通俗的讲法可以归结为,在原生移动应用中嵌入了 Webview,然后通过该 Webview 来访问网页。

 自适应网页设计

        自适应网页设计(Responsive Web Design)是指,同一个网页能够自动识别屏幕分辨率、并做出相应调整的网页设计技术。

移动应用专项测试的思路和方法

除了功能测试外,还需要进行专项测试

1)交叉事件测试也叫中断测试,是指 App 执行过程中,有其他事件或者应用中断当前应用执行的测试。

        交叉事件测试,需要覆盖的场景主要包括:

  •         多个 App 同时在后台运行,并交替切换至前台是否影响正常功能;
  •         要求相同系统资源的多个 App 前后台交替切换是否影响正常功能,比如两个 App 都需要播放音乐,那么两者在交替切换的过程中,播放音乐功能是否正常;
  •         App 运行时接听电话;
  •         App 运行时接收信息;
  •         App 运行时提示系统升级;
  •         App 运行时发生系统闹钟事件;
  •         App 运行时进入低电量模式;
  •         App 运行时第三方安全软件弹出告警;
  •         App 运行时发生网络切换,比如,由 Wifi 切换到移动 4G 网络,或者从 4G 网络切换到 3G 网络等;
  •         …

2) 兼容性测试,要确保 App 在各种终端设备、各种操作系统版本、各种屏幕分辨率、各种网络环境下,功能的正确性。

        常见的 App 兼容性测试往往需要覆盖以下的测试场景:

  •         不同操作系统的兼容性,包括主流的 Andoird 和 iOS 版本;
  •         主流的设备分辨率下的兼容性;
  •         主流移动终端机型的兼容性;
  •         同一操作系统中,不同语言设置时的兼容性;
  •         不同网络连接下的兼容性,比如 Wifi、GPRS、EDGE、CDMA200 等;
  •         在单一设备上,与主流热门 App 的兼容性,比如微信、抖音、淘宝等;
  •         …

        兼容性测试,通常都需要在各种真机上执行相同或者类似的测试用例,所以往往采用自动化测试的手段。大公司会基于 Appium + Selenium Grid + OpenSTF 去搭建自己的移动设备私有云平台。其他公司一般用第三方的移动设备云测平台,国外最知名的是 SauceLab,国内主流的是 Testin。

3)流量测试

        流量测试,通常包含以下几个方面的内容:

  •         App 执行业务操作引起的流量;
  •         App 在后台运行时的消耗流量;
  •         App 安装完成后首次启动耗费的流量;
  •         App 安装包本身的大小;
  •         App 内购买或者升级需要的流量。

        流量测试,往往借助于 Android 和 iOS 自带的工具进行流量统计,也可以利用 tcpdump、Wireshark 和 Fiddler 等网络分析工具。对于 Android 系统,网络流量信息通常存储在 /proc/net/dev 目录下,也可以直接利用 ADB 工具获取实时的流量信息。对于 iOS 系统,可以使用 Xcode 自带的性能分析工具集中的 Network Activity,分析具体的流量使用情况。

        减少APP消耗流量的常用的方法:

  •         启用数据压缩,尤其是图片;
  •         使用优化的数据格式,比如同样信息量的 JSON 文件就要比 XML 文件小;
  •         遇到既需要加密又需要压缩的场景,一定是先压缩再加密;
  •         减少单次 GUI 操作触发的后台调用数量;
  •         每次回传数据尽可能只包括必要的数据;
  •         启用客户端的缓存机制;
  •         …

4)耗电量测试

        耗电量测试通常从三个方面来考量:

  •         App 运行但没有执行业务操作时的耗电量;
  •         App 运行且密集执行业务操作时的耗电量;
  •         App 后台运行的耗电量。

5)弱网测试

        开源移动网络测试工具:Facebook 的 Augmented Traffic Control(ATC)。

        ATC 最好用的地方在于,它能够在移动终端设备上通过 Web 界面随时切换不同的网络环境,同时多个移动终端设备可以连接到同一个 Wifi,各自模拟不同的网络环境,相互之间不会有任何影响。也就是说,只要搭建一套 ATC 就能满足你所有的网络模拟需求。

6)边界测试

        边界测试是指,移动 App 在一些临界状态下的行为功能的验证测试,基本思路是需要找出各种潜在的临界场景,并对每一类临界场景做验证和测试。

        主要的场景有:

  •         系统内存占用大于 90% 的场景;
  •         系统存储占用大于 95% 的场景;
  •         飞行模式来回切换的场景;
  •         App 不具有某些系统访问权限的场景,比如 App 由于隐私设置不能访问相册或者通讯录等;
  •         长时间使用 App,系统资源是否有异常,比如内存泄漏、过多的链接数等;
  •         出现 ANR 的场景;
  •         操作系统时间早于或者晚于标准时间的场景;
  •         时区切换的场景;
  •         …

补充测试点:

  • 安装、卸载、升级测试
  • 兼容性测试:对外分为硬件/软件,对内相对于其他app
  • 性能测试:服务端的性能、app本身的性能测试
  • 稳定性测试
  • 安全性测试:权限、扣费、敏感信息、第三方工具、服务器安全
  • 易用性测试:操作性、菜单设计符合使用习惯、单手操作、UI界面测试
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值