手机app测试

一、安装、卸载、更新、运行

1.安装、卸载

  • 应用是否可以正常安装(命令行安装;apk/ipa安装包安装)(有网,无网是否都正常)
  • 卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以继续正常卸载
  • 卸载是否支持取消功能,单击取消后软件卸载情况是否正常
  • 应用是否可以在iOS和Android不同系统,版本,机型上进行安装(有的系统版本过低,应用不能适配)
  • 安装过程中是否能暂停,再次点击,是否继续按照
  • 安装空间不足时如何表现,是否有相应提示,提示是否友好
  • 安装过程中断网或网络不稳定的情况下,是否有相应提示
  • 是否可以正常删除应用(桌面删除;第三方软件删除;命令行删除)
  • APP安装完成后,是否可以正常打开,稳定运行
  • APP的速度是可以让人接受,切换是否流畅
  • 安装在手机卡上 或 SD卡上 (不同的IOS和安卓版本)
  • 网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生Crash。

2.APP版本更新

  • 当客户端有新版本时,有更新提示。
  • 当版本为非强制升级时,用户可以取消更新,老版本能正常使用。用户在下次启动APP时,仍出现更新提示。
  • 当版本为强制升级时,用户没有做更新时,退出客户端,下次启动APP时,仍出现强制升级提示(且无法关闭)。

 (点击更新是否正确跳转至后台配置的更新页面)

  • 当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
  • 当客户端有新版本时,在本地不删除客户端的情况下,更新后的客户端功能是否是新版本功能。
  • 当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。
  • 升级安装意外情况的测试(如死机、断电、重启)
  • 强制更新(APP开启后要求必须更新,否则无法使用APP):1.多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;2.点击更新是否正确跳转至后台配置的更新页面;
  • 非强制更新(只提示一次更新):1.可正常关闭更新弹窗。2.重启APP更新提示按照需求再次显示,或者不再显示;3.点击更新是否正确跳转至后台配置的更新页面;
  • 取消版本更新时,老版本可以正常使用;
  • APP更新后版本号应有更新;
  • APP更新后新增功能和老功能可正常使用。
  • 当有新版本时,不删除客户端的情况下,直接更新是否成功;
  • 升级安装意外情况的测试(如死机、断电、重启)
  • 允许内网访问的APP,在连接到外网时是否有友好提示。

3、运行

  • APP安装完成后,是否可以正常打开,稳定运行
  • APP的速度是可以让人接受,切换是否流畅
  • 网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生Crash。(比如黄油相机APPV4.8.2.8版本,在无网络状态下,进入照片编辑页面,选择并拖动照片时,会发生闪退)

              

 

二、*注册和登录

1.账号密码注册登录

  • 输入正确的账号密码,可正常注册和登录
  • 输入正确的用户名密码以后按[enter]是否能登陆
  • 输入的数据前存在空格
  • 用户名、密码错误或漏填时能否登陆;
  • *已注册用户再次注册
  • .已经登陆的账号登陆系统是否正确处理;
  • 系统是否允许多次非法的登陆,是否有次数限制;
  • *未注册用户尝试登录
  • 删除或修改后的用户,原用户名登陆;
  • 页面中是否有注销按钮;
  • 密码“****”展示(安全性)
  • 账号输入框对最大长度和格式应有校验(比如邮箱账号需要邮箱格式等)
  • *账号或密码输入错误时建议提示“账号或密码错误”,而不是“账号错误”或“密码错误”
  • 密码是否加密传输(可抓取请求查看)
  • *密码更改后,登录时是否做到了有效数据的校验:修改前的密码失效;
  • *未登录时对一些页面的操作,是否做了控制
  • 登录超时时处理是否合理
  • *切换账号登录,检验登录的信息是否做到及时更新
  • *对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
  • 台式机和手机的同时登录同一账号,多台手机的同时登录同一账号(检查是否将原用户剔除)
  • 登陆后,页面中登陆信息是否正确;
  • 不输入用户密码或者是重复点击“确定/取消”按钮,是否允许登陆;
  • 检查用户主动退出登录后,下次启动APP,应停留在登录页面。
  • 考虑无网络情况下能否正常进入免登陆状态。
  • 支持自动登录(记住密码)的应用在进行数校验时,检查系统是否能自动登录成功并且数据操作无误

2.手机号注册登录

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

3.注册

  • 表单编辑页面测试;
  • 用户名密码长度;
  • 注册后的提示页面;
  • 前台注册页面和后台的管理页面数据是否一致
  • 注册后,在后台管理系统中的页面提示以及数据库中的用户信息是否正常;

