iOS APP测试方法和测试工具 大揭秘

2023-05-16

随着移动互联网的发展,以及智能手机的普及,各种各样的 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,并且直接扫描二维码就可以成功安装应用。

iOS APP测试方法和测试工具 大揭秘

 

iOS APP测试方法和测试工具 大揭秘

 

安装好了之后,即可扫二维码进行应用的安装了。

应用测试的执行

安装好应用之后,就应该进行测试的执行了。关于测试执行就跟其他的 APP 测试差不多了,分析需求,提炼测试点,编写测试用例,并执行记录 bug,以及跟踪 bug。

不过,这里要提的是 iOS 测试需要特别注意的两点:

兼容性测试

因为苹果系统没有开源,所以类型没有 Android 系统那么多元化,兼容性测试需要考虑系统的版本和屏幕大小/分辨率即可。

那么如何选取设备呢?综合考虑用户使用量最多的系统版本和屏幕大小,以及可以参考一些数据选择比较主流的设备和系统进行测试。

比如下图就是某统计网站统计出的 iOS 机型和系统使用量的统计数据:

iOS APP测试方法和测试工具 大揭秘

 

iOS APP测试方法和测试工具 大揭秘

 

参考上面的数据,我们就可以选择 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。

公众号:程序员二黑

好东西要和朋友一起分享哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS APP测试方法和测试工具 大揭秘 的相关文章

  • Linux网络编程 | I/O复用之epoll(LT模式)

    文章目录 前言一 epoll二 常用API xff1a 三 使用步骤1 服务器端 xff08 LT模式 xff09 2 客户端 总结 前言 epoll原理以及使用 提示 xff1a 以下是本篇文章正文内容 xff0c 下面案例可供参考 一
  • Linux网络编程 | I/O复用之epoll(ET模式)

    文章目录 前言一 epoll的LT模式与ET模式二 使用步骤1 服务器端 xff08 ET xff09 2 客户端 总结 前言 epoll xff08 ET模式 xff09 以及使用方法 提示 xff1a 以下是本篇文章正文内容 xff0c
  • Linux网络编程 | Libevent库

    文章目录 前言一 libevent二 Libevent模型1 模型图2 结构图 三 支持事件类型四 使用libevent完成TCP服务器端1 服务器端 总结 前言 简单介绍libevent库以及使用 提示 xff1a 以下是本篇文章正文内容
  • Linux基础 | 守护进程

    文章目录 前言一 守护进程是什么 xff1f 二 编程流程三 使用步骤1 后台运行 xff0c 每隔五秒输出一次时间2 输出结果 总结 前言 提示 xff1a 以下是本篇文章正文内容 xff0c 下面案例可供参考 一 守护进程是什么 xff
  • C++ | shared_ptr与weak_ptr

    文章目录 前言一 shared ptr与weak ptr是什么 xff1f 1 shared ptr的内存模型2 weak ptr的内存模型 二 仿写系统的shared ptr与weak ptr1 mdeletor2 Ref con3 sh
  • C++ | lambda表达式

    文章目录 前言一 lambda是什么二 使用步骤总结 前言 简单介绍lambda表达式以及使用方法 提示 xff1a 以下是本篇文章正文内容 xff0c 下面案例可供参考 一 lambda是什么 lambda表达式是C 43 43 11最重
  • Linux基础 | 内存管理

    96 文章目录 前言一 准备工作1 存储器结构2 进程运行原理3 内存扩充技术 二 内存管理1 连续分配管理方式a 单一连续分配b 固定分区分配c 动态分区分配d 动态分区的分配策略 2 非连续分配管理方式 三 虚拟内存管理1 虚拟内存概念
  • C++ | C++中二维数组创建与初始化

    文章目录 前言一 使用步骤1 创建数组2 初始化 总结 前言 刷题时碰到需要用vector创建二维数组的情况 xff0c 简单记录一下 提示 xff1a 以下是本篇文章正文内容 xff0c 下面案例可供参考 一 使用步骤 1 创建数组 代码
  • group by与partition by用法

    本文采用Oracle数据库测试 xff0c 前4个查询为一组 xff0c 后2个查询为一组 xff0c 每组前面的查询是为了推出最后的查询 创建表 xff0c 为了简化处理 xff0c 字段类型都采用varchar create table
  • 算法 | 二分查找及其变种

    文章目录 前言一 二分查找二 数组完全有序且不重复1 第一题2 第二题 三 数组完全有序且重复1 第一题2 第二题 四 数组部分有序且不重复1 第一题2 第二题 五 数组部分有序且重复1 第一题2 第二题3 第三题 六 二维数组总结 前言
  • C++ | 四种类型转换

    文章目录 前言一 类型转化的四种方式二 每个类型转换的使用以及注意事项1 const cast2 static cast3 reinterpret cast4 dynamic cast 总结 前言 简单记录一下C 43 43 中常用的四种类
  • C++ | sort()函数使用详解

    文章目录 前言一 sort 是什么 xff1f 二 使用步骤1 对二维数组进行排序2 针对其它内置类型与结构体或者类 总结 前言 提示 xff1a 这里可以添加本文要记录的大概内容 xff1a 力扣347题 xff1a 给你一个整数数组 n
  • C++ | 菱形继承与虚继承

    文章目录 前言一 菱形继承是什么 xff1f 二 没有虚继承的情况1 具体代码2 结构图 二 有虚继承的情况1 具体代码2 结构图 总结 前言 简单介绍一下C 43 43 中的菱形继承 提示 xff1a 以下是本篇文章正文内容 xff0c
  • C++ | 不用额外空间反转句子

    描述 给定一个字符串 xff0c 逐个翻转字符串中的每个单词 说明 单词的构成 xff1a 无空格字母构成一个单词 样例 给出s 61 the sky is blue xff0c 返回 34 blue is sky the 34 span
  • C语言中string函数库中的一些函数的用法

    目录 1 memcpy函数 1 标准形式为 2 所对应的参数 3 该函数的返回值指向的是目标存储区 dist的指针 4 示例 2 memmoer 3 strcpy 1 函数原型 2 所对应的参数 3 该函数的返回值指向的是目标存储区 dis
  • 火狐浏览器添加扩展之安装Tampermonker

    1 进入火狐浏览器 2 点击右上角的这个图标 3 选择最下面的管理扩展 4 在寻找更多附加组件里面输入Tampermonker进行搜索 5 点击添加到Firefox 6 点击右上角的添加 7 点击右上角的好的 8 在火狐浏览器首页上点击新添
  • 回调参数的设置

    回调参数的设置 前言一 通用开发参数二 小程序或应用中的回调设置问题解决总结 前言 在作为第三方开发接入前 xff0c 不管是应用的接入还是小程序的接入 xff0c 都必须要在后台设置一些信息 在这当中 xff0c 因为在官方的文档中不太理
  • Linux网络通信之【Socket编程】

    目录 30 socket编程 30 1 socket 简介 什么是TCP IP UDP 30 2 socket API 30 2 1 socket编程接口 30 2 2 bind 函数 30 2 3 listen 函数 30 2 4 acc
  • 电脑同时连接内网和外网route命令

    如何让电脑同时连接多个网络呢 xff1f 经常会遇到这样的情况 xff0c 一台电脑如果连上了内网 xff08 局域网 xff09 xff0c 外网 xff08 因特网 xff09 就不能访问了 xff1b 要是连上了外网 xff0c 内网
  • 大端字节序和小端字节序

    大端字节序和小端字节序 1 什么是大小端字节序2 验证大小端字节序 1 什么是大小端字节序 计算机硬件有两种储存数据的方式 xff1a 大端字节序 xff08 MSB xff09 和 小端字节序 xff08 LSB xff09 小端字节序

随机推荐