iOS APP的测试经历

iOS APP的测试经历

要产出一个优秀的,稳定安全的的 APP,少不了测试人员这种 bug 探寻者和开发人员的配合。我们如果能很好的了解测试人员是如何从多方面,多维度的蹂躏我们开发的 APP,我们就更更好的在开发过程中,去考虑的更周全和更清晰。一般 APP 的测试可以归结为下面几项:

1.非功能测试

app测试的一个重要方面是app的非功能需求。移动app在推出市场或进行进一步开发前,测试人员有一定的职责做该类需求的跟踪工作。早期开发阶段要进行的第一个测试应该是实用性测试。例如很多公司正式推出新版本或者新 APP 的时候,会有一批试用客户,或者一定的市场调研,竞品分析等。前期收集到试用用户的反馈很重要,能在开始就完善符合用户习惯的功能。

测试方法:这属于前期一些数据收集的工作,主要是人员调研,问卷调研,现场体验感受,反馈汇总等。这个阶段对于产品是否受欢迎,是否切合用户喜好,是否易操作和黏性等都至关重要,不能轻视。

2.功能测试

不管是新立项的项目,还是迭代的项目,每次开发只要有新功能模块,就都需要测试。测试人员应该或者说很必要进行手动测试和后期的自动化测试维护。刚开始测试的时候,测试应该如“黑盒”一样进行手动测试,看看功能和产品设计是否正确并且一致。一般功能测试会测试以下:

  • 功能
  1. 主要的功能是否实现(根据需求,这里就不一一展开)
    测试手法: 前期手工过滤一遍所有主要功能,后期开始编写自动化测试用例,节省代码和功能越来越大的时间消耗。

  2. 弹出窗口有无,取消或确定按钮的功能。测试手法: 脚本录制,带截屏验证

  3. 有可滑动的列表视图的时候,一定要将内容填充超过一屏,上下滑动查看有无问题。测试手法: 初期手动多次反复上拉下拉验证,后期编写单元测试,模拟返回的数据,调用刷新和加载的方法。

  4. 操作/状态类统计点上报正确。测试方法: 只能人工验证某些状态点,特别是 UI 的部分。对于简单逻辑的,可以通过 UI Test 搜索控件状态验证。

  5. 后台云配置软件功能是否成功。重启系统后,是否恢复。测试方法: 人工验证,对照后台配置一一检查

  6. 信息查询、搜索等功能,结果是否正确,有无错漏。测试方法: 人工测试,视图显示方面,数据方面可以 log 结合单元测试的数据 log 匹配。

  7. 读取、传输含有特殊符号的数据时,是否会出现乱码。测试方法: 单元测试覆盖,边界条件和异常条件的断言判断

  8. 数据的计算是否准确,如流量、内存等数据。不好说,只能结合第三方软件来验证是否偏差过大。

  • 界面
  1. 按钮位置是否一致,名称显示完整与否,按钮名字是否与其功能相对应。测试方法: 人工测试,参照产品原型和 UI 设计界面。

  2. 界面(整体风格,界面切换,处于不同界面相对应的菜单栏选项显示)测试方法: 人工测试,是否风格统一,跟产品预期是否一致。

  3. 输入信息时键盘的的模式,弹出位置是否一致。测试方法: 人工测试,视觉验证。

除了整个手动测试过程,测试自动化对移动app也很重要。每个代码变化或新功能都可能影响现存功能及它们的状态。通常手动回归测试时间不够,所以测试员不得不找一个工具去进行自动化回归测试。现在市面上有很多自动化测试工具,有商业的也有开源的,面向各个不同平台,iPhone需要根据开发策略和结构,品质管理测试专家需找出最适合他们环境的自动化工具。

3.客户端性能测试

一个App做的好不好,不仅仅只反应在功能上。被测的app在中低端机上的性能表现也很重要。例如老机型4s,5 ,5c,5s 等是否流畅,老版本的系统,iOS7,8,9的系统上是否没有异常或者特别耗时耗资源等。考量是:CPU ,内存,耗电量,流量,FPS 等。具体细化到测试方面如下:

  • 性能:是一个优化 APP 用户体验比较重要的指标。主要通过人工测试,体验式内测等方式来开展此类设置。关于,CPU,耗电量,FPS 等硬件指标,用三方的云平台或者 Xcode自带的检测工具。
  1. 连接网络、页面刷新时是否有转圈等待,等待时间是否过长,有没有超时提示异常等。
  2. 多次点击(或滑动,拖动)某控件(按钮,图片等)是否会异常,是否会崩溃。
  3. 按钮点击的有没有做响应阻隔,过快点击是否会出现事件异常,是否会崩溃。
  4. 界面的刷新率,是否会卡顿等。
  5. 多次切换页面是否会出现程序崩溃或者耗时导致的程序反映变慢。
  6. 程序使用,操作时间较长会不会卡住,反应慢,甚至出现死机。
  7. APP 里的动效效果是否与需求无异,是否多次运行出现性能问题。
  • 易用性:额,只能人工了,而且需要审美比较好的
  1. APP的触控性,操作性是否符合用户行为习惯,是否反人性
  2. 程序加载图片时是否有风格合适的占位图,整个界面让人舒服,不突兀
  3. 一些控件的风格和功能是否符合苹果的的特点,整体的统一性。
  4. 屏幕旋转的视觉效果,有没有控件或者显示错位。

4.兼容性测试