三.各种网络状态下进行的测试

  • 移动:2G、3G、4G
  • 联通:3G、4G
  • 3G,4G,wifi 网络环境下应用的各功能可正常运行;
  • 网络异常时 ,数据交换失败是否会有提醒;
  • 有网到无网再到有网环境时,数据是否可以自动恢复,正常加载;
  • 只允许内网访问的APP,在连接到外网时是否有友好提示。
  • 横竖屏切换展示
  • APP运行时接入电话,短信,微信,或其他消息

四、push消息推送测试

  •  检查push消息是否按照指定的业务规则发送。
  •  检查不接收推送消息时,用户不会再接收到push消息。
  •  如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到push消息;
  •     在非免打扰时间段内,用户能正常接收到push消息。
  •  当push消息是针对登录用户的时候,需要检查收到的push消息与用户身份是否相符。
  •  不打开应用时,能否接收消息
  •  打开应用时,能否接收消息
  •  登录与不登录情况下,接收消息是否有区别
  •  精确推送,是否只推送给指定用户

五、权限设置

  • 首次启动APP询问是否同意启用权限
  • 消息权限开启时,消息推送是否正常接收(iOS系统应用启用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送)
  • 消息权限关闭后,APP客户端接收不到消息推送。
  • 位置权限开启时,APP可定位到当前位置(比如杭州公交APP,能自动定位到用户当前位置,展示出附近的公交站)
  • 位置权限关闭后,APP需定位才可用的功能,是否有提示引导用户开启权限,比如“请打开系统设置中’隐私-定位服务’,允许“XXXX”使用您的位置”。
  • 网络权限关闭时,APP是否有提示(“服务器或网络错误,请稍后重试”),是否有提示引导用户开启权限。

六、兼容性测试

  • 从不同系统,版本,分辨率,机型等纬度进行适配测试
  • 关注各功能界面在不同屏幕尺寸下是否存在UI展示问题
  • 外部设备(不同系统的手机,不同版本的android, ios, 不同屏幕大小的手机。)的兼容性,如蓝牙耳机,外接键盘等
  • 网络的兼容性测试(WIFI,各种制式的3G, 各种制式的4G)。

七、应用的前后台切换

  • APP切换到后台,再回到APP,检查是否停留在上一次操作界面。
  • APP切换到后台,再回到APP,检查功能及应用状态是否正常。
  • APP切换到后台,再回到APP前台时,注意程序是否奔溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
  • 手机锁屏解锁后进入APP注意是否会奔溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。
  • 当APP使用过程中有电话进来中断后再切换到APP,功能状态是否正常。
  • 当杀掉APP进程后,再开启APP,APP能否正常启动。
  • 出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
  • 对于有数据交换的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现奔溃的现象。

八、离线浏览

  • 在无线网络情况下可以浏览本地数据。
  • 退出APP再开启APP时能正常浏览本地数据。
  • 切换到后台再回到前台可以正常浏览本地数据。
  • 锁屏后再解锁回到应用前台可以正常浏览本地数据。 
  • 手动刷新时,是否有对连接网络的提示 

                           

 

九、界面测试用例的设计方法

1.窗体

测试窗体的方法:

a,窗体大小,大小要合适,控件布局合理;

b,移动窗体.快速或慢速移动窗体,背景及窗体本身刷新必须正确;

c,缩放窗体,窗体上的控件应随窗体的大小变化而变化;

d,显示分辨率.必须在不同的分辨率的情况下测试程序的显示是否正常;

进行测试时还要注意状态栏是否显示正确;工具栏的图标执行操作是否有效,是否与菜单懒中图标显示一致;错误信息内容是否正确,无错别字,且明确等等;

2.控件

  • 月份和日期对应(比如2月有28天,7月31天)
  • 闰年2月,应有29天
  • 跨年时,年份应有增加。

比如下图的问题就属于跨年但年份未增加的问题:

测试方法:

a,窗体或控件的字体和大小要一致;

b,注意全角,半角混合

c,无中英文混合.

3。菜单

进行测试时要注意

a,选择菜单是否可以正常工作,并与实际执行内容一致;

b,是否有错别字:

c,快捷键是否重复;

d,热键是否重复;

e,快捷键与热键操作是否有效

f,是否存在中英文混合

g,菜单要与语境相关,如,不同权限的用户登陆一个应用程序,不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;

h,鼠标右键快捷菜单 

g,手机拍照功能可以正常显示

4. 文本框、按钮等控件测试

文本框的测试

如何对文本框进行测试

a,输入正常的字母或数字。

b,输入已存在的文件的名称;

c,输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入 256个字符,检查程序能否正确处理;

d,输入默认值,空白,空格;

e,若只允许输入字母,尝试输入数字;反之;尝试输入字母;

f,利用复制,粘贴等操作强制输入程序不允许的输入数据;

