App通用测试点

目录
一、安全测试 1
1、软件权限: 1
2、数据安全性: 1
3、通讯安全性: 2
4、人机接口测试: 3
二、安装、卸载测试: 3
1、安装 3
2、卸载 3
三、UI测试: 4
1、导航测试: 4
2、图形测试: 4
3、内容测试: 4
四、功能测试: 5
1、运行: 5
2、免登录 6
3、应用的前后台切换: 7
4、数据更新 7
5、离线浏览 7
6、App更新 8
7、时间测试 8
8、PUSH测试 9
9、具体功能测试: 9
五、性能测试: 9
1、强度测试: 9
2、负载测试: 10
3、响应能力测试: 10
4、压力测试: 10
5、性能评估: 10
6、Benchmark测试(基线测试): 11
六、交叉事件测试: 11
七、兼容测试: 11
八、回归测试: 12
九、升级、更新测试: 12
十、用户体验测试: 12
十一、硬件环境测试: 13
1、手势操作测试 13
2、网络环境 13
3、服务器宕机或出现404、502等情况下的测试 14
十二、数据库测试: 14
十三、接口测试:15

一、安全测试

1、软件权限:
1)扣费风险:包括发送短信、拨打电话、连接网络等 ;
2)隐私泄露风险:包括访问手机信息、访问联系人信息等 ;
3)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测;
4)限制/允许使用手机功能接入互联网;
5)限制/允许使用手机发送接受信息功能;
6)限制/允许应用程序来注册自动启动应用程序;
7)限制或使用本地连接;
8)限制/允许使用手机拍照或录音;
9)限制/允许使用手机读取用户数据;
10) 限制/允许使用手机写人用户数据;
11) 检测App的用户授权级别、数据泄漏、非法授权访问等;
2、数据安全性:
1)当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码;
2)输人的密码将不以明文形式进行显示;
3)密码, 信用卡明细, 或其他的敏感数据将不被储存在它们预输人的位置上;
4)不同的应用程序的个人身份证或密码长度必需至少在4一8 个数字长度之间;
5)当应用程序处理信用卡明细, 或其他的敏感数据时, 不以明文形式将数据写到其它单独的文件或者临时文件中;
6)防止应用程序异常终止而又没有侧除它的临时文件, 文件可能遭受人侵者的袭击, 然后读取这些数据信息;
7)当将敏感数据输人到应用程序时, 其不会被储存在设备中;
8)备份应该加密, 恢复数据应考虑恢复过程的异常通讯中断等, 数据恢复后再使用前应该经过校验;
9)应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告;
10)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告, 更不能在安全警告显示前,,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户;
11)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作;12)“ 取消” 命令操作能够按照设计要求实现其功能;
13)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况;
14)当进行读或写用户信息操作时, 应用程序将会向用户发送一个操作错误的提示信息;
15)在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ;
16)应用程序读和写数据正确;
17)应用程序应当有异常保护;
18)如果数据库中重要的数据正要被重写, 应及时告知用户;
19)能合理地处理出现的错误;
20)意外情况下应提示用户;

3、通讯安全性:
(1)验证有来电,短信,邮件,微信,和设备特定报警时的app行为;
(2)验证在手机电量低的情况下的app行为;
(3)验证在手机正在充电的情况下,开启蓝牙,红外,时app的运行;
(5)App将保持工作到通讯超时,进而发送给用户一个提示,有连接错误;
(6)能处理网络异常并及时将异常情况通报用户;
(7)HTTP.HTTPS覆盖测试;
(8)验证在隧道,电梯等网络质量突然改变的环境中的app行为;
(9)验证手动更改网络,从流量更改到wifi,或反过来时,app行为;
(10)验证在没有网络的环境下的app行为;

4、人机接口测试:
(1) App需能处理不可预知的用户操作,例如:错误的操作,同时按下多个键。

二、安装、卸载测试:

1、安装
(1)App在不同操作系统下安装是否正常安装呢,安装后能够找到app图标,是否能正常运行,是否能正常登录;
(2)App在同一操作系统下不同版本是否正常安装,安装后能够找到app图标,是否能正常运行,是否能正常登录;
(3)安装路径应能指定,安装后的文件夹及文件是否写到了指定的目录中;
(4)软件安装向导的UI测试;
(5)软件安装过程中是否可以取消,点击取消后,写入的文件是否如概要设计说明处理;
(6)软件安装过程中意外情况的处理是否符合要求(死机,重启,断电);
(7)安装空间不足时是否有相应提示;
(8)需要对安装手册进行测试,依照安装手册看是否能顺利安装;
(9)没有用户的允许app不能预先设定自动启动;
2、卸载
(1)直接删除安装文件进行卸载是否有提示信息;
(2)直接卸载程序是否有提示信息;
(3)卸载是否安全,其安装进去的文件是否全部卸载;
(4)卸载过程中意外情况的处理是否符合要求(死机,重启,断电);
(5)卸载过程中是否可以取消,取消后软件卸载的情况;
(6)卸载时用户使用过程中产生的文件是否有提示;
(7)卸载是否影响其他软件的功能;
(8)系统直接卸载UI测试;

三、UI测试:

1、导航测试:
(1)按钮、对话框、列表、窗口等;
(2)是否易于导航,导航是否直观;
(3)是否需要搜索引擎;
(4)导航帮助是否准确直观;
(5)导航与页面结构,菜单,连接也买年的风格是否一致;
2、图形测试:
(1)横向比较,各控件操作方式一致;
(2)自适应界面设计,内容根据窗口大小自适应;
(3)页面标签风格是否一致;
(4)页面是否美观;
(5)页面的图片应有实际意义且要求整体有序美观;
(6)图片质量要高且图片尺寸在设计符合要求的情况下应尽量小;
(7)界面整体使用的颜色不宜过多;
(8)检查按钮功能是否都正确;
(9)页面连接检查:每一个连接是否都有对应的页面,并且页面之间切换正确;
(10)相关性检查:删除或增加一项会不会对其他项产生影响,若产生影响,这些影响是否都正确;
3、内容测试:
(1)输入框说明文字的内容与系统功能是否一致;
(2)文字长度是否加以限制;
(3)文字内容是否表意不明;
(4)是否有错别字,跟整体风格一致,布局合理;
(5)信息是否为中文显示;
(6)是否有敏感性词、关键词;
(7)是否有敏感性图片,如:涉及版权、专利、隐私等图片;
(8)检查字符长度是否符合规定;
(9)字符类型检查:在应该输入指令类型的内容的地方输入其它类型的内容,看系统是否检查字符类型,是否报错;
(10)标点符号检查:输入内容包括各种标点符号,特别是空格,各种引号,回车键看系统处理是否正确;
(11)中文字符处理:在可以输入中文的系统输入中文,看是否会出现乱码或出错;
(12)输入信息的位置:注意光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方;

四、功能测试:

1、运行:
1)App安装完成后的试运行,可正常打开软件;
2)App打开测试,是否有加载状态进度提示;
3)App打开速度测试,速度是否可观;
4)App页面间的切换是否流畅,逻辑是否正确;
5)注册
–同表单编辑页面
–用户名密码长度
–注册后的提示页面
–前台注册页面和后台的管理页面数据是否一致
–注册后,在后台管理中页面提示
6)登录
–使用合法的用户登录系统。
–系统是否允许多次非法的登陆,是否有次数限制。
–使用已经登陆的账号登陆系统是否正确处理。
–使用禁用的账号登陆系统是否正确处理。
–用户名、口令(密码)错误或漏填时能否登陆。
–删除或修改后的用户,原用户登陆。
–不输入用户口令和用户、重复点(确定或取消按钮)是否允许登陆。
–登陆后,页面中登陆信息。
–页面中有注销按钮。
–登陆超时的处理。
7)注销
–注销原模块,新的模块系统能否正确处理。
–终止注销能否返回原模块,原用户。
–注销原用户,新用户系统能否正确处理。
–使用错误的账号、口令、无权限的被禁用的账号进行注销
2、免登录
很多应用提供免登录功能,当应用开启时自动以上一次登录的用户身份来使用app.

  1. app有免登录功能时,需要考虑IOS版本差异;
  2. 考虑无网络情况时能否正常进入免登录状态;
  3. 切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出;
  4. 根据MTOP的现有规则,一个帐户只允许登录一台机器。所以,需要检查一个帐户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。;
  5. app切换到后台,再切回前台的校验 ;
  6. 切换到后台,再切换回前台的测试 ;
  7. 密码更换后,检查有数据交换时是否进行了有效身份的校验 ;
  8. 支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操作无误;
  9. 检查用户主动退出登录后,下次启动app,应停留在登录界面;

3、应用的前后台切换:

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

4、数据更新
根据应用的业务规则,以及数据更新量的情况,来确定最优的数据更新方案。

  1. 需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动刷新。
  2. 确定哪些地方从后台切换回前台时需要进行数据更新。
  3. 根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。
  4. 确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。
  5. 检查有数据交换的地方,均有相应的异常处理。
    5、离线浏览
    很多应用会支持离线浏览,即在本地客户端会缓存一部分数据供用户查看。
  6. 在无网络情况可以浏览本地数据
  7. 退出app再开启app时能正常浏览
  8. 切换到后台再切回前台可以正常浏览
  9. 锁屏后再解屏回到应用前台可以正常浏览
  10. 在对服务端的数据有更新时会给予离线的相应提示

6、App更新

  1. 当客户端有新版本时,有更新提示。
  2. 当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动app时,仍能出现更新提示。
  3. 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动app时,仍出现强制升级提示。
  4. 当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。
  5. 当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。
  6. 当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。如果以上无法更新成功的,也都属于缺陷。

7、时间测试
客户端可以自行设置手机的时区、时间,因此需要校验该设置对app的影响。
–中国为东8区,所以当手机设置的时间非东8区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比较好。比如发表一篇微博在服务端记录的是10:00,此时,华盛顿时间为22:00,客户端去浏览时,如果设置的是华盛顿时间,则显示的发表时间即为22:00,当时间设回东8区时间时,再查看则显示为10:00。

8、PUSH测试

  1. 检查push消息是否按照指定的业务规则发送
  2. 检查不接受推送消息时,检查用户不会再接收到push.
  3. 如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH。
    在非免打扰时间段,用户能正常收到push。
  4. 当push消息是针对登录用户的时候,需要检查收到的push与用户身份是否相符,没有错误地将其它人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
  5. 测试push时,需要采用真机进行测试。

9、具体功能测试:
(1)信息重复:有一些需要命名,且名字应该唯一的信息输入重复的名字,看系统有没有处理,是否报错,重命名包括是否区分大小写,在输入内容的前后输入空格,系统是否做出正确处理。
(2)检查删除功能:在一些可以一次删除多个信息的地方,不选任何信息,按delete看系统如何处理,然后选择一个和多个信息,进行删除,看是否正确处理。
(3)上传下载文件检查:上传文件和下载文件的功能是否实现,上传文件是否鞥年打开,对上传文件的格式有何规定,系统是否有解释信息
(4)Search检查:在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确,如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确。
(5)检查BACK键:在有back的地方,back。回到原来接main,再back。重复多次,看是否出错

五、性能测试:

1、强度测试:
(1)目的是找出因资源不足或竞争资源而造成的错误,如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷,(前提条件:连续运行8小时,设置添加10个用户并发);
(2)大数据量测试:让测试对象处理大量的数据,以确定是否达到了使软件发生故障的极限,可确定被测对象在给定时间内能够持续处理的最大负荷或工作量;
(3)持续运行一个月,不关机;
(4)用户并发测试:通过增加用户数量来加重系统负担,以检测测试对象能 接受的最大用户数来确定功能是否达到要求。
(5)在各种边界压力情况下,如电池、存储、网速等,验证App是否能正确响应。
–内存满时安装App
–运行App时手机断电
–运行App时断掉网络
2、负载测试:
目的是确定系统在超出最大预期工作量的情况下仍能正常运行,还要评估性能特征,例如,相应时间,事物处理率……
3、响应能力测试:
测试App中的各类操作是否满足用户响应时间要求 。
–App安装、卸载的响应时间
–App各类功能性操作的影响时间
4、压力测试:
反复/长期操作下、系统资源是否占用异常。
–App反复进行安装卸载,查看系统资源是否正常
–其他功能反复进行操作,查看系统资源是否正常
5、性能评估:
评估典型用户应用场景下,系统资源的使用情况。
6、Benchmark测试(基线测试):
与竞争产品的Benchmarking, 产品演变对比测试等。

