手机app测试总结

手机app测试总结

 

一.功能性测试:

1)根据产品需求文档编写测试用例

2)软件设计文档编写用例

      根据软件需求说明书或者用户需求验证app的各个功能是否实现,采用如下方法实现并评估功能测试过程:

采用时间、地点、对象、行为、和背景五元素或业务分析等方法、提炼app的用户使用场景,对比说明和需求,整理出内在,外在及非功能直接相关需求,构建测试点和用例,并明确测试标准,若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或准则。 

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

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

运行

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

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

3App打开速度测试,速度是否可观。 

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

应用的前后台切换

1)APP切换到后台,再回到app,检查是否停留在上一次操作界面。

2)APP切换到后台,再回到app,检查功能及应用状态是否正常,IOS4IOS5的版本的处理机制有的不一样。

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

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

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

6)当杀掉app进程后,再开启appapp能否正常启动。

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

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

客户端数据库测试

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

2)当表不存在时是否能自动创建,当数据库表被删除后能否再自建,数据是否还能自动从

服务端中获取回来并保存。

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

4)当业务需要从客户端取数据时,检查客户端数据存在时,app数据是否能自动从客户端

数据中取出,还是仍然会从服务器端获取?检查客户端数据不存在时,app数据能否自动从

服务器端获取到并保存到客户端

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

 

二.兼容性适配性测试:

1AndroidiOS版本的兼容性

2)手机分辨率兼容性

3)网络的兼容性:2G/3G/4G/Wifi,弱网下、断网时

4APP跨版本的兼容性

5)与本地或主流app是否兼容

 

1.适配性测试:

1)手机不同分标率支持:客户端支持的分辨率等

2)手机不同版本的支持: 4.0  4.4 5.0  6.0 7.0  8.0等;在测试计划中:需要安排单独的时间用于Android不同系统的兼容性测试,包括2.0以下版本和4.0以上等

3)手机不同厂家系统的支持:不同厂家会有不同Android系统,例如:小米,华为,锤子对市面上主流手机的支持

4)手机不同尺寸的支持:3.57.0屏幕在UI显示有区别,要支持最大到最小。

解决方案:

a.自行购买或者使用借来设备来实际验证。耗费资金,购买几台。

b.第三方云测试的解决方法。(Testin

c.整理不兼容的地方,然后去分析app总可能不兼容的代码。对技术能力的要求比较高,前期也需要花费不少的时间。

d.利用友盟等第三方统计平台获得应用对应的TOP N 的记性重点进行测试。

 

2.安装、卸载测试

主要针对编译后源程序生成的APK安装文件。

主要测试点:a.生成的APK文件在真机上可以安装及卸载;

b.Android手机端的通用安装工具,如:豌豆荚及91助手等工具可以正常安装及卸载程序。

安装

1)软件在不同操作系统(Palm OSSymbianLinuxAndroidiOSBlack Berry OS 6.0

Windows Phone 7)下安装是否正常。

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

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

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

5)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理

6)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)

7)安装空间不足时是否有相应提示

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

9)对于需要通过网络验证之类的安装,在断网情况下尝试一下

10)还需要对安装手册进行测试,依照安装手册是否能顺利安装

卸载

1)直接删除安装文件夹卸载是否有提示信息。

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

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

4)卸载过程中出现的意外情况的测试(如死机、断电、重启)。

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

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

3.在线升级测试:

1)验证数字签名

2)升级后可以正常使用

3)在线跨版本升级。

App更新

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

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

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

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

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

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

新版版发布后,配合不同网络环境的自劢更新提示及下载、安装、更新、启劢、运行的验证

测试。

1)测试升级后的功能是否与需求说明一样

2)测试与升级模块相关的模块的功能是否与需求一致

3)升级安装意外情况的测试(如死机、断电、重启)

4)升级界面的UI测试

5)不同操作系统间的升级测试

三.性能测试:

1)压力测试

2)电量流量测试

3CPU、内存消耗

4APP启动时长

5Crash

6)内存泄露

性能测试:评估App的时间和空间特性

1)极限测试: 

在各种边界压力情况下,如电池、存储、网速等,验证App是否能正确响应。

内存满时安装App

运行App时手机断电

运行App时断掉网络

2)响应能力测试: 

测试App中的各类操作是否满足用户响应时间要求

–App安装、卸载的响应时间