g,输入特殊字符集,例如,NUL及 等;

h,输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;

i,输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示

在测试过程中所用到的测试方法:

①,输入非法数据;

②,输入默认值;

③,输入特殊字符集;

④,输入使缓冲区溢出的数据;

⑤,输入相同的文件名;

5 、命令按钮控件的测试

a,点击按钮正确响应操作。如,单击确定,正确执行操作;单击取消,退出窗口;

b,对非法的输入或操作给出足够的提示说明,如,输入月工作天数为32时,单击”确定“后系统应提示:天数不能大于31;

c,对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会;

单选按钮控件的测试

a,一组单选按钮不能同时选中,只能选中一个。

b,逐一执行每个单选按钮的功能。分别选择了“男”“女”后,保存到数据库的数据应该相应的分别为“男”“女”;

c,一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空;

6. up-down控件文本框的测试

a,直接输入数字或用上下箭头控制,如,在“数目”中直接输入10,或者单击向上的箭头,使数目变为10;

b,利用上下箭头控制数字的自动循环,如,当最多数字为253时,单击向上箭头,数目自动变为1;反之亦适用;

c,直接输入超边界值,系统应该提示重新输入;

d,输入默认值,空白。如,“插入”数目为默认值,点击“确定”;或,删除默认值,使内容为空,单击“确定”进行测试;

e,输入字符。此时系统应提示输入有误。

7.组合列表框的测试

a,条目内容正确,其详细条目内容可以根据需求说明确定;

b,逐一执行列表框中每个条目的功能;

c,检查能否向组合列表框输入数据;

8. 复选框的测试

a,多个复选框可以被同时选中;

b,多个复选框可以被部分选中;

c,多个复选框可以都不被选中;

d,逐一执行每个复选框的功能;

9.列表框控件的测试

a,条目内容正确;同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误;

b,列表框的内容较多时要使用滚动条;

c,列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;

10.滚动条控件的测试

要注意一下几点:

a,滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比,如,word中浏览100页文档,浏览到50页时,滚动条位置应处于中间;

b,拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;

c,单击滚动条;

d,用滚轮控制滚动条;

e,滚动条的上下按钮。

各种控件在窗体中混和使用时的测试

a,控件间的相互作用;

b,tab键的顺序,一般是从上到下,从左到右;

c,热键的使用,逐一测试;

d,enter键和esc键的使用;

在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的的功能组合的测试。

ps:密码输入框测试时要特别注意进行字母大写输入的测试。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/68457.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Wisej.NET Crack,Wisej.NET的核心功能

Wisej.NET Crack,Wisej.NET的核心功能 Wisej.NET是一个跨平台的web框架,用于使用.NET和C#/VB.NET而不是HTML和JavaScript构建现代HTML5应用程序。它包含创建任务关键型web应用程序所需的一切,包括UI组件、会话处理、状态管理和后端集成。借助…

仿到位|独立版家政上门预约服务小程序家政保洁师傅上门服务小程序上门服务在线派单源码

上门预约服务派单小程序家政 小程序 同城预约 开源代码 独立版. 程序完整,经过安装检测,可放心下载安装。 适合本地的一款上门预约服务小程序,功能丰富,适用多种场景。 程序功能:城市管理/小程序DIY/服务订单/师傅管理/会员卡功能/营销功能/文章功能等等

vmwera中安装的centos8出现ifconfig不可用

刚刚在虚拟机中装好centos结果发现自己的ifconfig命令不可用。 看一下环境变量里有没有ifconfig命令的路径,因为ifconfig是在/sbin路径下的,root用户登录进去才可以运行,先看一下root用户的环境变量。 root用户的环境变量里是有/sbin路径的&a…

javaScript:分支语句的理解与使用(附带案例)

目录 前言 补充 另一种说法 分支语句 1.if语句 a.单分支语句 注意 b.双分支语句 注意点 c.多分支语句(分支语句的联级语句) 补充 2.三元运算符 三元运算符 ? : 使用场景 3.switch语句 解释 释义&#xff1a…

将本地项目上传至gitee的详细步骤

将本地项目上传至gitee的详细步骤 1.在gitee上创建以自己项目名称命名的空项目2.进入想上传的项目的文件夹,然后右键点击3. 初始化本地环境,把该项目变成可被git管理的仓库4.添加该项目下的所有文件5.使用如下命令将文件添加到仓库中去6.将本地代码库与远…

最小生成树—Kruskal算法

什么是最小生成树? 首先,最小生成树一定数无向图,并且在不影响所有点都连通的情况下,所有边的权重加起来最小值是多少。 比如说:无向图abcp如下图所示,每条边权重也标记出来了。最小生成树就如右侧所示。 …

ModaHub魔搭社区——Milvus Cloud向量数据库

向量数据库:在AI时代的快速发展与应用 摘要: 随着人工智能技术的不断进步,向量数据库在处理大规模数据方面发挥着越来越重要的作用。本文介绍了向量数据库的基本概念、应用场景和技术挑战,并详细阐述了Milvus Cloud作为典型的向量数据库产品的技术特点、性能优化和应用案例…

yolov5的报错

【定期水一期】 (这个问题很抓马,可以看一下这篇文章:Git Bash 教程!【不是所有人都会用Git】) 一:没有cv2这个模块 解决方案: pip install opencv-python -i http://pypi.douban.com/simple/…

内网穿透实战应用-配置固定的远程桌面地址【内网穿透、无需公网IP】

配置固定的远程桌面地址【内网穿透、无需公网IP】 文章目录 配置固定的远程桌面地址【内网穿透、无需公网IP】第一步:保留TCP地址第二步:为远程桌面隧道配置固定的TCP地址第三步:使用固定TCP地址远程桌面 使用免费的cpolar生成的远程桌面公网…

【计算机组成原理】24王道考研笔记——第三章 存储系统

第三章 存储系统 一、存储系统概述 现代计算机的结构: 1.存储器的层次结构 2.存储器的分类 按层次: 按介质: 按存储方式: 按信息的可更改性: 按信息的可保存性: 3.存储器的性能指标 二、主存储器 1.基本…

STM32 F103C8T6学习笔记3:串口配置—串口收发—自定义Printf函数

今日学习使用STM32 C8T6的串口,我们在经过学习笔记2的总结归纳可知,STM32 C8T6最小系统板上有三路串口,如下图: 今日我们就着手学习如何配置开通这些串口进行收发,这里不讲串口通信概念与基础,可以自行网上…

连续两年增收不增利,比亚迪电子靠新能源汽车业务再次起飞?

在净利润连续两年下挫之后,比亚迪电子(00285.HK)终于迎来了好消息。 不久前比亚迪电子发布2023年中期盈利预告显示,上半年净利润同比增加115%-146%(2022年上半年的净利润显示6.34亿元)。 这主要受益于大客…

vue+springboot基于web的火车高铁铁路订票管理系统

铁路订票管理系统按照权限的类型进行划分,分为用户和管理员两个模块。管理员模块主要针对整个系统的管理进行设计,提高了管理的效率和标准。主要功能包括个人中心、用户管理、火车类型管理、火车信息管理、车票预订管理、车票退票管理、系统管理等&#…

【Rust】Rust学习 第八章常见集合

Rust 标准库中包含一系列被称为 集合(collections)的非常有用的数据结构。大部分其他数据类型都代表一个特定的值,不过集合可以包含多个值。不同于内建的数组和元组类型,这些集合指向的数据是储存在堆上的,这意味着数据…

Spring Initailizr--快速入门--SpringBoot的选择

😀前言 本篇博文是关于IDEA使用Spring Initializer快速创建Spring Boot项目的说明,希望能够帮助到您😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可…

AES加密(1):AES基础知识和计算过程

从产品代码的安全角度考虑,我们需要对代码、数据进行加密。加密的算法有很多种,基于速度考虑,我们一般使用对称加密算法,其中有一种常见的对称加密算法:AES(Advanced Encryption Standard)。在一些高端的MCU&#xff0…

为什么DNS协议运行在UDP之上?

DNS (Domain Name System) 运行在 UDP (User Datagram Protocol) 上主要是出于以下原因: 简单性和效率:UDP 是无连接的,这意味着与建立和维护 TCP 连接相比,UDP 有更少的开销。当 DNS 查询被发送时,它只需要一个小的请…

试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)

这通常是由于其他人或其他仓库推送到了相同的分支上,导致您的本地仓库和远程仓库之间存在冲突。 错误信息: To github.com:8upersaiyan/CKmuduo.git ! [rejected] main -> main (fetch first) error: failed to push some refs to github.com:8upers…

深入解析搜好货API:开启智能化电商解决方案

随着电商行业的快速发展,人们对于个性化、智能化的购物体验的追求也越来越高。为了满足消费者的需求,搜好货API应运而生。 一、搜好货API的基本原理 搜好货API基于先进的数据挖掘和机器学习算法,通过收集和分析大量的商品信息和用户行为数据…

利用Simulink Test进行模型单元测试 - 1

1.搭建用于测试的简单模型 随手搭建了一个demo模型MilTestModel,模型中不带参数 2.创建测试框架 1.模型空白处右击 测试框架 > 为‘MilTestModel’创建 菜单 2.在创建测试框架对话框中,点击OK,对应的测试框架MilTestMode_Harness1就自动…