当前位置:网站首页>第九章 APP项目测试(1)
第九章 APP项目测试(1)
2022-06-23 03:56:00 【zhhzc】
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)体验锁屏、横竖屏的设计以及各种异常操作等。
边栏推荐
- vmware网络连接出错Unit network.service not found
- Rtklib new version 2.4.3 B34 test comparison
- 【Laravel系列7.8】广播系统
- Swiftui 2.0 course notes Chapter 5
- 百度飞桨“万有引力”2022首站落地苏州,全面启动中小企业赋能计划
- 大環境不好難找工作?三面阿裏,幸好做足了准備,已拿offer
- BGP第二次试验
- The tiobe programming language ranking is an indicator of the popular trend of programming languages
- 投资风险管理
- Getting started with the shutter AppBar
猜你喜欢

【微服务|Nacos】Nacos实现多环境和多租户的数据隔离

Mysql入门学习(一)之语法

VMware network connection error unit network service not found

TIOBE 编程语言排行榜是编程语言流行趋势的一个指标

servlet自学笔记

Ams:startactivity desktop launch application

Missing essential plugin

APP自动化测试-Appium进阶

The propeller framework v2.3 releases the highly reusable operator library Phi! Restructure development paradigm to reduce cost and increase efficiency

A bug in rtklib2.4.3 B34 single point positioning
随机推荐
Three methods of GNSS velocity calculation
UI automation positioning edge -xpath actual combat
MMDeploy快速安装及使用说明
Hcip fifth operation
基金业绩评价
STP总结
小时候 觉得爸爸就是天 无所不能~
(IntelliJ) plug in background image plus
AMS:startActivity桌面启动应用
I have been engaged in software testing for 5 years and have changed jobs for 3 times. I have understood the field of software testing
Cookie session explanation
A compiler related bug in rtklib2.4.3 B34
Missing essential plugin
MVC three-tier architecture
第十六届东北地区大学生程序设计竞赛(热身赛)B-String Value(字符串dp)
[C language] keyword
Complete the primary school project in 3 days, and teach you to complete the weather broadcast system hand in hand!
Getting started with the shutter AppBar
C'est dur de trouver un emploi? Ali des trois côtés, heureusement qu'il s'est bien préparé et qu'il a pris un produit.
stm32时钟树错误配置导致 开机进入硬中断