移动端App测试实用指南(下)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

移动端App测试实用指南(下)

简介:

特定平台上的注意事项

  对于任何项目团队成员来说,了解相关平台的业务、技术和设计上的限制,都是至关重要的。

  那么,移动端App的测试人员应该找出哪些平台相关的问题呢?

  · 是否遵照了这个特定平台的设计规范?

  · 与竞争对手以及行业内的设计相比如何?

  · 是否适应外围设备?

  · 触摸屏支持手势吗,如:轻拍、双击、长按、拖动、摇动、夹捏、轻拂、滑动?

  · 这个App可以被理解吗?

  · 当转动设备的方向时,有什么变化?

  · 可以使用地图和GPS吗?

  · 有用户指南吗?

  · 电子邮件的工作流程友好吗?

  · 通过网络分享时,它运行得流畅吗?是否整合了其他社交应用或网站?

  · 当用户正在进行多任务工作,并在不同App间切换的时候,它还运行正常吗?

  · 当用户更新它时,它是否会显示时间进度?

  · 默认设置如何?有经过调整吗?

  · 使用音效会有不同吗?

  案例:ChimpStats

  ChimpStats是iPad上一个查看邮件广告详情的应用。我第一次使用这个应用是处于横屏模式。当我需要输入API密码的时候,我被困住了。我根本不能在水平模式中输入API密码,直到切换成竖屏模式,才输入成功。

  连接和中断的问题当连接断断续续或是意外中断时,很多有趣的事情就可能发生了。

  你是否尝试过在以下场景中使用App:

  · 走动环境下?

  · Wi-Fi连接下?

  · 没有Wi-Fi的情况下?

  · 3G模式下?

  · 间歇性地连接?

  · 设置为飞行模式?

  · 一个电话打进来时?

  · 接收到一条信息时?

  · 接收到一个提醒通知时?

  · 在电量很低甚至自动关机时?

  · 被强制更新时?

  · 收到一条语音留言时?

  这类测试最容易发现错误和Bug。我强烈建议你在这些情况下进行测试(不仅仅只是开机、确认它可以正常工作,还要尝试用户使用的整个流程,并在特定的时间间歇内强制连接和中断)。

  · 这个App提供了足够多的反馈吗?

  · 数据传输为用户所知吗?

  · 它会慢慢停止,然后崩溃吗?

  · 开启时会发生什么?

  · 任务完成中会发生什么?

  · 是否可能丢失未保存的操作?

  · 你可以忽视通知提醒吗?忽视后会发生什么?

  · 你可以对通知提醒做出响应吗?响应后会发生什么?

  · 对某些问题,使用错误信息是否恰当?

  · 当登录过期或超时会发生什么?

  App的维护

  想要加快整个测试的过程很简单,只需测试一次就一劳永逸了,对吗?请三思。

  此刻我遇到的一个问题是: iPad上的一些App在更新后,再也不能下载了。对于一个用户来说,这是非常令人沮丧的。

  可能,这也是开发者控制不了的。谁知道呢?我只知道它对于用户来讲是不能用的。我也尝试卸载App,然后重装,但这个问题始终未能解决。我在网上大量的搜索,除了找到一些关于更新操作系统的建议外,没有任何其他解决方式。可能,下次有空时候,我还会再试试看。

  关键问题在于:如果一个应用只被测试过一次,且只有一次(或仅在很短的一段时间内测试过),很多问题你都发现不了。一个App自身可能不会发现变化,但外界条件却可以让这些问题发生。

  当外界环境持续变化时,App又会受到哪些影响呢?让我们问问自己:

  · 我可以下载这个App吗?

  · 我可以下载并安装更新吗?

  · 更新之后还能使用吗?

  · 当很多App处于等待更新状态时,我能更新它吗?

  · 系统更新后,它会发生什么?

  · 系统未更新,它又会发生什么?

  · 它会通过iTunes自动同步下载到其他设备吗?

  · 它自动执行任务或测试有意义吗?

  · 它会连接到网络服务吗?这会带来什么不同?

  移动端的App每一个版本发布后,最好都去测试一下。每次发布新版本时,先定义最高优先级测试,确保其能在各种条件下进行(主要是在主流的平台上)。随着时间的推移,测试可以变得自动化。但请记住,自动化不是灵丹妙药,发现问题,只能通过人的眼睛。

 案例:iPhone上的Analytics应用

  我使用这个App已经两年了,之前它一直没有什么问题。但是现在,它却显示出我某些网站数据为零(但实际上,不止一个人一个月内访问过我的网站!)。从App Store的评论来看,我不是唯一一个遇到这个问题的人。

  另外一个案例是iPhone上的Twitter。更新并启动这个App后,我瞬间看到了如下这个提示语:“你的时间线数据显示为空,你至今没有关注任何人” (但我是拥有5年经验的活跃用户)。我担心了一会儿,庆幸的是,这个消息很快就消失,然后加载出历史数据。

  测试不是对错判断

  我们讨论了移动测试的一些方面,但这些前提是:带着问题,才能发现问题。

  通常,测试被认为是完全合乎逻辑的、可计划的和可预测的,过程包括:测试脚本和测试计划、通过和失败、正确和错误的反馈。走完这些测试流程就离真相不远了。

  当然,如果必要,我们可以用上述方法进行测试,但这并不是测试的目的。我们不仅是为了创建测试用例、发现Bug,更重要的是找到关键的问题,为项目组决定什么时候发布App提供有价值的信息。而找到那些关键问题的最好方法就是:提问!








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: