APP测试

随着移动端平台及系统的多样化、功能需求的复杂化,使用传统的用例组织方式(例如等价类划分、边界值分析、因果分析等)而将测试仅仅停留在基本功能上,目前看来已经远远不够,所以还需要从面向问题发现的角度来组织测试用例。即由Bug可能的分布点来考虑测试内容,这样更容易发现BUG

APP测试内容分为

功能模块测试、兼容性测试、安装和卸载测试、软件更新测试(主要是回归测试)、性能测试、用户体验性测试、交叉事件测试、用户界面测试,安全测试等。

APP测试用例的设计方法

1.基础测试:

基本功能数据交互(边界值、异常数据等)基本功能测试,可以通过功能分析、因果分析方法,将功能分层,逐级细化。这一部分在一轮完整的测试后(冒烟测试),通常即可保证该功能基本是完备的,之后的问题一般是出现在基本功能之上的特殊状况中。

注意:这一环节中,可以暂不考虑功能实现的好坏、特殊场景及特殊操作的影响,也就将基本功能测试点和其他特殊测试内容进行了分离。这样组织,有利于裁剪测试用例,将更多的精力放在容易发生问题的部分,而这一部分的基本功能则可以通过特殊状况的检验而覆盖到。

2.数据交互测试:

主要是在基本功能的基础上,考虑各种输入输出。一般基本功能容易在边界附近出现问题。这里可以根据梳理初的基本功能有哪些,确定哪些部分可能存在相应的问题,然后进程用例的设计。

例如,输入的数值范围、字符长短、内容缺失、字符/数字类型是否支持等。

3.性能测试:

响应速度、资源占用(CPU、电量等)、流量消耗、稳定性

在进行产品测试过程中,对于响应速度、资源占用、流量消耗、CPU占用的测试,会有明确的用户主观感受。而判断产品性能是否符合预期,不能只凭主观感受,可以对合适的竞品进行分析,从竞品的核心用例得出一个基准。因此,立项初期,测试人员对预期的目标应该有一个清晰的认识。

4.异常测试:

1)中断测试(来电、短信、闹钟、日历、锁屏、弹窗等)、
2)应用交互(资源抢夺、应用切换等)、
3)手势测试(快速连续点击、多触屏点点击、滑动手势等)、
4)硬件异常(存储空间不足等)

在设备平台强大的功能背景下,应用于应用之间,会存在执行状态被打断的情况,例如:来电、短信、闹钟、日历、锁屏、弹窗等;而在应用层更低一层的资源层面,也会存在这资源抢夺及公用的情况,例如:音频资源、摄像资源、内存占用等。

5.兼容测试:

网络兼容、操作系统兼容、分辨率兼容、版本兼容、硬件设备兼容(蓝牙、存储卡等)、第三方应用兼容(输入法等)

兼容测试是指新开发的软件在某一特定环境(例如:特定硬件平台、特定操作系统)下,与各应用软件之间的能够很好的运行。
*

APP测试阶段

版本开发测试阶段,测试人员应将重点集中在基础测试上,快速发现问题并推动修复,保证主体功能得到快速实现,而非在初始就纠结性能、压力、兼容性,避免研发人员在改动大量代码之后,还需要再重新执行一遍性能、压力、兼容相关测试,降低测试效率。所以,在设定测试计划时,就要明确不同测试阶段需要进行的工作。

一般可按照以下阶段进行:

基础测试、异常测试——版本开发测试阶段;
兼容测试——回归测试阶段;
性能测试——回归测试阶段,待功能稳定后进行;
稳定性测试——建议在整个测试阶段,每晚进行;

APP 测试的常见测试点

1.交叉测试

交叉测试又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。如:App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。

(1)不同网络,弱网下的页面跳转,点击响应的展现效果

(2)修改本地参数后的页面操作展现效果,如修改日期,时间,时区,语言,键盘等

(3)修改系统权限后的页面操作展现效果,如打开关闭定位,摄像,照片,通讯录等的授权等

(4)页面操作过程中有系统打断,如来电,短信,闹钟提醒,日历提醒,蓝牙提醒,插拔数据线,插拔耳机,待机,锁屏,低电量提醒等

(5)页面操作过程中进行前后台切换,如当页面数据交换时,有弹窗,提示框的时机进行切换容易发现问题。

(6)针对非主线程调用的接口,前端要对异常及无网络情况做异步处理,不提示异常且不影响主线程操作。

7)多个App同时运行是否影响正常功能,App运行时前/后台切换是否影响正常功能。

8)App运行时拨打/接听电话,发送/接收信息,发送/收取邮件,使用蓝牙传送/接收数据。

9)App运行时使用相机、计算器等手机自带设备,App运行时浏览网络

2.UI测试

UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。

2.1.导航测试

1)按钮、对话框、列表和窗口等;在不同的连接页面之间需要导航。

2)是否易于导航,导航是否直观,导航帮助是否准确

3)是否需要搜索引擎。

4)导航与页面结构、菜单、连接页面的风格是否一致。

2.2图形测试

1)布局与交互图保持是否一致,
横向比较,各控件操作方式统一。

2)自适应界面设计,内容根据窗口大小自适应。

3)页面标签风格是否统一。

4)页面是否美观,页面的图片应有其实际意义,而且要求整体有序美观,文字、图片组合是否完美、操作是否友好等。

5)资源图正确使用,没有不必要的拉伸,压缩或其他效果。

6)动画效果不卡顿,正常展现

2.3内容测试

1)输入框说明文字的内容与系统功能是否一致,输入框文本长度是否加以限制,文字内容是否表意不明

2)页面是否有错别字。

3)真机效果与UE图(用户界面功能图)没有视觉上的严重偏差,如字号,字体大小,加粗,字体颜色,行高,行间距,按钮摆放位置,间隔,尺寸等。
4)各种提示信息,文字通顺不产生歧义,展示方式符合用户使用习惯。

5)信息是否为中文显示。

3.手势/操作

(1)是否有防重复点击,即连续快速点击不会出现多个页面或弹窗

(2)单指滑动,单指单击,单指双击,单指长按,单指缩放,多指点击

(3)摇一摇,横竖屏切换,前后台切换

(4)长时间使用,长时间放在后台

4.数据交互

(1)页面是否有缓存,缓存机制是怎样的,缓存的内容有哪些

(2)在提交页面数据失败后是否有重试机制,重试的接口参数是否保持不变

(3)在页面操作过程中,异步接口返回的内容,是否对用户透明(客户端兼容忽略请求返回msg)

(4)在页面操作过程中,对于接口返回的异常数据,客户端需兼容,保证程序不崩溃。

5.安全测试

5.1数据的安全性

(1)当将密码或其它的敏感数据输入到应用程序时,其不会被存储在设备中,同时密码也不会被解码。

(2)输入的密码将不以明文形式进行显示,传输。

(3)密码、信用卡明细或其他的敏感数据将不被存储在它们预输入的位置上。

(4)不同的应用程序的个人身份验证或密码长度必须至少在4-8个数字长度之间。

(5)当应用程序处理信用卡明细或其它的敏感数据时,不以明文形式将数据写到其他单独的文件或者临时文件中。以防止应用程序异常终止而又没有删除它的临时文件,文件可能遭受入侵者的袭击,然后读取这些数据信息。

(6)敏感数据输入到应用程序时,其不会被存储在设备中。

(7)应用程序应考虑或者虚拟机器产生的用户提示信息或安全警告

(8)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告,更不能在安全警告显示前,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户。

(9)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作。

(10)应用程序应当能够处理对应的权限请求。

(11)在没有用户明确许可的前提下不损坏删除个人信息管理应用程序中的任何内容

(12)如果数据库中重要的数据正要被重写,应及时告知用户。

(13)能合理的处理出现的错误,意外情况下应提示用户。

5.2软件权限的安全性

(1)扣费风险:包括短信、拨打电话、连接网络等。

(2)隐私泄露风险:包括访问手机信息、访问联系人信息等。

(3)对App的输入有效性校验、认证、授权、数据加密等方面进行检测

(4)限制/允许使用手机功能接入互联网,发送接收信息功能,拍照或录音,读取用户数据,写入用户数据

(5)限制/允许应用程序来注册自动启动应用程序

5.3安装与卸载安全性

1)应用程序应能正确安装到设备驱动程序上,并且能找到相应图标

2)安装路径应能指定

3)没有用户的允许,应用程序不能预先设定自动启动

4)卸载是否安全,卸载是否影响其他软件的功能,卸载应该移除所有的安装文件,卸载过程中产生的文件是否有提示

5)其修改的配置信息是否软件是否会改变

5.4人机接口安全测试

1)返回菜单应总保持可用。

2)命令有优先权顺序。

3)声音的设置不影响使用程序的功能。

4)应用程序必须能够处理不可预知的用户操作,例如错误的操作和同时按下多个键

6.功能测试

方法说明:

1.)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准。

2)根据被测功能点的特性列出相应类型的测试用例对其功能进行覆盖,如:设计输入的地方需要考虑等价、边界、负面、异常、非法、场景回滚、关联测试等测试类型对其进行覆盖。

3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。

6.1.运行

1)App安装完成后的试运行,可正常打开软件。

2)App打开测试,是否有加载状态进度提示。

3)App页面间的切换是否流畅,逻辑是否正确。

4)注册

  • 用户名密码长度,
  • 注册后的提示页面
  • 前台注册页面和后台的管理页面数据是否一
  • 注册后,在后台管理中页面提示

5)登录

  • 使用合法的用户登录系
  • 统系统是否允许多次非法的登录,是否有次数限制
  • 使用已经登录的账号登录系统是否正确处理
  • 用户名、口令(密码)错误或漏填时能否登陆
  • 删除或修改后的用户,原用户名登陆
  • 不输入用户口令和重复点 “确定/取消” 按钮,是否允许登录
  • 登陆后,页面中登录信息是否正确
  • 页面中有注销按钮登录
  • 超时的处理

6.2.应用的前后台切换

1)App切换到后台,再回到App,检查是否停留在上一次操作界面,检查功能及应用状态是否正常。

2)当App使用过程中有电话进来中断后再切换到App,功能状态是否正常

3)App切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。

4)手机锁屏解锁后进入App注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有自动更新的时候。

5)对于有数据交换的页面,每个页面都必须要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。

6)当杀掉App进城后,再开启App,App能否正常启动。

7)出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。

6.3.免登陆

应用提供免登陆功能,当应用开启时自动以上一次登录的用户身份来使用App。

1)考虑无网络情况时能否正常进入免登录状态。

2)切换用户登陆后,要校验用户登录信息以及数据内容是否相应更新,确保原用户退出。

3)根据Mtop的现有规则,一个账户只允许登陆一台机器。所以,需要检查一个账户登录多台手机的情况。原手机里的用户需要被退出,给出友好提示。

4)App切换到后台,在切换回前台的校验。

5)切换到后台,再切换回到前台的测试。

6)密码更换后,检查有数据交换时是否进行了有效身份的校验。

7)支持自动登录的应用在进行数据校验时,检查系统是否能自动登录成功并且数据操作无误。

8)检查用户主动退出登录后,下次启动App,应停留在登录界面。

6.4.离线浏览

很多应用会支持离线浏览,即在本地客户端会缓存一部分数据供用户查看。

1)在无线网络情况可以浏览本地数据。

2)退出App再开启App时能正常浏览。

3)切换到后台再回到前台可以正常浏览。

4)锁屏后再解锁回到应用前台可以正常浏览。

5)在对服务器段的数据有更新时回给予离线的相应提示。

6.5.App更新

1)当客户端有新版本时,有更新提示。

2)当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动App时,仍出现更新提示。

3)当版本为强制升级版时,但给出强制更新后用户没有做更新时,退出客户端。下次启动App时,仍出现强制升级提示

。4)当客户端有新版本时,在本地不删除客户端的情况下,直接更新检查是否能正常更新。

5)当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否是新版本。

6)当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。如果以上无法更新成功的,也都属于缺陷。

6.6.定位、照相机服务

1)App有用到相机,定位服务时,需要注意系统版本差异。

2)有用到照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常。

3)测试照相机服务时,需要采用真机进行测试。

6.7.推送消息测试

1)检查推送消息是否按照指定的业务规则发送。

2)检查不接收推送消息时,用户不会在接收到推送消息。

3)如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到推送消息。在非免打扰时间段内,用户能正常收到Push。

4)当推送消息是针对登录用户的时候,需要检查收到的Push与用户身份是否相符,没有错误的将其他人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。

5)测试推送消息时,需要采用真机进行测试。

7.安装,卸载测试

7.1.安装

1)软件安装后是否能够正常运行,安装后的文件夹以及文件是否写到了指定的目录里。

2)软件安装各个选项的组合是否符合概要设计说明。

3)软件安装向导的UI测试

4)安装后没有生成多余的目录结构和文件

7.2.卸载

1)测试系统直接卸载程序是否有提示信息。

2)测试卸载后文件是否全部删除所有的安装文件夹。

3)卸载是否支持取消功能,单击取消后软件卸载的情况。

4)系统直接卸载UI测试,是否有卸载状态进度条提示。

8.兼容性测试

主要测试内部和外部兼容性

1)与本地及主流App是否兼容

2)与各种设备是否兼容,若有跨系统支持则需要检验是否在个系统下,各种行为是否一致。

3)不同手机屏幕分标率的兼容性

4)不同手机品牌的兼容性

5)网络兼容、操作系统兼容、版本兼容、硬件设备兼容(蓝牙、存储卡等)、第三方应用兼容(输入法等)

9.更新测试(回归测试)

1)Bug修复后且在新版本发布后需要进行回归测试。

2)Bug修复后的回归测试在交付前、要进行大量用例的回归测试。

10.用户体验测试

以普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性,并且提出修改意见提升产品的潜在客户满意度。

1)是否有空数据界面设计,引导用户去执行操作。

2)是否滥用用户引导。

3)是否有不可点击的效果,如:你的按钮此时处于不可用状态,那么一定要灰掉,或者拿掉按钮,否则会给用户误导。

4)菜单层次是否太深。

5)交互流程分支是否太多。

6)相关的选项是否离的很远。

7)一次是否载入太多的数据。

8)界面中按钮可点击范围是否适中。

9)标签页是否跟内容没有从属关系,当切换标签的时候,内容跟着切换。

10)操作应该有主次从属关系。

11)是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义。

12)是否有横屏模式的设计,应用一般需要支持横屏模式,即自适应设计。

11.客户端的数据库测试

1)一般的增、删、改、查测试。

2)当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从服务器中获取回来并保存。

3)在业务需要从服务器端取回数据保存到客户端的时候,客户端能否将数据保存到本地。

4)当业务需要从客户端取数据时,检查客户端数据存在时,App数据是否能自动从客户端数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,App数据能否自动从服务器端获取到并保存到服务器端。

5)当业务对数据进行了修改、删除后,客户端和服务器端是否会有相应的更新。

参考的下边这个大佬的,他写的很全:
链接:https://www.jianshu.com/p/966adb409f7f

测试---APP测试相关推荐

  1. WEB测试和App测试、Android和IOS测试区别

    WEB测试和App测试:   web测试 app测试 性能测试 只需要测试响应时间 响应时间.流量测试和耗电量测试 兼容性测试 兼容浏览器,兼容IE6,IE8,chrome,firefox 兼容的是手 ...

  2. 软件测试的基本理论-移动端app测试-6

    软件测试的基本理论-移动端app测试-6 一.移动app测试 1. 移动app测试概述 2.移动app测试要点 3, UI测试要点 1,界面布局 2,图形测试 3,内容测试 4, 功能测试 1,切换测 ...

  3. App测试流程和要点

    APP与Web测试的异同 1.相同点:流程方面相同,都要经过计划,方案,测试分析,用例,环境搭建,测试执行,报告,总结等 都要进行功能测试,性能测试,兼容性测试,安全测试,安装/升级/卸载测试 2.不 ...

  4. 怎么测试app?app的测试技巧是什么?

    文章末尾给大家留下了大量的福利 前言 今天笔者想和大家来唠唠app测试,现在的app有非常的多,这些app都是需要经过测试之后才能发布到应用市场中,app已经成为了我们日常生活中不可或缺的一部分了,但 ...

  5. 【测试】测试开发学习路线,助你通关大厂

    文章目录 前言 路线大纲 阶段0 : 前言 路线特点 符号标记 学习建议 阶段1 : 入门 目标 Python Java 学习建议 阶段2 : 基础 目标 数据结构与算法 计算机网络 操作系统 MyS ...

  6. APP测试和传统软件测试有什么区别?

    软件测试从字面意思我们就知道它主要是做软件产品方面的测试,尤其是APP这块,那么很多人就问了APP测试和传统软件测试有什么区别?来看看下面的详细介绍. 软件测试培训分享:APP测试和传统软件测试有什么 ...

  7. APP测试和传统软件测试有什么区别

    APP测试和传统软件测试有什么区别?APP测试和传统测试是有一些区别的,移动APP的特点使得它与传统软件在开发.测试方面都有所不同.比较移动APP测试与传统软件测试的不同,要从以下几个方面进行考虑: ...

  8. centos7使用蓝牙_Nmon的使用和APP测试要点

    一.Nmon的使用 授权 chmod +x nmon_x86_64_centos7 运行nmon ./nmon_x86_64_centos7 nmon的常用命令 C CPU ; M 内存:N 网络:D ...

  9. app测试流程和重点_APP开发测试流程是怎么样的?

    一款APP产品在上线之后的稳定性,取决于上线之前的软件测试,也就是说在上线之前,能找出更多的软件问题并解决,那么上线以后,APP软件自然就很少出现问题,系统性能自然就更加的稳定.那么正规的测试流程是怎 ...

最新文章

  1. html5 文本框限制,html中input禁止输入(禁止获得焦点)多种方法及input限制数字和长度...
  2. 整人之bat重启文件
  3. 团队-团队编程项目作业名称-成员简介及分工
  4. WINCE下I/O操作基础
  5. Vue Cli 项目结构简述
  6. wps怎么把ppt里的字体一起保存_PPT基础教程!看懂少走弯路!
  7. (16)Verilog模块例化-基本语法(四)(第4天)
  8. shell脚本语之运算符
  9. 【天梯选拔月赛】寻宝路线(dp)
  10. TOGAF 企业连续系列
  11. 【BSP视频教程】STM32H7视频教程第14期:超干●货,MPU和Cache实战,一张图了解所有经典配置案例,争取人人都可以玩溜(2022-05-08)
  12. ShareX 屏幕截图分享好工具
  13. APP下载链接在微信内打不开显示已停止访问该网页怎么办?
  14. 【华人学者风采】魏少军 清华大学
  15. 银联基于OpenStack 的“五高”生产金融云技术白皮书
  16. 【小白学OpenCV】(零)——计算机图像基础
  17. jar包打补丁 jar -uf_Java加密jar包流程
  18. 微信分享自定义图文链接
  19. 整体管理-输入、输出、工具和技术
  20. 秒懂!原码、反码、补码的转化原来这么简单……

热门文章

  1. 【JavaLearn】(22)jQuery介绍、选择器、事件、动画、DOM编程、操作CSS、表单验证
  2. 虚拟现实技术成功应用案例
  3. python 电梯运行_面向对象电梯系列总结
  4. 2019北京国际智能-智慧教育产品展
  5. 如何把视频放进图片指定区域的剪辑技巧
  6. 已知两点求直线一般方程、点到直线距离、点是否在线上方/下方
  7. Sql Server, Oracle, db2等比較
  8. 一头扎进Shiro-自定义Realm
  9. csv和excel php 解析_PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数
  10. 分享两篇文章 - PMs in Microsoft