–App各类功能性操作的影响时间

3)压力测试: 

反复/长期操作下、系统资源是否占用异常。

–App反复进行安装卸载,查看系统资源是否正常

其他功能反复进行操作,查看系统资源是否正常

4)性能评估: 

评估典型用户应用场景下,系统资源的使用情况。

Benchmark测试(基线测试):与竞争产品的Benchmarking,产品演变对比测试等。

特定场景测试 

1.通过模拟终端低电量(例如5%电量)的状态来测试功能在该状态下的正确性 

2.通过模拟终端处于特殊地理位置(例如上海)来测试功能在该状态下的正确性 

3.通过模拟终端处于特定网络状态下(例如3G)来测试功能在该状态下的正确性 

深度性能测试 

1.获取App在典型使用场景及状态下消耗的电量流量消耗 

2.获取App在典型使用场景及待机状态下消耗的流量 

3.获取App在典型使用场景及待机状态下的CPU占用率 

4.获取App在典型使用场景及待机状态下内存量 

5.获取App冷启动和热启动耗时内容 

6.获取App特定页面的内容加载耗时 

7.获取App退出的耗时 

8.获取App在典型使用场景下帧率

四.网络测试:

1)外网测试主要现实模拟客户使用网络环境,检验客户单程序在实际网络环境中使用情况进行业务操作。

2)外网测试主要覆盖到WiFi/2G/3G/4G...net/wap、电信/移动/联通、所有可能的组合进行测试。

原则:

1)尽可能全面覆盖用户的使用场景,测试用例中需要包含不同网络排列组合的各种可能。

2)还有模拟信号屏蔽时候。客户端的影响等。还有做外包场景测试,在高山、丘陵、火车上等特殊环境下进行全面测试、

手机的网络目前主要分为2G3Gwifi。目前2G的网络相对于比较慢,测试时尤其要注意此

块的测试。

1)无网络时,执行需要网络的操作,给予友好提示,确保程序不出现crash

2)内网测试时,要注意选择到外网操作时的异常情况处理。

3)在网络信号不好时,检查功能状态是否正常,确保不因提交数据失败而造成crash

4)在网络信号不好时,检查数据是否会一直处于提交中的状态,有无超时限制。如遇数据

交换失败时要给予提示。

5)在网络信号不好时,执行操作后,在回调没有完成的情况下,退出本页面或者执行其他

操作的情况,有无异常情况。此问题也会经常出现程序crash

五.接口性测试:

1client端和service端的交互。  客户机/服务器

2client端的数据更新和service端的数据是否一致

3Client端更新时断开了

4client端更新时和service端挂了

六.业务逻辑测试:

1)业务逻辑测试:主要测试客户端业务能否正常完成。

2)功能点测试:主要测试客户端功能点是否正常使用

3)关联性测试:主要测试客户端与PC端的交互,客户端处理完后,PC端与客户端数据一致。

七.异常测试:

1)交互异常性测试:客户端作为手机特性测试,包括被打扰的情况:如来电、来短信、低电量测试等,还要注意手机端硬件上,如:待机,插拔数据线、耳机的各操作不会影响客户端。

2)异常性测试:主要包含了断网、断电、服务器异常等情况下,客户端能都正常处理,保证数据正确性。

交叉事件测试:又叫事件冲突测试 

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

多个App同时运行是否影响正常功能。 

App运行时前/后台切换是否影响正常功能。 

App运行时拨打/接听电话。 

App运行时发送/接收信息。 

App运行时发送/收取邮件。 

App运行时切换网络(2G/3G/WIFI

App运行浏览网页。 

App运行时使用蓝牙传送/接收数据。 

App运行时使用相机、计算器手机自带设备。 

App运行时插拔充电器。 

执行干扰的冲突事件不能导致软件应用软件异常、手机死机或者花屏等严重问题,还需要注意各交叉事件的优先级别,检验系统是否能依据各事件的优先级别依次进行处理。不能因执行优先级别高的事件而导致优先级别较低的事件吊死。另外有中英文模式切换的手机要注意中英文模式切换后的功能实现存在的问题。

八.客户端侧性能测试:

1.基准性能测试:主要通过压服务器端接口测试及客户端在不同网络环境下响应速度。

2.大数量的测试:主要在特定环境下,客户端一次性更新大量的数据及人员列表时,客户端能否正常处理,分为三种情况:

   a.客户端第一次使用,第一次就更新大量数据及人员列表。

   b.客户端在平时更新中,更新大量的数据

   c.客户端已经在手机本地下载跟多数据后,再次更新大量

.安全测试:

软件权限 

扣费风险:包括发送短信、拨打电话、连接网络等

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

App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测

限制/允许使用手机功能接人互联网

限制/允许使用手机发送接受信息功能

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

限制或使用本地连接

限制/允许使用手机拍照或录音

限制/允许使用手机读取用户数据

– 限制/允许使用手机写人用户数据

检测App的用户授权级别、数据泄漏、非法授权访问等

安装与卸载安全性 

应用程序应能正确安装到设备驱动程序上

能够在安装设备驱动程序上找到应用程序的相应图标

是否包含数字签名信息

–JAD文件和JAR包中包含的所有托管属性及其值必需是正确的

–JAD文件显示的资料内容与应用程序显示的资料内容应一致

安装路径应能指定

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

卸载是否安全,其安装进去的文件是否全部卸载

卸载用户使用过程中产生的文件是否有提示

其修改的配置信息是否复原

卸载是否影响其他软件的功能

卸载应该移除所有的文件

验证App是否能正确安装、运行、卸载,以及操作过程和操作前后对系统资源的使用情况,主要包括:

检测软件是否能正确安装、运行、卸载;大量真机多维度测试,兼容性测试无死角

安装、卸载、更新错误报告;包含安装、卸载、高/低版本覆盖安装

用于检测的安全软件包括:百度手机管家、LBEQQ手机管家、网秦、安卓优化大师

数据安全性 

当将密码或其他的敏感数据输人到应用程序时,其不会被储存在设备中,同时密码也不会被解码

输人的密码将不以明文形式进行显示

密码,信用卡明细,或其他的敏感数据将不被储存在它们预输人的位置上

不同的应用程序的个人身份证或密码长度必需至少在4个数字长度之间

当应用程序处理信用卡明细,或其他的敏感数据时,不以明文形式将数据写到其它单独的文件或者临时文件中。以

防止应用程序异常终止而又没有侧除它的临时文件,文件可能遭受人侵者的袭击,然后读取这些数据信息。

当将敏感数据输人到应用程序时,其不会被储存在设备中

备份应该加密,恢复数据应考虑恢复过程的异常.

通讯安全性

1)在运行其软件过程中,如果有来电、SMSEMSMMS、蓝牙、红外等通讯或充电时,是

否能暂停程序,优先处理通信,并在处理完毕后能正常恢复软件,继续其原来的功能

2)当创立连接时,应用程序能够处理因为网络连接中断,进而告诉用户连接中断的情况

3)应能处理通讯延时或中断

4)应用程序将保持工作到通讯超时,进而发送给用户一个错误信息指示有连接错误

5)应能处理网络异常和及时将异常情况通报用户

6)应用程序关闭或网络连接不再使用时应及时关闭)断开

 

.用户体验测试

以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。通过

不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性

升产品的潜在客户满意度。

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

2)是否滥用用户引导。

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

掉按钮,否则会给用户误导

4)菜单层次是否太深

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

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

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

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

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

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

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

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

 

注意点:

 

数据更新

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

1)需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动+自动刷新。

2)确定哪些地方从后台切换回前台时需要进行数据更新。

3)根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更新。

4)确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才能有针对性的进行相应测试。

5)检查有数据交换的地方,均有相应的异常处理。

离线浏览

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

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

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

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

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

5)在对服务端的数据有更新时会给予离线的相应提示

定位、照相机服务

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

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

3)当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。

4)测试定位、照相机服务时,需要采用真机进行测试。

时间测试

客户端可以自行设置手机的时区、时间,因此需要校验该设置对app的影响。

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

PUSH测试

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

2)检查不接受推送消息时,检查用户不会再接收到push.

3)如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到PUSH

在非免打扰时间段,用户能正常收到push

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

5)测试push时,需要采用真机进行测试。

手势操作测试

1)手机开锁屏对运行中的App的影响

2)切换网络对运行中的App的影响

3)运行中的App前后台切换的影响

4)多个运行中的App的切换

5App运行时关机

6App运行时重启系统

7App运行时充电

8App运行时kill掉进程再打开

 

猜你喜欢

转载自blog.csdn.net/Zyy_921/article/details/82965171