iOS APP测试方法和测试工具 大揭秘
随着移动互联网的发展,以及智能手机的普及,各种各样的 APP 层出不穷,大家可以数一数自己手机上安装的 APP,随随便便几十个,上百个,所以现在 APP 测试的需求也越来越大。
那么,现在最主流的移动端操作系统就是 Android 和 iOS ,Android 系统因为是开源的,测试工具以及各种测试教程都非常丰富。
但是 iOS 因为苹果系统的私密性,导致 iOS 测试的教程相对来说少很多。那么,今天我们来说说 iOS APP 测试具体要如何进行呢?
测试版本的提交和获取。
Android APP 的测试开发直接打包一个 apk 包发送给测试,测试可以安装到任何 Android 设备开始测试工作。
但是 iOS 不可以,想要在 iOS 系统里安装 APP,必须要得到苹果的授权。那么,要得到苹果的授权,内部版本可以有以下几种方式:
FIR
通过加设备 UDIID(Unique Device Identifier)到开发者账号的白名单中来进行安装和测试。
所以,一般测试员需要先收集测试设备的 UDID 提供给开发,开发手动添加后,测试即可用这个 UDID 的设备安装 iOS 的内测版本的应用;一个开发者账号可以加 100 个账号,不能多可以少,这种方式不需要苹果审核,适合频繁需要打包测试,但是一个个收集测试设备 UDID 比较麻烦。
如何获取 UDID :通过 iTunes 工具或者 iTools 工具连接设备获取:
- 电脑安装 iTunes 工具
- 数据线连接手机和电脑,然后电脑点击运行 iTunes:
- 点击这个设备图片,可以跳转到手机操作界面:
- 点击开始使用后,就可以看到手机的信息,点击序列号之后就会看到对应的 UDID 了:
- 右键可以复制下来,提供给开发,开发添加到自己的开发者账号即可。这样,你的这个设备就可以开始安装测试 APP 进行测试了!
当然,除了这种安装测试测试版本的方式,还有一些其他的方法。
TestFlight
这是苹果官方测试工具,分为内部和外部测试。内部测试的话不需要走苹果审核,但是可以添加的测试人员只有 25 个(通过 appleID 邮箱进行添加)。
外部测试需要通过苹果审核后可以开放给至多 10000 人测试,不过需要额外支付费用。
因为要经过苹果的审核,时间周期会比较久,所以这种方式比较适合版本比较稳定,不需要频繁打包的测试。
不过一般公司的测试版本的提交都是通过内部测试这种形式,可以添加的测试人员比较有限。
蒲公英
蒲公英是第三方提供专业的手机应用内测服务,您只需将需要内测的应用上传至蒲公英,蒲公英会自动生成下载链接和二维码。
内测用户通过在手机上扫描二维码,即可将内测应用安装至手机等设备中进行测试。
不过需要通过扫描这个二维码安装成功,测试设备也是同样需要提供 UDID,添加到开发者账号中。
这个工具比起 FIR 更加方便是直接扫描二维码就可以收集 UDID,并且直接扫描二维码就可以成功安装应用。
安装好了之后,即可扫二维码进行应用的安装了。
应用测试的执行
安装好应用之后,就应该进行测试的执行了。关于测试执行就跟其他的 APP 测试差不多了,分析需求,提炼测试点,编写测试用例,并执行记录 bug,以及跟踪 bug。
不过,这里要提的是 iOS 测试需要特别注意的两点:
兼容性测试
因为苹果系统没有开源,所以类型没有 Android 系统那么多元化,兼容性测试需要考虑系统的版本和屏幕大小/分辨率即可。
那么如何选取设备呢?综合考虑用户使用量最多的系统版本和屏幕大小,以及可以参考一些数据选择比较主流的设备和系统进行测试。
比如下图就是某统计网站统计出的 iOS 机型和系统使用量的统计数据:
参考上面的数据,我们就可以选择 iPhone11,iPhonex,iPhone7 plus 这几款机型,配备 iOS13.6, 14.1,14.0 这几个系统版本进行测试。当然,如果你们的应用有特殊用户的需求,肯定要以用户需求为准。
APP 的日志收集
测试 APP 的时候经常会发生一些闪退、ANR 的现象,而且这种现象很多时候都不是必现的,所以为了帮助开发修复这些 bug,我们就需要收集到这些 crash 和 ANR 的日志,来帮助定位和分析问题。
那么,iOS 手机如何收集日志呢?如果没有 mac 电脑,可以用 iTunes 或者 iTools 这个工具来同步收集手机端的日志:
- 首先, 用数据线将手机和电脑连接起来,打开电脑里的 iTunes 工具,识别出来手机后, 点击下面的“同步”按钮:
- 这样可以把手机里的资料信息同步到电脑里。然后 , 等同步完成之后,去到电脑里的以下目录:C:\Users\用户名\AppData\Roaming\AppleComputer\Logs\CrashReporter\MobileDevice\tricy 的 iPhone
- 找到对应的设备,打开就会开到这个设备的所有生成的日志文件,寻找到对应的 APP 的问名字的文件,定位到问题出现的时间附近的 error 日志,发给开发或者贴到 bug 的附件即可。
测试完成,发布上线
APP 测试完成之后,需要提交到 AppStore 中才能够让所有的普通用户安装并使用,而上传到苹果应用商店,区别于 Android 的应用市场, 苹果的审核非常严格。
我们经常看到 Android 应用已发布,立马可以在各大商店进行下载,但是苹果一般需要审核 3 天-1 周作业左右,如果失败了,还需要更久。
具体苹果如何考核以及开发需要提交哪些资料一般是开发去操作的,测试主要关注一下上线后,下载最新的线上版本做一下主流程的测试,确保线上版本是OK的。
获取往期阿里测开工程师精讲资料、精讲视频、Jmeter、TestOps架构、脚本编写技巧、Fiddler进阶抓包、接口自动化测试实战等等技术,可加入软件测试学习交流群:785128166。
公众号:程序员二黑
好东西要和朋友一起分享哦
iOS APP测试方法和测试工具 大揭秘相关推荐
- IOS APP 测试方法和测试工具大揭秘
随着移动互联网的发展,以及智能手机的普及,各种各样的 APP 层出不穷,大家可以数一数自己手机上安装的 APP,随随便便几十个,上百个,所以现在 APP 测试的需求也越来越大.那么,现在最主流的移动端 ...
- 轻松做性能测试,月入3万的主流测试工具大揭秘
在为大家介绍性能测试工具以前,先让我们一起回顾一下什么是性能测试. 1.为什么需要性能测试? 举个例子.下图是一张交通图.图中的车流类似于性能测试中的数据,图中的车道.十字路口就相当于数据流量的规则和 ...
- FireEye红队失窃工具大揭秘之:分析复现Zoho ManageEngine RCE (CVE-2020-10189)
聚焦源代码安全,网罗国内外最新资讯! 前言 最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗.虽然目前尚不清楚这些红队工具将被如 ...
- 论述软件测试方法及其应用,软件测试方法及测试工具应用
软件测试方法及测试工具应用 介绍了软件测试的过程及方法,重点分析了几种常用软件测试工 (本文共3页) 阅读全文>> 轨道交通自动售检票(automatic fare collection, ...
- FireEye 红队失窃工具大揭秘之:分析复现 Zoho 任意文件上传漏洞(CVE-2020-8394)
聚焦源代码安全,网罗国内外最新资讯! 前言 最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗.虽然目前尚不清楚这些红队工具将被如 ...
- FireEye 红队失窃工具大揭秘之:分析复现 Confluence路径穿越漏洞 (CVE-2019-3398)
聚焦源代码安全,网罗国内外最新资讯! 前言 最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗.虽然目前尚不清楚这些红队工具将被如 ...
- FireEye 红队失窃工具大揭秘之:分析复现SolarWinds RCE 0day (CVE-2020-10148)
聚焦源代码安全,网罗国内外最新资讯! 前言 最近,全球领先的网络安全公司 FireEye 疑遭某 APT 组织的攻击,其大量政府客户信息遭越权访问,且红队工具被盗.虽然目前尚不清楚这些红队工具将被如 ...
- iOS APP真机测试及上架App Store流程记录
上架基本需求资料 1.苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2.开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa测试上架的完整流程,中途可能会遇到一些报错,一般 ...
- 年轻人不讲武德!200个网络渗透测试工具大汇总
最近有粉丝私信我说能不能写一期资料整理的文章 那么....它来了! 以下工具适合渗透测试人员,安全研究人员. 可以通过以下命令检查所有的工具: git clone --recursive https: ...
- 轻松做性能测试,月入3万的主流测试工具 大 揭 秘
在为大家介绍性能测试工具以前,先让我们一起回顾一下什么是性能测试. 1.为什么需要性能测试? 举个例子.下图是一张交通图.图中的车流类似于性能测试中的数据,图中的车道.十字路口就相当于数据流量的规则和 ...
最新文章
- debian安装oracle jdk
- XML序列化以及新增节点XMLHelper
- 分数序数之和c语言,用c语言求解:有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求这个数列的前20项之和....
- tiny4412u-boot烧写及根文件系统制作(不进入终端问题)
- java 封装api_关于java 封装某个功能为api形式供其他用户调用的问题
- 第三章项目管理过程重点--转载
- 【java算法】二分查找算法详解
- Deprecated: Function eregi() is deprecated in ……【解决方法】
- 哈工大计算机学院人才招聘,计算机学院教师赴澳大利亚进行学术访问及人才招聘...
- AI,让大海永远蔚蓝如诗
- 服务器声卡硬件安装,虚拟声卡,详细教您怎么安装虚拟声卡
- 51单片机——外部中断
- c语言日历显示系统,C语言实现显示日历
- 玩转地球: 如何利用SAS绘制现代化地图(附代码)
- 无线技术—安全认证技术
- Python while语句2021-08-27
- 说说 Pluma 插件管理框架
- placement new的标准用法及用途
- 百度搜索简单使用 以及 搜书网址
- Qt中使用qrc管理和使用资源文件(转)