六、交叉事件测试:

对智能终端应用的服务等级划分方式及实时特性所提出的测试方法。交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如;App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。
1) 多个App同时运行是否影响正常功能
2) App运行时前/后台切换是否影响正常功能
3) App运行时拨打/接听电话
4) App运行时发送/接收信息
5) App运行时发送/收取邮件
6) App运行时切换网络(2G、3G、wifi)
7) App运行时浏览网络
8) App运行时使用蓝牙传送/接收数据
9) App运行时使用相机、计算器等手机自带设备

七、兼容测试:

(1)验证与本地及主流App是否兼容;
(2)验证与各种设备是否兼容,若有跨系统支持则需要检验是否在各系统下,各种行为是否一致;
(3)不同操作系统的兼容性,是否适配;(ios3.1.3-ios5.0.1 ;Android 1.6-Android4.0;Winphone7.1及以上;Symbian v3,v5 Nokia Belle)
(4)不同手机屏幕分辨率的兼容性;
(5)不同手机品牌的兼容性;
(6)用不同的语言验证app行为;
(7)是否有敏感性图片,如:涉及版权、专利、隐私等图片;
(8)验证与输入法软件的兼容性;

八、回归测试:

1)Bug修复后且在新版本发布后需要进行回归测试。
2)Bug修复后的回归测试在交付前、要进行全量用例的回归测试。

九、升级、更新测试:

新版版发布后,配合不同网络环境的自劢更新提示及下载、安装、更新、启劢、运行的验证测试。
1)测试升级后的功能是否与需求说明一样 ;
2)测试与升级模块相关的模块的功能是否与需求一致 ;
3)升级安装意外情况的测试(如死机、断电、重启) ;
4)升级界面的UI测试 ;
5)不同操作系统间的升级测试;

十、用户体验测试:

以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。 通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性提出修改意见提升产品的潜在客户满意度。
1)是否有空数据界面设计,引导用户去执行操作。
2)是否滥用用户引导。
3)是否有不可点击的效果,如:你的按钮此时处于不可用状态,那么一定要灰掉,或者拿掉按钮,否则会给用户误导
4)菜单层次是否太深
5)交互流程分支是否太多
6)相关的选项是否离得很远
7)一次是否载入太多的数据
8)界面中按钮可点击范围是否适中
9)标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换
10)操作应该有主次从属关系
11)是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义
12)是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计

十一、硬件环境测试:

1、手势操作测试
1)手机开锁屏对运行中的App的影响
2)切换网络对运行中的App的影响
3)运行中的App前后台切换的影响
4)多个运行中的App的切换
5)App运行时关机
6)App运行时重启系统
7)App运行时充电
8)App运行时kill掉进程再打开
2、网络环境
手机的网络目前主要分为2G、3G、4G、wifi。

  1. 无网络时,执行需要网络的操作,给予友好提示,确保程序不出现crash。
  2. 内网测试时,要注意选择到外网操作时的异常情况处理。
  3. 在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash。
  4. 在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如遇数据交换失败时要给予提示。
  5. 在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他操作的情况,有无异常情况。此问题也会经常出现程序crash。

3、服务器宕机或出现404、502等情况下的测试
后台服务牵涉到DNS、空间服务商的情况下会影响其稳定性,如:当出现域名解析故障时,你对后台API的请求很可能就会出现404错误,抛出异常。这时需要对异常进行正确的处理,否则可能会导致程序不能正常工作。

十二、数据库测试:

1)一般的增、删、改、查测试。
2) 当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务端中获取回来并保存。
3) 在业务需要从服务端取回数据保存到客户端的时候,客户端能否将数据保存到本地。
4) 当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,app数据能否自动从服务器端获取到并保存到客户端
5) 当业务对数据进行了修改、删除后,客户端和服务端是否会有相应的更新。

十三、接口测试:

后续文章中详细介绍

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值