APP测试要点及常见Bug分类
引言
对于产品的手机项目(应用软件),主要是进行系统测试。而针对手机应用软件APP的系统测试,我们通常从如下几个角度开展:功能模块测试、兼容性测试、安装和卸载测试、软件更新测试、性能测试、用户体验性测试、交叉事件测试、用户界面测试等。
功能测试要点及常见缺陷
常见的功能类缺陷
APP崩溃
这是测试中的常见问题,这类问题也是非常严重的,会直接影响用户对产品的第一印象,例如我们正在使用某个APP,正在使用突然应用就停止响应,界面上弹出"强制关闭错误"的窗口,需要强制关闭应用,或者正在使用时出现闪退的现象。这些情况都很影响用户的体验,导致用户卸载该APP。通用的触发移动APP崩溃的测试场景,如下:
- 验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的APP行为;
- 用新发布的操作系统版本验证APP的行为;
- 验证在如隧道,电梯等网络质量突然改变的环境中的APP行为;
- 通过手动网络从蜂窝更改到Wi-Fi,或反过来,验证APP行为;
- 验证在没有网络的环境中的APP行为;
- 验证来电/短信和设备特定的警报(如警报和通知)时的APP行为;
- 通过改变设备的方向,以不同的视图模式,验证APP行为;
- 验证设备内存不足时的APP行为;
- 通过用测试工具施加载荷验证APP行为;
- 用不同的支持语言验证APP行为。
功能未实现或只实现了部分
这类问题在测试过程中也经常出现,送测的版本有的只实现了部分功能,未实现产品需求说明书里的全部功能,例如账单明细查询,要求显示每笔交易账单的明细并且显示是否已入账,开发实现了每笔交易账单的明细,但是未实现显示该笔账单是否已入账。
功能实现错误
未按产品需求说明书中的功能实现,如按照产品需求说明书,白名单内的用户进行登陆时不受单点登陆的限制,也就是说同一个账号可以同时在A手机和B手机登录,但是开发实现错误,白名单内的用户在A手机登录后,在B手机登录,然后点击A手机上APP的功能,会弹出提示:该账号在B手机已登录,A手机强制退出登录。
功能测试要点
根据产品需求文档编写测试用例;
软件设计文档编写用例;
测试要求:保证输入数据正确,并且进行了正确的操作,明确正确的输出结果和中间数据数值及格式。
兼容性测试要点及常见的兼容性缺陷
IOS 系统常见版本有7.0、8.1、8.4、9.1等,硬件常见 iPhone 4S、iPhone 5、iPhone 5S、iPhone 5C、iPhone 6、iPhone 6S、iPhone Plus、iPad 系列;安卓常见的版本有4.3、4.4、5.1、6.0,硬件更是数之不尽,不同的品牌,常见的如三星系列、华为系列、小米系列、OPPO 系列、VIVO系列等;
测试APP在不同的机型上由于软件、硬件等不同而出现各种各样的问题,这些都是缺陷聚集的地方,一个页面可能在安卓手机上显示正常,但可能在iPhone手机上显示错位,所以测试中尽量覆盖主流的手机型号和版本,如iPhone系列、三星系列、华为系列、小米系列、oppo系列、vivo系列等,找出在这些主流手机上使用app出现的缺陷并修复。
安装、卸载测试要点及常见缺陷
常见的安装、卸载类缺陷
- 安装过程中出现闪退;
- 安装完成后,点击APP无反应;
- 安装完成后,点击APP,APP出现闪退;
- 已经存在旧版本,但不卸载旧版本,进行覆盖安装新版本时,版本号是新版本的版本号,但APP的内容仍然是旧版本。
安装、卸载测试要点
安装测试很重要,用户使用APP的第一个动作就是安装APP,如果安装APP出现问题,会让用户直接弃用该APP。测试中主要从以下方面进行测试:
- 应用是否可以在IOS不同系统版本或Android不同系统版本上安装(有的系统版本过低,应用不能适配);
- 软件安装后是否可以正常运行,安装后的文件夹及文件是否可以写到指定的目录里;
- 安装过程中是否可以取消,安装空间不足时是否有相应提示;
- 检查安装包是否齐全,尤其DLL, 检查安装手册;
- 如果应用需要通过网络验证之类的安装,需要测试一下断网情况下是否有相应提示;
- 是否可以删除应用(可通过桌面删除,也可以通过软件卸载安装。曾发现在IOS手机上有个应用安装时未完全安装,终止安装后,未完成安装的应用图标一直显示在手机上,并且无法成功删除);
- 测试卸载后文件是否全部删除所有的安装文件夹;
- 卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以正确卸载;
- 卸载是否支持取消功能,单击取消后软件卸载情况是否正常。
软件更新测试要点
- 当客户端有新版本时,有更新提示;
- 软件更新一定要测,确保Android软件更新可以正确更新新版本,且安装运行正确;
- 确保IOS软件更新会有限制,正式版只有上了商店且有版本更新时才能测试;
- 用户取消版本更新时,老版本可以正常使用,但是下次启动应用时,仍出现更新提示;
- 当有新版本时,不删除客户端的情况下,直接更新检查是否能正常更新,且更新后客户端的功能是否最新版本(正常来讲不用强制删除本地客户端可以正常更新;
- 出现跨版本更新的时候,可以更新成功。
性能测试要点及常见缺陷
常见的性能方面的缺陷
- 加载时间过长;
- 应用程序首次启动速度慢;
- 进入某个界面速度慢;
- 启动某一有动画效果的界面,动画执行过程不流畅,或者动画执行卡顿时间长;
- 响应某一用户事件时长时间无响应;
- 应用长时间运行后,随机出现卡顿现象;
- 服务器无法响应,报HTTP500错误;
- APP出现黑白屏;
- APP崩溃。
性能测试要点
性能也是衡量APP质量的一个指标,如果加载时间过长,响应时间过长,用户没耐心等待,很可能直接卸载APP
- APP的启动时长是否过长;
- APP使用时对CPU、内存的消耗情况;
- APP使用时Crash的几率是否较多,可以进行埋点分析测试;
- APP使用时,电量流量的使用;
- 反复长期的操作情况下,系统该资源的使用情况;
- 响应能力测试,验证各种情况下不通操作能否满足用户的响应请求。
用户体验性测试及常见缺陷
以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性,提出修改意见提升产品的潜在客户满意度。主要从易用性和友好性方面进行测试。
常见缺陷
界面显示是否美观,界面的色彩、字体大小是否合适、布局是否美观,提示语是否友好;
按钮、对话框、列表和窗口等是否符合用户的使用习惯;
是否易于导航、导航是否直观、导航与页面结构、菜单、连接页面的风格是否一致。
用户体验性类的缺陷
- 界面显示不美观、界面色彩用户使用不舒服、界面色彩和按钮、其他的编辑框等不搭调、图片和字体显示布局不美观(文字包围图片方面)、界面的字体不满足视力不好的用户、菜单层次太深、相关的选项离得太远、按钮不可点击(如果按钮处于不可用状态,一定要灰掉,或者拿掉按钮,否则会给用户误导);
- 超长的页面加载时间,移动端的要求比较高,一般要求无等待间隔的加载,页面加载时间过长,会导致用户没耐心等待而弃用该APP;
- 页面排版过长,一般很少有浏览者有兴趣看页面中最下面的内容, 90%的用户,打开一个页面,只浏览第一屏的内容,就以为看到了全部,而不会向下滚动。一个过长的页面很容易引起浏览者的视觉疲劳;
- 不友好的导航,不友好的导航是最影响用户操作的,不能让用户很方便的找到自己想到的内容。用户来到一个页面不知如何返回上一页,不知道当前页面是在哪个栏目下的。这样很可能用户来了一次就不会再来了,这也是现在比较强调信息架构设计的原因,导航设计是信息架构中的一部分。用户每次都得用重新打开APP的方式来寻找内容的话,很难有用户会留存;
- 过期的信息,很久不更新的信息,很容易让浏览者感到反感,而且在心中也会对你这个产品的品牌形象大打折扣。过期的新闻,过期的促销信息、活动信息都是致命伤;
- 死链接或链接错误;
- 缺少互动的内容,缺少用户的参与,不能让用户表达情感和思想,注定这个产品只是个固步自封的产品。现在最基本的,都要提供的一个"意见反馈"的入口,以便产品的忠实用户发表看法,从而收集这部分反馈去改进产品。再者有互动的口子,也会让用户觉得产品是比较开放的;
- 恶意插件,恶意弹出窗口;
- 提示语粗暴不友好。
交叉事件的测试要点及常见缺陷
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法。交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。
交叉性方面缺陷
手机的基本功能就是作为通讯工具进行使用,所以我们在使用APP中肯定会有电话、短信、蓝牙、闹钟等进入,并且这些功能比APP的优先级高,一旦同时出现, APP要后台运行或者进行处理让基本功能优先工作。在测试过程中会出现电话进入APP崩溃或卡死的现象,闹钟响起APP挂起等现象、 APP运行同时电话进入,电话无法接听等。这方面的问题非常严重,如果APP引起手机基本功能无法使用,用户是无论如何也接受不了的。
交叉事件主要测试要点
- 多个APP同时运行是否影响正常功能;
- APP运行时前/后台切换是否影响正常功能;
- APP运行时拨打/接听电话;
- APP运行时发送/接收信息;
- APP运行时发送/收取邮件;
- APP运行时切换网络(2G、3G、Wi-Fi);
- APP运行时浏览网络;
- APP运行时使用蓝牙传送/接收数据;
- APP运行时使用相机、计算器等手机自带设备。
用户界面测试要点及常见缺陷
测试用户界面(如菜单、对话框、窗口和其它可规控件)布局、风格是否满足客户要求、文字是否正确、页面是否美观、文字、图片组合是否完美、操作是否友好等。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。
用户界面类的缺陷
不符合 UI 设计或与界面原型不一致
如APP的某个功能的界面风格和整体界面风格不一致,或者和图片、文字、按钮等不协调,此类问题虽然不存在使用上的问题,但是用户感觉非常不好,也给用户留下该研发团队不专业或者产品粗制滥造等印象,用户也不会使用太久或者直接卸载。界面显示不完全
APP由于功能相对简单,但是又要给人直观印象,所以图片作为首选使用,尤其在首页进行产品展示或者重要信息传递媒介会经常使用,但是在实际测试过程中会出现页面加载不完善的情况,如:图片显示不完全,按钮显示错乱,请求新页面的内容成功返回后和原来的界面内容重叠、在编辑框输入内容过长,向服务器提交请求返回数据和其他内容重叠等。上拉刷新和下拉刷新时出现页面加载错误
手机客户端,内容超过一页时,上拉加载更多内容,加载错误(容易出现数据重复,图片和文章不匹配,图片重复加载,文章标题和内容不一致等情况)APP测试要点以及常见Bug分类汇总,科技改变生活,众测利用大众的测试能力和测试资源,在短时间内完成大量工作的产品测试任务。并始终从用户角度出发,对产品的功能、易用性、兼容性提出改进建议的特点。众测势必对接下来的移动应用开发与测试发挥不可估量的作用。