APP端测试常见的功能点

article/2025/10/13 0:31:45

                    

                                                 

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

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,手机拍照功能可以正常显示

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

文本框的测试

  如何对文本框进行测试

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

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

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

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

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

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

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

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

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

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

  1,输入非法数据;

  2,输入默认值;

  3,输入特殊字符集;

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

  5,输入相同的文件名;

 4.  命令按钮控件的测试

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

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

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

  单选按钮控件的测试

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

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

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

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

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

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

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

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

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

6.组合列表框的测试

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

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

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

7. 复选框的测试

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

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

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

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

8.列表框控件的测试

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

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

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

9.滚动条控件的测试

  要注意一下几点:

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

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

  c,单击滚动条;

  d,用滚轮控制滚动条;

  e,滚动条的上下按钮。

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

  a,控件间的相互作用;

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

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

  d,enter键和esc键的使用;

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

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

 


http://chatgpt.dhexx.cn/article/yeV7WW4k.shtml

相关文章

万字长文!Unix和Linux你不知道的那些历史(详解版)

作者 | 程序员小乐 来源 | 程序员小乐(ID:study_tech) 00 前言 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期&#xff…

Unix, Linux 和MacOS

常见问题 我常常会听到类似的问题: Unix, Linux和MacOS之间有什么联系? 又有什么区别? 先说结论: Linux是类Unix的操作系统, 其内核上的大部分软件是按照POSIX协议运行,所以跟Unix系统上运行效果类似.MacOS的内核是在Unix的家族分支上的,其内核是基于NeXTSTEP和FreeBSD混合…

Ubuntu/Linux/Unix 究竟有什么区别??

导言 经常在和别人讨论的时候,老是会听见别人说:“我的是linux系统”、“我的是ubuntu系统”、“我的是unix系统”,那么三者到底有什么区别呢?这种说法又对不对呢? 网上搜集了资料整理了一下,和大家一起学…

Linux和UNIX操作系统的关系及区别(详解)

摘要: 通过介绍 linux 和 unix 的发展历史,说明 unix 与 Linux 的关系与区别。最后阐述了 unix / Linux 系统的结构(内核层、shell层、应用层)。 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中…

【Linux】Unix和Linux的历史及关系

Unix和Linux的关系 悉悉嗦嗦Unix的历史Linux简介Mac OS 悉悉嗦嗦 对于接触计算机不久的同学来说,可能经常听到类似:Unix,Linux,类Unix,Mac OS X,BSD,FreeBSD,“Linux和Unix一样啦”…

Linux与UNIX的区别与联系

UNIX诞生于20世纪60年代末,Windows诞生于20世纪80年代中期,而Linux诞生于20世纪90年代初,可以说UNIX是操作系统中的“老大哥”。 分时操作系统:是一台计算机可以同时为多个用户服务,连接计算机的终端用户交互式发出命令…

linux和unix区别

转至:http://www.goceanedu.com.cn UNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限…

Unix和Linux的的发展史

首先说明本帖是转的,旨在让大家了解科技界的一些故事,每一种科技的进步都伴随开发者们不懈的努力! Unix是目前还在存活的操作系统的元老了,走过了40年的历程。由它引发的思想变革,对当今计算机文化造成的深远影响。这…

Unix,Linux和Windows

Unix、Linux和Windows都是操作系统,Unix和Linux需要输入命令来执行;Windows只需要点击鼠标就能执行命令,不需要学习命令,容易操作,又称为视窗操作系统。 Unix是操作系统的鼻祖,诞生之后的初始阶段免费使用…

linux和unix区别_Unix vs Linux – Unix和Linux之间的区别

linux和unix区别 Here you will learn about difference between unix and linux i.e. unix vs linux. 在这里,您将了解unix和linux之间的区别,即 unix vs linux。 Unix OS Unix操作系统 Unix is a proprietary software and it is a complete operating system. Unix是专有…

Unix 和 Linux 那些事

目前世界上有三大主流操作系统,Windows、Linux 和 Unix。安卓系统是基于 Linux的,苹果系统是基于 Unix的。全世界大部分的服务器运行着 Linux操作系统,其中 99%的超级计算机都是使用 Linux。但是 Linux系统又被称为类Unix系统,那么…

Linux和UNIX的关系及区别

原文链接 UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的&qu…

Linux和UNIX的关系及区别(详解)

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥&…

Linux与Unix有什么区别吗?

Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区别。 1. 开源性 Linux是一款…

【Linux基础】Unix与Linux操作系统介绍

一、Unix和Linux操作系统概述 1.Unix是什么 UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。 2.Unix特点 (1)多用户:在同一时刻可以有多个用户同时使用UNIX操作系统而且他们互不干扰&#xf…

Unix简介及Linux简介

1.Unix简介 UNIX是20世纪70年代初出现的一个操作系统,除了作为网络操作系统之外,还可以作为单机操作系统使用。Unix作为一种开发平台和台式操作系统获得了广泛使用,主要用于工程应用和科学计算等领域。 2.Unix哲学 3.资深Unix程序员的格言 …

vue实现前端登录验证码

一、验证码组件 <template><div class"s-draw"><canvas id"s-draw" :width"contentWidth" :height"contentHeight"></canvas></div> </template> <script> export default {name: SIdentif…

用户登录的验证码

效果展示 1.在component中导入组件用于生成二维码 Identify.vue <template><div class"s-canvas"><canvas id"s-canvas" :width"contentWidth" :height"contentHeight"></canvas></div> </templ…

vue实现登录验证码

效果图&#xff1a; html代码 输入错误三次显示该验证码&#xff0c;isSidentify 为输错次数 <div class"inputYzm vfCode" v-if"isSidentify > 3"><input placeholder"请输入验证码" v-model"sidentifyMode" /><…

JavaWeb实现登录验证码

在登录界面中使用图片验证码, 对于现在的web应用到处可见. 话不多说, 开始写代码了! 首先, 新建一个JSP, 表示登录界面: login3.jsp文件: <%--User: menglanyingfeiDate: 2018/1/12Time: 16:16 --%> <% page contentType"text/html;charsetUTF-8" langu…