当前位置: 首页 > article >正文

APP测试基本流程与APP测试要点总结

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快  

APP测试实际上依然属于软件测试的范畴,是软件测试的一个真子集,所以经典软件测试理论,依然是在APP测试中有效的,只是需要针对APP的特殊情况进行一定的增补和额外覆盖。

对于APP测试,一般采用的是黑盒测试思想,也会在必要的时候进行自动化测试以及性能测试,并且对于APP还会有专项测试,例如内存,流量以及耗电量测试。

在APP测试中,因为牵扯的预备条件比传统软件更多些,更需要额外精力进行事先准备。

在测试任务开始前,所具备的测试资源应该着重检查,包括但不限于:功能需求文档、功能需求说明、测试设备、测试方案、测试环境、测试人员等。

一、安装和卸载

安装和卸载是任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要的BUG。因此APP的安装和卸载应作为一个测试点多加重视。

1、应用是否可以正常安装(命令行安装;豌豆荚/手机助手等第三方软件安装;apk/ipa安装包安装

2、应用是否可以在iOS和Android不同系统,版本,机型上进行安装(有的系统版本过低,应用不能适配)

3、安装过程中是否能暂停,再次点击,是否能继续安装

4、安装空间不足时如何表现,是否有相应提示,提示是否友好

5、安装过程中断网或网络不稳定的情况下,是否有相应提示,以及网络恢复后是否能继续安装

6、是否可以正常删除应用(桌面删除;第三方软件删除;命令行删除)

7、应用卸载后所有的安装文件夹是否全部删除

8、卸载过程中出现死机,断电,重启等意外的情况,等待环境恢复后是否可以继续正常卸载

9、卸载是否支持取消功能,单击取消后软件卸载情况是否正常

二、运行

1、软件安装后需要检查应用是否能正常运行

2、APP安装完成后,是否可以正常打开,稳定运行

3、APP的速度是可以让人接受,切换是否流畅

4、网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生Crash

三、注册和登录

用户注册和登录功能是很多APP产品最基础的构成之一,而主流的登录页面大致分为三种:

(1)账号密码注册登录;
(2)手机号注册登录;
(3)第三方授权登录。本文针对前两种注册登录方式进行阐述:

账号密码注册登录

1、输入正确的账号密码,可正常注册和登录
2、已注册用户再次注册
3、未注册用户尝试登录
4、密码“******”展示
5、账号输入框对最大长度和格式应有校验(比如邮箱账号需要邮箱格式等)
6、账号或密码输入错误时建议提示“账号或密码错误”,而不是“账号错误”或“密码错误”
7、密码是否加密传输(可抓取请求查看)
8、密码更改后,登录时是否做到了有效数据的校验:修改前的密码失效;
9、未登录时对一些页面的操作,是否做了控制
10、切换账号登录,检验登录的信息是否做到及时更新
11、对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
12、多设备同时登录同一帐号时(iOS+iOS,Android+Android,iOS+Android),检查是否将原用户剔除,弹出异地登录提示,且对一些需要登录后才能使用的页面无操作权限。

手机号注册登录

1、手机号输入框格式校验检查
2、验证短信的接收是否及时;
3、用验证码可正常登录;
4、验证码错误时,登录失败+友好提示
5、验证短信文案是否符合所测APP;
6、重复发送验证码,前一个验证码正常失效
7、频繁操作验证码发送,应有操作限制
8、验证码有效期校验(超过有效期无法登录)

四、日历控件

目前很多APP中都会设置日历控件,对日历控件的测试我们需要关注:

1、月份和日期对应(比如2月有28天,7月31天)

2、闰年2月,应有29天

3、跨年时,年份应该有增加

五、权限设置

当前很多APP的使用依赖于位置,通知,网络等用户权限,例如:高德地图APP,在首次启动时会询问用户是否同意启用定位,通知,网络权限。针对用户权限,我们可以多关注以下几点:

1、首次启动APP询问是否同意启用权限

2、消息权限开启时,消息推送是否正常接收(iOS系统应用启用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送)

3、消息权限关闭后,APP客户端接收不到消息推送。

4、位置权限开启时,APP可定位到当前位置(比如杭州公交APP,能自动定位到用户当前位置,展示出附近的公交站)

5、位置权限关闭后,APP需定位才可用的功能,是否有提示引导用户开启权限,比如“请打开系统设置中’隐私-定位服务’,允许“XXXX”使用您的位置”。

6、网络权限关闭时,APP是否有提示(“服务器或网络错误,请稍后重试”),是否有提示引导用户开启权限。

六、软件更新

1、强制更新(APP开启后要求必须更新,否则无法使用APP):1.多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;2.点击更新是否正确跳转至后台配置的更新页面;

2、非强制更新(只提示一次更新):1.可正常关闭更新弹窗。2.重启APP更新提示按照需求再次显示,或者不再显示;3.点击更新是否正确跳转至后台配置的更新页面;

3、取消版本更新时,老版本可以正常使用;

4、APP更新后版本号应有更新;

5、APP更新后新增功能和老功能可正常使用。

6、当有新版本时,不删除客户端的情况下,直接更新是否成功;

7、删除APP后更新

七、网络环境

3G,4G,5G,wifi 网络环境下应用的各功能可正常运行;

1、网络异常时 ,数据交换失败是否会有提醒;

2、有网到无网再到有网环境时,数据是否可以自动恢复,正常加载;

3、只允许内网访问的APP,在连接到外网时是否有友好提示。

八、兼容性测试

1、尽量覆盖该产品的主要用户(建议选取产品自己的数据,具体技术方案可以采取APP内部埋点的方法。如果是新发布的产品,可以选取竞品类产品的数据)

2、从不同系统,版本,分辨率,机型(不同厂家ROM)等纬度进行适配测试

3、通常选择在少数主流设备上执行全向的用例,在其他兼容性范围内的设备上覆盖主要功能的测试用例;

4、关注各功能界面在不同分辨率下是否存在UI展示问题(如果代码没有对不同分辨率做适配处理,就可能会出现错位,遮挡,留白,拉伸和模糊等问题)

5、基于UI自动化脚本的云测试方案(基于轻量级的UI自动化脚本,以及借助云平台大量的真机资源)

九、异常测试

1、没有内存空间时,APP能否正确响应;

2、横竖屏切换展示;

3、APP运行时网络中断;

4、反复操作某个功能(一般是比较重要的功能),不断点击和刷新,是否会出现闪退;

5、APP运行时接入电话,短信,微信,或其他消息

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。


http://www.kler.cn/news/309428.html

相关文章:

  • 什么是单元测试?怎么做?
  • C++系列-匿名对象
  • linux网络命令:使用最多最广泛的网络抓包工具tcpdump详细介绍
  • MATLAB入门教程
  • 检查一个复数C的实部a和虚部b是否都是有限数值即a和b都不是无限数值、空值cmath.isfinite(x)
  • MES管理系统在智能制造中的重要应用
  • CMU 10423 Generative AI:lec5(Encoder-only Transformers + 阅读材料Bert, ViT)
  • 如何理解BCEWithLogitsLoss()
  • 什么是期权日内交易?怎么做日内期权策略?
  • MyBatis 源码解析:Mapper 文件加载与解析
  • 导弹追踪问题:蒙特卡罗模拟+matlab代码
  • Linux7-su,exit,sudo
  • Java 中的 sleep、wait、join 怎么理解
  • linux中的kill、pkill和killall
  • C++速通LeetCode简单第3题-相交链表
  • RTMP协议在无人机巡检中的应用场景
  • 【深度学习】【OnnxRuntime】【Python】模型转化、环境搭建以及模型部署的详细教程
  • Java学习线路(2024版)
  • 简单了解微服务--黑马(在更)
  • 安全运维教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • 【Pycharm使用技巧记录手册】批量检索与替换功能——辅助Yolo训练标签label配置文件构建
  • Mac笔记本上查看/user/目录下的文件的几种方法
  • mysql配置优化和分组报错问题解决
  • 信号与线性系统综合实验
  • 87-java 可轮询锁和定时锁
  • 网络安全宣传周的时间,举办活动的方式和意义
  • 计算机毕业设计公交站点线路查询网站登录注册搜索站点线路车次/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
  • 场外个股期权通道商是什么业务?个人投资者可以参与场外期权吗?
  • JavaScript ES6特性(var let const、function=>、增强表达赋值、类与对象)
  • 【大模型专栏—进阶篇】语言模型创新大总结——“三派纷争”