9.2 APP测试流程

APP的整个研发周期一般在2~3个月左右,具体根据产品复杂度来确定,测试周期一般是1~3周左右,要求测试工程师熟悉APP的整个测试的流程和方法,APP的测试流程如下:

1、计划阶段

要确认产品的需求文档、原型设计、接口文件以及相关的说明文档,根据这些文档规划项目的测试计划,整理测试思路、最后确认测试设备(Android和ISO不同版本的真机)以及测试工具。

2、设计阶段

通常根据业务流程结合用例设计方法来设计测试用例,然后在项目组内召开用例评审会,评审通过后将测试用例进行归档。

3、执行阶段

为了测试数据的准确,通常都是使用实体机执行测试用例。如果发现Bug经确认后在缺陷管理工具条件Bug,等待开发修复,然后再进行回归测试,如果回归测试不通过,重新激活Bug;如果回归测试通过,将Bug状态修改为关闭状态;如果开发人员拒绝修改Bug,则进行沟通交流,还可以在项目组内开会讨论。

4、评估报告阶段

对遗留的Bug进行风险评估,并给出处理方式以及意见,最后编写测试报告待项目上线后进行测试总结。

9.3 APP测试方法

要做好APP测试,首先要了解Android与IOS操作系统的区别,再熟悉APP测试的方法,才能更全面进行测试,建议采用真机进行测试。

9.3.1 Android与IOS

Android现归属Google,它的内核是Linux,其应用程序都是用Java编程语言来编写,由于Android的运行机制采用虚拟机,系统需要占用大量内存来换取执行速度,再加上不定期的内存自动回收机制,从而导致出现卡顿的现象。IOS是苹果公司推出的封闭式手机操作系统,它指定使用的一种开发语言Objective-c语言。它的运行机制采用沙盒运行,整个运行过程中不需要虚拟机,所以相比Android来看其执行效率要高一点。

由于Android采用了开发的策略,所以很多厂商对其进行了订制。使得Android手机在设计上比IOS变的多样化,但是同时带来了安全隐患,也就是说在测试APP软件时,Android要比IOS要在安全、兼容性、考虑的多一些,基于市面上的辅助工具也比IOS要应用广泛一些,Android系统的版本可升可降,而IOS系统的版本只能升级(越狱除外)

9.3.2  UI 测试

UI测试即用户界面测试,具体测试方法如下:

1)首先确保UI界面设计符合国家的、行业的、企业的标准规范

2)关注窗口、菜单、对话框以及按钮控件的布局、风格是否满足用户要求

3)不同页面中控件大小、风格是否一致

4)页面中颜色的搭配是否合理,整体的颜色不宜过多。

5)文字的提示是否友好是否存在敏感词、关键词等;

6)操作是否简单、人性化、是否有帮助指引;

7)自适应界面设zhu计、内容是否根据窗口的大小自适应调整

8)图片是否涉及版权、隐私、专利等问题。

9.3.3 功能测试

就是验证各个功能是否与需求实现一致,可以从以下几个方面进行测试;

1、安装卸载

1)在不同的操作系统下验证安装卸载是否正常,如Android、IOS等;

2)软件是否可以通过第三方工具进行安装、卸载

3)安装卸载过程中是否可以取消

4)安装卸载过程中出现异常处理是否妥当、如重启、死机、断电、断网等

5)安装过程中空间不足是否有提示信息

6)安装文件是否写到指定的目录里,卸载后所有的文件以及文件夹是否全部删除。

7)卸载后是否可以重新安装,安装后数据是否同步,功能是否正常

8)重复安装是否会有提示信息

9)直接卸载程序是否有提示信息

2、启动运行

1)安装后启动软件测试功能是否可以正常运行

2)首次打开软件是否有访问提示,如允许访问通讯录、获取地理位置等;

3)首次启动运行时速度是否满足要求,页面切换之间是否流畅

3、注册登陆

1)注册时要考虑用户名和密码长度、格式是否有限制或规则要求等;

2)重名注册是是否有提示信息;

3)注册成功后,用户是否可以正常登陆

4)软件是否有快捷登陆,如手机码、获取验证码之间进行登陆;

5)是否支持第三方账号登陆,如QQ、微信、微博等账号;

6)登陆时密码输入错误次数有没有限制;

7)登陆时网络中断是否会友好提示;

8)APP是否实现免登录功能

9)当用户主动退出后,下次启动APP应切换到登录界面。

4、前后台切换

1)APP切换到后台,再次返回APP时,是否停留在上一次操作的界面;

2)APP切换到后台,再次返回APP时,功能是否正常,数据是否更新;

3)手机锁屏后,再解锁进入APP,功能是否正常,数据是否更新;

4)出现提示信息后,切换到后台,再次返回APP,检测提示信息是否存在;

5)多个APP软件之间切换,功能是否正常,数据是否更新;

6)使用APP时,与手机功能的交互测试,如来电话、收短信、闹钟等。