苹果 产品这几年的快速迭代,出现了大量的机型和系统版本,屏幕适配和系统适配已经成了iOS开发者比较头痛的问题了,在越来越多的机型上,问题也是越发明显。一般兼容性测试囊括以下:

  1. 系统兼容性,从目前市场占有率来说,最低要从 iOS9.0开始测试,iOS 10.0, iOS 11.0等都进行测试,是否有异常。
  2. 机型适配,市面上现在已经淘汰32位系统的机型了,所以测试的时候5S 以上的机型都要测试,看看适配有没有异常。
  3. 安装同类型竞品产品,相关功能是否会被抢占,快捷图标、浮窗等是否重叠,替代,乱屏等。
  4. 在不同的机型上的安装、拉起、点击和卸载是否正常
  5. 在不同的系统版本上的安装、拉起、点击和卸载是否正常
  6. 覆盖安装、升级安装都要进行测试,注意覆盖安装后的各种数据、开关、配置和升级前一致等

兼容性测试最佳的方式是投放到机型数量和种类齐全,版本丰富的云平台进行测试,一般几十分钟就可以拿到测试报告

5.弱网络测试

App在使用的过程中,难免会遇到弱网络环境,例如在公车上、在地铁里。在这种情况下,常常会出现网络抖动、上行或下行超时,导致应用中出现丢包。测试会对app在上线前做一定场景的弱网络环境模型,并查看app在弱网络环境下是否存在某些未知的问题。下面是我们常用的弱网络环境场景:

  1. 3G弱网络信号场景模拟;
  2. 市区低速移动场景模拟;
  3. 郊区高速移动场景模拟;
  4. 请求回应超时_上行超时场景模拟;
  5. 请求回应超时_下行超时场景模拟;
  6. 网络抖动场景模拟

弱网络测试,在应用环境不复杂的情况下,测试人员可以通过真机的开发者模式里面模拟网络变化来测试 APP 在各种网络状态和弱网或者无网的环境下的表现及异常。对于测试全面性和可靠性,建议投放到比较大的云平台进行测试,结果更全面和细致。

6.耗电量测试

App在手机上的表现,除了功能外,app是否耗电,也是测试过程中重点要关注的一项。手机设备在满电的时候,这个App能玩多久;App每小时的耗电是多少;App在某个场景挂机10分钟耗电量是多少;这些都是我们平时在耗电量测试中比较关注的点。

国内各大平台都支持这项测试,只需要选择有 iOS 设备的平台,投放测试。

7.协议测试

通过抓包或者 postman 等工具,模拟客户端直接发送数据协议包给服务器,看看服务器是否有一定的校验,能否接收客户端发来的数据。协议测试主要是为了处理用户发送恶意协议到服务器,骗过服务器校验,造成数据异常等。

这项测试只能是专业测试人员,懂代码,会脚本,熟悉网络协议的人员进行测试,配合服务器端的开发人员一起验证。

8.安全测试

APP 在上线前,会进行必要和详细的安全测试。主要测试应用是否容易被外界反编译,被破解,是否会被劫持,注入恶意代码,外挂风险等。

专业的事情交给专业的人去做,Testin云测,阿里MQC都有安全测试的服务,我们应该提交带这些云测平台进行全面细致的安全性测试。

9.中断测试

针对应用的服务等级划分方式及实时特性所提出的测试方法,如:App在前台和后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。测试电话,短信,彩信,微博或其他通知进来时app的反应。

这个测试可以由测试人员手工模拟各种场景来测试 APP 的反应和表现,但是可能会有遗漏,考虑不全面等,这需要测试人员有比较丰富的经验和测试场景的熟悉。个人建议还是分发到云平台进行测试,由测试经理综合考虑再选择合适的平台。

10.压力测试

压力测试包括,服务器压力和终端压力。大量数据请求的时候,能否快速响应。疯狂点击请求的时候,会不会崩溃等。还有边界压力,边界条件的操作,会不会没有容错处理,导致应用 crash 等。

最佳方式是提测云平台,进行 Monkey测试,边界压力,响应压力等专家测试团队等测试。

以上测试就是大概测试会对我们APP所做的一些测试流程,我们在开发 APP 的时候,只要按照这些方面去开发,能更好的避过很多坑,减少 bug的产生。

参考:

如何做好APP 的测试工作

!!! IOS monkey测试+命令行运行+日志收集

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

推荐阅读更多精彩内容

  • weTest(腾讯):http://wetest.qq.com/register/complete GT(腾讯):...
    maple_若尘阅读 999评论 0 0
  • App测试点: 1、 安装查看在安装过程中存在的提示信息是否明确,意思是否明确在安装过程中,点击取消按钮,能否...
    理智_b3b0阅读 1,321评论 2 5
  • 依地而睡 还是暴热 心情如狂犬吠鸣 看天行繁星我行我素 圣地安列斯的祈祷 智慧星在脑际 没有答案 生命谁来主导 凡...
    敖包汉子阅读 187评论 0 0
  • (一) 她说喜欢我还说了一些热辣辣的话我一愣,赶紧用初中时学过的知识分析这句话的分子结构结果是,H2O (二) 我...
    凡人语阅读 234评论 1 2
  • 我知道仅仅见一面会更难过 怕你生气伤心失望 心不知道该不该去 抛去往返只有不足10分钟 不知不觉走到车旁 上了车 ...
    掉毛的老公阅读 112评论 0 0