APP前端易用性和UI测试
移动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测试的更多相关文章
- App测试从入门到精通之UI测试
UI(user interface用户界面)的简称.UI测试也是APP测试中需要考虑的一个层面.用户至上,这个太重要了.一个好的App在界面的UI层设计上应该要满足简洁.美观.大气(这个是自己感觉的哈 ...
- angular单元测试与自动化UI测试实践
关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建 ...
- WWDC15 Session笔记 - Xcode 7 UI 测试初窥
https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...
- H5测试点总结-UI测试、功能测试、兼容性测试、体验相关(弱网、资源、手机操作等)、安全性测试、性能测试
一.概述 1.1 什么是H5 H5 即 HTML5,是最新的 Web 端开发语言版本,现如今,大多数手机 APP 页面会用 H5 实现,包括 PC Web 站点也会用它开发实现.所以 Web 的通用测 ...
- web端,app端,小程序端测试差异详解
前置解释:1.单纯从功能测试的层面上来讲的话,APP 测试.web 测试和H5测试在流程和功能测试上是没有区别的2.Web项目或pc项目都是在电脑上进行测试的.常见的PC项目架构有BS架构和CS架构的 ...
- 旅图——UI测试
测试目标 保证代码质量,确保基础功能的实现,可以有效地保证代码的可靠性,让模块在与别的模块整合时出现更少的错误,减少最终测试时查找困难无方向. UI测试 登录过程 模拟登录过程,密码正确与密码错误的情 ...
- 使用uiautomatorviewer和uiautomator来做android的UI测试
来自:http://university.utest.com 作者:Angelos Nakulas (All Authored Courses) 译者:Elaine00 目录 简介 什 ...
- Google推出iOS功能性UI测试框架EarlGrey
经过了一段时间的酝酿后,Google很高兴地宣布了EarlGrey,一款针对于iOS的功能性UI测试框架.诸如YouTube.Google Calendar.Google Photos.Google ...
- 在Android Studio中进行单元测试和UI测试
本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...
随机推荐
- SQL-25 获取员工其当前的薪水比其manager当前薪水还高的相关信息
题目描述 获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999-01-01',结果第一列给出员工的emp_no,第二列给出其manager的manager_ ...
- tensorflow-softmax
之前在softmax多分类中讲到多用交叉熵作为损失函数,这里顺便写个例子,tensorlflow练手. # encoding:utf-8 import tensorflow as tf import ...
- 解决At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs
在写spring security小程序时遇到 At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug l ...
- ubuntu 安装 mysql 的正确姿势
1.下载官方提供的mysql-apt-config.deb包进行APT源设置,下载地址:https://dev.mysql.com/downloads/repo/apt/ 2. // 将 mysql- ...
- svg相关
1.指定点缩放公式 translate(-centerX*(factor-1), -centerY*(factor-1)) scale(factor)
- datatables 多一列报错Cannot read property 'sWidth' of undefined(…)/少一列报错Cannot read property 'style' of undefined(…)
datatables 多一列报错Cannot read property 'sWidth' of undefined(…)/少一列报错Cannot read property 'style' of u ...
- 百度api--之导航
其实挺简单的,只要知道出发点和终点的经纬度就可以了; 百度webURLAPI : http://lbsyun.baidu.com/index.php?title=uri/api/web 这个是百度的a ...
- arm svc
隐藏exit,ptrace etc. C示例 #include <sys/ptrace.h> #include <stdio.h> int main() { int r; as ...
- 10.2.0.5环境dg测试logminer挖掘日志分析
起因:客户需求,数据库正常每天总的日志切换是20以内,有一天日志切换总数,达到30,客户建议使用Logminer进行日志挖掘分析,到底什么应用导致的问题. 说明:使用logminer进行日志挖掘,只能 ...
- httpd: config error '*.php:/usr/bin/php-cgi' in '/etc/httpd.conf'
/********************************************************************************* * httpd: config e ...