5、升级更新

1)当APP有新版本时,是否有关系提示信息;

2)当版本为非强制升级更新时,不更新是否可以正常使用;

3)当不更新退出后,下次启动APP,是否仍然有提示更新信息;

4)设置APP软件自动升级更新时,在无Wifi的情况下,是否自动更新;

5)当版本为强制更新时,不更新是否可以正常使用;

6)升级更新后功能是否正常使用,数据是否会同步

6、异常测试

1)电量测试、如电量10%、50%、90%时,验证APP功能是否正常

2)低电量提示时,验证APP功能是否正常;

3)充电、拔电时、验证APP功能是否正常;

4)弱网测试,模拟2G、3G、4G、5G、WIFI时,验证APP功能是否正常;

5)模拟2G、3G、4G、5G、WIFI之间的切换,验证APP功能是否正常;

6)离线测试,检查APP是否支持离线浏览;

7)Push测试,检查用户在免打扰模式下能否接受Push

9.3.4性能测试

APP的性能测试分手机端和服务端的性能

1、手机端的性能

主要检测资源问题,如CPU.内的占用、耗电量、流量的情况。

(1)CPU占用

在使用APP软件时,如果CPU占用率低于20%表示为最佳状态,如果CPU占用在20%~60%之间表示资源使用比较稳定,如果CPU占用率在60%~80%之间表示资源使用饱和,如果CPU占用率超过80%属于性能的瓶颈,必须尽快进行资源调整与优化。

(2)内存使用

手机的内存是非常的有限,要合理的申请内存使用,以免致内存溢出;另一方面要及时释放内存,以免发生内存泄露。不合理使用内存,经常会造成APP软件出现无响应、死机、奔溃、闪退等现象。

(3)耗电量

在使用APP软件时,必须要检查APP的电量使用,以免导致手机耗电发热,带来不良的影响。

(4)流量的使用

进行APP软件时,经常遇到重复请求,响应慢等各种情况。在测试时需要注意不同的网络下,浏览的使用。可以借助一些Monkey工具来检测Android手机端的性能问题。

2、服务端性能

跟Web性能大同小异,主要是模拟大量手机用户调用接口对服务器产生负载,可以使用工具,进行并发测试、负载测试、压力测试等。工具在后面小节介绍。

9.3.5安全测试

移动APP存在一个非常重要的问题就是安全问题,即用户的隐私泄露。针对APP的安全测试可以参考以下几个方面。

1、安装包安全性

1)首先验证安装包是否对签名进行了校验,以防被恶意第三方应用覆盖安装等。

2)开发人员是否对源代码进行混淆,以免被反编译软件查看源代码;

3)用户隐私,特别是否访问通讯录,需要对特定权限进行检查。

2、用户安全性

1)用户拨打电话、发短信、连接网络等是否存在扣费的风险;

2)用户密码在传输中是否进行了加密,在数据库中存储是否进行了加密;

3)免登陆是否设置了过期时间;

4)用户的账号、密码等敏感数据是否存储在设备上;

5)当用户注销账号时需要身份验证的接口是否可以调用;

6)对Cookie的使用是否设置了合理的过期时间;

3、数据安全性

1)当用户的敏感数据都是否写到日志或配置文件中;

2)当用户使用敏感数据时是否给用户提示了谢谢或安全警告;

3)当输入敏感数据时是否支持第三方输入法输入;

4)用户输入的数据是否进行了数据合法性的校验;、

5)在含有敏感数据的连接中是否使用了安全通信,如HTTPS;

4、通信安全性

1)所有手机的功能应优先处理,如接电话、收短信等;

2)当网络中断或出现异常时需要给用户网络异常的提示;

5、服务端安全性

主要关注接口,其安全性跟Web端的安全性类似,主要考虑SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造以及越权访问等。

9.3.6  兼容性测试

APP兼容性测试是一个耗时、耗人力、而且成本很高的测试工作,且APP兼容性又是一项必须要进行的测试活动,测试时主要考虑手机端的软、硬件兼容性,一方面要考虑与主流APP的兼容性;另一方面又有考虑手机设备的兼容性,如不同品牌的手机、不同的操作系统、不同的手机屏幕分辨率等。

具体的测试方法可以使用模拟器来进行模拟不同手机品牌、系统、分辨率进行测试,还可以借助第三方工具(如Spider工具)以及云测试平台来进行测试。

9.3.7   接口测试

不管是Web端还是APP接口,其测试的方法思路大致相同(参考Web接口测试)

9.3.8  用户体验测

体验可以从以下几点考虑;

1)UI界面的设计,从用户视觉评价产品;

2)使用真机对收集兼容性进行体验测试;

3)用户的指引设计是否合理

4)APP页面跳转设计和深度是否合理

5)体验锁屏、横竖屏的设计以及各种异常操作等。

