移动APP使用场景的特点

1.屏幕小:

与Web系统相比,APP安装在手机端,展示屏幕只有几英寸,能够展示的信息就显得非常有限和珍贵,我们需要将有价值的信息放大,放在显眼的位置。

2.场景复杂化:

由于APP用户会在挤公交,行走,甚至运动的时候使用手机,因此我们在设计和测试是必须考虑到各种情况,比如网络不稳定,电量不足,信息/电话拨入,横竖屏切换等情况。

3.时间碎片化:

用户使用移动应用的时间大多是碎片化的,设计时需要考虑到符合用户碎片化时间的使用习惯,能够在较短的时间内使用户明白操作方法和用意。所以APP产品务必得易理解,易学习,易操作,简洁方便。

4.输入困难化:

需要考虑到在小小的手机屏幕上打字是非常辛苦的一件事,按钮小不好按、又容易出错,因此应该适当减少用户的输入操作;

比如可以设置搜索的自动匹配;展示出热门搜索词等。

5.容量有限:

因此安装包大小也影响着用户体验,应该尽量做到精简。

针对以上APP场景的特点,从测试的角度汇总了以下测试点:

安装测试:

1)安装进度条提示;

2)首次启动,预加载时间不应过长,建议在3s左右


卸载测试:

1)APP卸载是否有提示信息,提示语言是否友好,语句是否通顺。

2)测试系统直接卸载程序是否有提示信息。

3)测试卸载后文件是否全部删除所有的安装文件夹。

4)卸载是否支持取消功能,单击取消后软件卸载的情况 。


升级更新测试:

1)是否有系统升级提示 ;

2)强制性更新用户体验较差。


启动页:

1)启动页建议展示时间小于等于3s;

2)启动页面突出产品名称,logo,页面简洁,配色自然和美观


用户使用指引:

1)用户首次下载使用APP时,弹出用户指引界面;

2)对应用核心功能使用方法进行指导,说明文字简洁明了;

3)使用指引建议少于5页


注册/登录:

1)可点击操作的按钮建议显示成蓝色或较深的黑色,表示可点击

2)用户名密码输入提示(在用户名输入框提示:请输入手机号/用户名)

3)用户名/密码格式不正确提示后,输入项不会被自动清空

4)用户名/密码输入字符后,应有完全删除按钮(方便完全清空,也能逐字删除)

5)设置密码显示/隐藏功能

6)键盘收缩功能(小机型的设备可能会被键盘覆盖住登录按钮)

7)键盘上建议设置“下一项”按钮


异地登录测试

1)用户被登出,提示在当前账户在其他设备登录(告知用户账号密码有泄露的风险,参考微信等APP)


搜索:

1)搜索控件搜索输入框支持自动匹配;

2)保存搜索历史,并支持删除;

3)搜索热词


应用容错:

1)仅允许输入数字的输入框(日期,电话号码等输入框)弹出数字键盘

2)仅允许输入英文字符和数字(密码)的输入框,跳出英文输入键盘


联系电话:

1)电话号码,显示成蓝色字体,点击弹出拨号控件


核心功能:

1)保证核心功能和基本功能正常可用,不发生闪退,ANR的问题


系统响应:

1)网络状况良好的情况下,点击任何操作应在3s内做出正常响应:跳转,弹窗或提示;

2)页面加载中,应有明显的加载标志;

3)文件读取、下载或上传等需要用户等待较长时间的操作,应有进度条;


网络环境:

1)无网络环境,用户发起请求,应立即提示:当前网络异常,请稍后再试(注意提示通顺语友好)

2)无网络环境下启动(或首次启动),操作不会发生闪退,ANR


内存消耗:

1)应用所占内存的大小是否合理,合理的内存申请使用;

2)内存是否正常释放,是否存在内存泄漏的问题;


电量消耗:

1)检查正常使用和后台运行时电池电量的消耗是否正常;


流量消耗:

1)当前网络请求对流量消耗较大,并且当前网络为非wifi环境下,应提示:正在使用非WiFi网络,将产生较多流量费用


FPS(帧率):

1)每一帧刷新的时间<16ms(用来指示页面是否平滑的渲染,FPS越高,就代表你的应用运行更加流畅。当FPS达到60+,用户主观感受不到卡顿。Android系统测试工具:Android自带开发者工具)


电池温度:

1)应用在持续运行一段时间后温度是否有明显升高


消息中心:

1)消息中心一般建议设置在应用首页右上角;

2)应用接收到消息时,消息中心入口(铃铛)应有红点(或数字)标识未读信息;

3)点击进入消息列表:列表中的未读信息展示红点


权限许可

1)应用访问位置,网络,照片,健康数据等功能时,需要弹出权限许可窗口;


亮度:

1)二维码支付类页面,亮度自动调整至80%以上;

2)休闲类应用(阅读APP,论坛类)支持夜间模式


导航/菜单:

1)核心功能,用户使用较频繁的功能,入口是否展示在清晰明显的位置(方便用户快速记住和找到入口);

2)功能按钮位置是否符合用户习惯:应用左上角一般为:返回控件;右下角一般是用户中心;

3)部分关联功能页面的跳转是否灵活方便(比如购票和我的订单页面);

4)是否有部分功能导航层级过深;

5)相关功能入口位置是否相近,集中;

6)导航名称等文字是否准确直观,能做到望文知意;

7)应用内或不同系统(Android/iOS)间的导航与页面结构、菜单、页面风格是否一致


界面设计:

1)不同系统/机型/分辨率/横竖屏展示时,自适应界面设计是否合理,内容根据窗口大小自适应完整展示(是否出现错位,遮挡,留白,拉伸和模糊等问题)

2)Android和iOS系统所有功能入口都有展示,并且位置相同

3)重要信息的输入框是否放置在页面中醒目位置(Tab顺序中靠前)

4)页面图片是否有意义,是否美观,突出重点

5)页面中操作按钮禁用时,按钮是否置灰;可以点击操作的按钮是否显示蓝色或黑色,表明可以点击

6)图片质量要高且图片尺寸在设计符合要求的情况下应尽量小,或使用缓存

7)图标与功能相符,但不能重复。


弹窗:

1)需要弹出多个弹窗时,建议调整优先级和顺序,不要同时展示


文字:

1)输入框说明文字的内容与系统功能是否一致

2)应用内或不同系统间,功能和操作的名称统一

3)文字描述是否正确,通顺,简洁明了,无错字和语法错误


提示:

1)提示窗口样式和选择按钮是否风格统一;

2)提示内容检查

3)删除,冻结,销卡等会带来较大影响的操作是否弹出确认提示;


色彩:

1)不同色系的颜色建议不能过多(色不过三)

2)色彩搭配是否合理:背景色和操作按钮色调对比是否明显

3)应用内不同页面间的主色调是否保持一致

4)边框建议选择较浅的灰色,与背景色对比不能过于明显

APP前端易用性和UI测试的更多相关文章

  1. App测试从入门到精通之UI测试

    UI(user interface用户界面)的简称.UI测试也是APP测试中需要考虑的一个层面.用户至上,这个太重要了.一个好的App在界面的UI层设计上应该要满足简洁.美观.大气(这个是自己感觉的哈 ...

  2. angular单元测试与自动化UI测试实践

    关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建 ...

  3. WWDC15 Session笔记 - Xcode 7 UI 测试初窥

    https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...

  4. H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试

    一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测 ...

  5. web端,app端,小程序端测试差异详解

    前置解释:1.单纯从功能测试的层面上来讲的话,APP 测试.web 测试和H5测试在流程和功能测试上是没有区别的2.Web项目或pc项目都是在电脑上进行测试的.常见的PC项目架构有BS架构和CS架构的 ...

  6. 旅图——UI测试

    测试目标 保证代码质量,确保基础功能的实现,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误,减少最终测试时查找困难无方向. UI测试 登录过程 模拟登录过程,密码正确与密码错误的情 ...

  7. 使用uiautomatorviewer和uiautomator来做android的UI测试

    来自:http://university.utest.com    作者:Angelos Nakulas (All Authored Courses)      译者:Elaine00 目录 简介 什 ...

  8. Google推出iOS功能性UI测试框架EarlGrey

    经过了一段时间的酝酿后,Google很高兴地宣布了EarlGrey,一款针对于iOS的功能性UI测试框架.诸如YouTube.Google Calendar.Google Photos.Google ...

  9. 在Android Studio中进行单元测试和UI测试

    本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...

随机推荐

  1. centos7创建docker tomcat镜像

    1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: 1 # uname -r 2 安装 ...

  2. 基于session做的权限控制

    一直听说做权限将登陆信息放在session中,实际也说不太出个所以然来,幸运在工作当中接触到了对应的代码的copy. 实现思路: 类似于粗粒度的权限控制 将权限控制的文件按包分隔好,对应的url前缀也 ...

  3. 使用ext httpProxy代理获取列表但列表展示不全的问题解决

    今天项目中遇到一个奇葩的事情,使用ext的jsonstore通过httpproxy代理想要获取一个列表,页面显示是有五条数据的但是却只展示了2条,于是各种排查,后台确定无误后开始检查前台,发现浏览器中 ...

  4. 小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)--转载

    小波学习之二(单层一维离散小波变换DWT的Mallat算法C++实现优化)   在上回<小波学习之一>中,已经详细介绍了Mallat算法C++实现,效果还可以,但也存在一些问题,比如,代码 ...

  5. Beta阶段冲刺---Day1

    一.Daily Scrum Meeting照片 二.讨论项目每个成员的昨天进展 由于今天是Beta阶段冲刺的第一天,因此每个成员没有昨日进展. 我们在昨天把未来五天的其他科目的作业都一起做完了(手动斜 ...

  6. python day04--列表,元祖

    一.列表增删改查 1.增----append() # lst = [1, True, "哈哈", ("可口可乐", "百事可乐", &quo ...

  7. matlab调用规则变量名eval函数

    eval 函数运用!! 经常会遇到matlab里面有些变量命名其实有一样的规律,,但是不像矩阵这些是可以通过循环来获取的,这个时候就可以利用eval语句了:   首先,假设现在有10个名称类似的变量, ...

  8. Java应用集群下的定时任务处理方案(mysql)

    Java应用集群下的定时任务处理方案(mysql)   因为自己有csdn和博客园两个博客, 所以两边都会发一下. csdn地址: http://blog.csdn.net/u012881584/ar ...

  9. Spring Boot 揭秘与实战(七) 实用技术篇 - 异步任务

    文章目录 1. Spring Boot 集成异步任务 2. 单发服务模式 3. 请求应答模式 4. 源代码 Spring 对异步任务具有很好的支持.这篇文章,我们透过 Spring Boot 来讲解下 ...

  10. 推荐系统-07-lambda架构

    Lambda 架构 Lambda 架构由Storm的作者Nathan Marz提出,其设计目的在于提供一个能满足大数据系统关键特性的架构,包括高容错.低延迟.可扩展等.其整合离线计算与实时计算,融合不 ...