当前,APP开发是一个爆炸性的开发趋势,手机APP应用的测试也尤为重要,目前大部分仍处于手动测试状态。 我们知道手机的APP发展必须适应各种各样的设备。 例如,一个Android APP要支持各种版本,不仅需要支持最新版本,还需要支持旧版本。 因此,手动测试需要购买n部安卓手机进行手动测试。 我该如何应对繁杂的手机测试呢? 当然是自动化手机测试。
初学者和经验不足的朋友经常在后台给我发信息。 手机APP功能测试使用什么自动化工具? 这些多测试工具到底用于什么测试? 关于APP测试如何选择自动化测试工具的问题,今天让我们来总结一下。
功能测试
功能测试的第一个基础是分析需求制定测试用例,测试是掌握质量的守卫者,避免漏测的第一步是尽可能制定全面的测试用例。 打好基础再多实践。 测试是一个以经验为导向的职业,从简单的需求入手,制定测试计划,制定和运行用例,让团队知道执行过程及时调整计划,爆发风险和进度是非常重要的。 而且现在是自动化的时代。 可以学习使用一些自动化测试工具进行功能自动化测试。
自动化工具
a )轻量级接口自动化测试
jmeter
b ) APP UI级别的自动化
Android:ui自动查看器、Android Junit、Instrumentation、UIAutomator、
基于IOs:instrument的iOS UI自动化
测试方法
根据软件说明或用户需求验证App各项功能的实现,通过以下方法实施和评估功能测试流程:
1 )运用时间、地点、对象、行为和背景五个要素或业务分析等方法,分析、提取APP用户的使用场景,并与说明或需求进行比较,梳理与内在、外在及非功能直接相关的需求,构建测试点,明确测试标准。
2 )根据测试的功能点特性列出合适类型的测试用例,并将其覆盖。 例如,设计输入的位置必须考虑等效、边界、负、异常、不正确、场景回滚、相关测试等测试类型。
3 )在测试实现的各个阶段跟踪测试实现和需求输入的覆盖情况,及时纠正业务或需求理解错误。
性能测试
自动化工具
a ) Web前端性能测试
网络捕获工具: Wireshark
web文件大小
web页面测试
pagespeed insight
chrome adb
b ) APP侧性能测试
安卓内存利用率分析: MAT
iOS内存问题分析: ARC模式
安卓webview配置文件:
iOS WebView配置文件
c )后台服务性能测试
负荷、压力、耐久性
可扩展性,基准测试
工具: apacheAB、Jmeter、LoadRunner
测试方法:
1 )响应性测试)测试APP中的各种操作是否满足用户的响应时间要求。
卸载APP的响应时间
App各种功能操作的响应时间
2 )压力测试、重复/长期操作是否导致系统资源异常占用。
该APP重复卸载,以检查系统资源是否正常
其他功能执行重复操作,检查系统资源是否正常
专项测试
你的APP启动得快吗? 经常跑步是Crash吗? 有纸箱吗? 这些问题可以通过特别的测试解决。 特殊测试包括CPU、内存、帧率、流量、电量等; 这个工具和方法有很多。 如果能进行特别的测试,在业界很受欢迎。 大型企业在APP发布较大版本时,通常需要进行全面的特殊测试。
a )兼容性测试
手动测试:操作系统、分辨率、rom、网络类型
云平台:测试、脚本编写、安卓。
测试方法
主要测试内部和外部兼容性
1 )是否与本地和主流APP兼容
2 )是否与各种设备兼容,如有交叉系统支持,需检查是否在一个系统下,各项行为是否一致。
不同手机屏幕分辨率的兼容性
不同手机品牌的兼容性
b )流量测试
安卓拥有的流量管理,
iOS附带的网络
tcpdump包
WiFi代理快照: Fiddler
如何节约流量:压缩数据,json优于xml; WebP优于传统的JPG、PNG; 访问频率控制; 仅获取所需数据的缓存;
c )电量测试
根据测试设备的方法,购买电表进行测试。
gsam电池监视器pro
iOS基于Instrument Energy工具
d )弱网络测试
手机附带的网络状况仿真工具
基于agent的弱网络的仿真:
/p>工具:windows:Network Delay Simulator
Mac:Network Link Conditioner
实地测试
e) 稳定性测试
Android:Monkey
模糊测试
f) 安全测试
安装包:反编译,签名,完整性校验,权限。
敏感信息测试:
键盘劫持
账户安全
数据加密
组件安全测试
服务端接口测试:SQL注入,XSS跨站脚本攻击,CSRF跨站请求伪造,越权访问。
g) 环境相关的测试
干扰测试
权限测试
边界情况
定位测试
辅助测试方法
a) 代码静态扫描
Android工具:FindBugs,Lint,
iOS工具:Analyze
b) 代码覆盖率测试
现有框架:无情的小蘑菇,jacoco
c) 接口Mock方法
接口异常模拟
d) AOP测试方法
AspectJ
Aspects
总结:
由于移动互联网的应用太多,更新频繁,无论如何不是个人经验所能覆盖完全的。以上几点,仅从我测试过的APP进行总结,仅为APP应用测试新人提供思考方向。希望看完本文,您对于移动应用的测试多了一些了解。
请关注+私信回复:“测试”就可以免费拿到软件测试学习资料。