第九章 APP项目测试(1)相关推荐

  1. 头条App项目测试实战(二)App手工测试流程以及需求分析与评审

    熟悉头条App项目步骤: 业务特性 用户与角色 组织架构图 技术栈 头条App测试流程(一次迭代) 测试流程 需求分析与评审 编写测试计划(测试方案) 设计测试用例与评审 执行测试用例与缺陷跟踪 编写 ...

  2. PMP备考指南之第九章:项目资源管理

    求关注 项目资源管理 第九章 项目资源管理 项目资源管理包括识别.获取和管理所需资源以完成项目的各个过程. 项目资源管理 1. 规划资源管理 1.1 定义 定义如何估算.获取.管理和利用团队以及实物资 ...

  3. PMBOK(第六版) PMP笔记——《九》第九章(项目资源管理)

    第九章 项目资源管理 项目资源管理包括识别.获取和管理所需资源以完成项目的各个过程. 规划资源管理: 1.定义:定义如何估算.获取.管理和利用团队以及实物资源. 2.规划资源管理的工具:数据表现(层级 ...

  4. 现代软件工程 第九章 【项目经理】练习与讨论

    9.5.1  PM们的故事 讲了这么多条条框框,我们还是来讲几个故事吧. A)是不是所有的好功能都是由PM主导,一步一步根据用户需求,按照用户场景设计,然后进行可用性测试等等步骤之后得来的呢? 功能本 ...

  5. Kali Linux 无线渗透测试入门指南 第九章 无线渗透测试方法论

    第十章 WPS 和 探针 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 协议:CC BY-NC-SA 4.0 太阳底下无新事. – 谚语 这一章由新的技巧 ...

  6. 第九章:项目资源管理 - (9.4 建设团队)

    建设团队是提高工作能力,促进团队成员互动,改善团队整体氛围,以提高项目绩效的过程.本过程的主要作用是,改进团队协作.增强人际关系技能.激励员工.减少摩擦以及提升整体项目绩效.过程图如下所示: 项目经理 ...

  7. 第九章:项目资源管理 - (9.1 规划资源管理)

    规划资源管理是定义如何估算.获取.管理和利用团队以及实物资源的过程.本过程的主要作用是,根据项目类型和复杂程度确定适用于项目资源的管理方法和管理程度.本过程仅开展一次或仅在项目的预定义点开展,过程图如 ...

  8. 天蝎项目整机柜服务器技术规范v1.01,第九章 天蝎项目整机柜服务器技术规范v1.01.pdf...

    天蝎项目整机柜服务器解决方案 整机柜服务器解决方案技术规范 Version 1.0 天蝎项目组 2012/4/6 天蝎项目-整机柜服务器解决方案-技术规范version 1.0 文档版本记录 &quo ...

  9. 头条App项目测试实战(七)实名认证功能用例设计

    实名认证 描述:有些功能操作中涉及到多步流程,下面看下在黑马头条中实名认证流程的功能测试.在这个功能点中我们重点关注测试的步骤流程,具体的细节部分(图片上传)将不再考虑. 效果: 测试用例设计与评审 ...

最新文章

  1. php mvc实例下载,php实现简单的MVC框架实例
  2. Silverlight 2 Beta 2发布
  3. spring三: 装配bean( 在xml中进行显式配置, 在java中进行显式配置)
  4. Visual Studio查找搜索类和方法的快捷方法
  5. 无法上网dns转发_苹果笔记本上网很慢怎么回事?macbook无线上网慢的解决方法...
  6. IDEA2020版本如何导入jar包
  7. 【dubbo】消费者Consumer搭建
  8. unity打包android 乱码,Unity3d发布IOS9应用时出现中文乱码的解决方法
  9. Qml文件的两种加载方式
  10. Zedgraph 总结
  11. FastStone Capture:Windows系统下小巧好用的宝藏电脑截图软件
  12. python十折交叉验证
  13. 汉字、图形,Zebra打印机完全解决方案
  14. css 简单写出咸蛋超人
  15. mysql字段提取函数_MySQL 字符串截取函数
  16. Oracle连接pg,pg连接oracle.sql
  17. 最近看到一篇文章拿来跟午饭们分享--养生之道补肾气
  18. 迅捷路由器造成计算机无法上网,迅捷(FAST)300M无线路由器设置后不能上网怎么办?...
  19. 软件质量测试:Jmeter察看结果树的响应数据中的中文显示乱码问题处理
  20. 地下水除铁锰的原理和方法

热门文章

  1. 乌克兰代表团访问爱沙尼亚,学习电子政务
  2. css样式lighter的意思,css常用的属性
  3. 【单片机】2.8 AT89S52单片机的最小应用系统
  4. 为什么谐振时电抗为0_串联谐振试验装置不同种类电抗器参数有何不同
  5. firebird mysql_Firebird数据库的Select语句
  6. Fluka软件Flair中compile无法编译的问题解决
  7. Excel修改已有的加载项程序
  8. 相似性度量方法(欧式距离等各种距离)
  9. 怎么理清自己的编程思路
  10. PotPlayer的官网