案例:Facebook App的社会评论 当作为一名测试人员收集信息时,我喜欢选用Facebook App作为案例,因为用户的抱怨到处都是。以下仅仅展示了部分遇到难题的用户在iTunes App Store中发表的评论,网络上还有很多。 iPhone上的Facebook App有很多负面的评论 如果我接受挑战去测试Facebook这个App,我肯定会考虑这些反馈,否则就是傻子。
测试人员的创造力 你可能知道这个App原本想做的事,但是它究竟可以做什么事呢?用户实际上是如何使用它的?测试人员擅长作为旁观者来思考,尝试不同的事物,以及不断地询问“如果。。。会怎么样”和“为什么”的问题。 比如,移动端的测试人员常常以不同的用户角色进行测试——当然有点夸张,但是,这种把自己当成不同用户进行思考、分析和设想的能力对移动应用测试是备受启发的。 测试人员可能会设想自己是以下用户: · 毫无经验; · 很有经验; · 爱好者; · 黑客; · 竞争对手。 当然还有更多可选的角色,这主要取决于你们所开发的产品是什么。其实除了角色特点外,其操作行为和工作流程也很重要。人们使用产品方式常常很奇怪,比如: · 在不应该返回的时候返回了; · 不耐心而且多次敲按键; · 输入错误的数据; · 不理解该怎么做; · 可能没有按要求进行设置; · 可能会自以为是地认为自己知道该怎做什么(比如通常不阅读说明)。
测试人员遇到这些问题时,也常常发现意料之外的Bug。有时候,这些Bug微不足道,但是更深入的调查就会发现更严重的问题。 很多问题是可以被预先确定和测试的。在进行App测试时,以下的问题并不都有关,但是也可以尝试问问: · 是否按照所说的来做呢? · 是按设计完成任务的吗? · 不是按设计完成任务的吗? · 如果处于一直被使用或者负荷情况下,状况会怎么样?会反应迟钝吗?会崩溃吗?会更新吗?有反馈吗? · 崩溃报告会反馈到App吗? · 用户可能有哪些创造性的、逻辑性的或是消极的导航方式?用户相信你的品牌吗? · 用户的数据安全如何? · 有可能被中断或是被破解吗? · 运行到极限时会发生什么状况? · 会要求打开相关服务吗(如GPS、Wi-Fi)?如果用户打开会怎样?没打开又会怎样? · 将用户重新引向哪儿?去网页?还是从网页到App?这会导致问题出现吗? · 沟通过程和市场反馈是否符合该App的功能、设计和内容? · 登录流程是怎样的?能在App上直接登录还是要去网页端? · 登录是否整合了其他服务,比如用Facebook和Twitter帐号登录? 案例:Run Keeper’s gy Update RunKeeper,是一款能跟踪你健身活动的App,最新发布的版本里有个“目标设置”的功能,对此我很感兴趣去体验一下,一部分从测试人员的角度来看,更多的是作为一个真心喜欢产品的用户来体验。但我发现了一些问题: 1. 默认单位是英镑,我却想要把公斤作为重量单位; 2. 英镑和公斤间的切换根本不好用; 3. 当设定目标后,会导致展示错误的数据和图表,这让我很迷惑; 4. 由于第3条,我想删除目标,但却根本找不到删除的地方; 5. 为了解决这一问题,我不得不改变的个人体重的值,直到 “目标设置“范围之内,这样目标达到了,就能重新设定目标了; 6. 我会再次尝试添加目标; 正因为以上疑惑,我花了更长的时间把玩它,看能不能找到其他的问题; 以下是一些发现问题的屏幕截图: 该App的最新版本包含了一个新的“目标”部分。设置日期的时候,我发现开始和结束的日期都可以从公元1年开始,另外,为什么有两个1年可选(译者注:年份那列从上往下应该显示为“1、2、3”)? 另一个Bug,是“当前体重”部分的一个拼写错误,当清空数据时会出现拼写错误的“Enter“(应用中用的是Etner),这只是一个小Bug,但是看上去非常不专业。 发现问题没有捷径,你只能反复的慢慢的试用。每个App及其团队都会面临很多不同的挑战。但是,测试人员的典型的特点就是:超越极限,做一些非常规的、可以改变周围事物的事情,保持长时间的测试(测试几天、几个星期甚至几月,而不是几分钟就测完),即使明明知道这些事情是不可能发生的。这些也正是可以找到和引出的场景所在。
哪儿有所有的数据? 测试人员喜欢从数据上找问题,这让开发人员有时候很郁闷。事实上,用户或者是软件开发人员在信息流中确实太容易迷惑了,因为可能会出现很多错误,所以基于数据和云的服务更为重要 也许你可以尝试在以下场景中检查出问题: · 移动设备数据已满; · 测试人员移除了所有的数据; · 测试人员删除了App,那数据怎么办? · 测试人员删除并重装了App,数据怎么办? · 过多或者过少的内容导致设计和布局的改变; · 在不同的时间段和时区使用; · 数据不同步; · 同步被中断; · 数据更新影响其他的服务(比如网页和云端服务); · 快速处理数据或是处理大量的数据; · 使用无效的数据;
|