Ⅰ 手机app如何全方位测试
安全性测试,是app专项测试中必须要做的一环,简单列举下目前常做的测试类别:
1. 用户隐私
检查是否在本地保存用户密码,无论加密与否
检查敏感的隐私信息,如聊天记录、关系链、银行账号等是否进行加密
检查是否将系统文件、配置文件明文保存在外部设备上
部分需要存储到外部设备的信息,需要每次使用前都判断信息是否被篡改
2. 文件权限
检查App所在的目录,其权限必须为不允许其他组成员读写
3. 网络通讯
检查敏感信息在网络传输中是否做了加密处理,重要数据要采用TLS或者SSL
4. 运行时解释保护
对于嵌有解释器的软件,检查是否存在XSS、SQL注入漏洞
使用webiew的App,检查是否存在URL欺骗漏洞
5. Android组件权限保护
禁止App内部组件被任意第三方程序调用。
若需要供外部调用的组件,应检查对调用者是否做了签名限制
6. 升级
检查是否对升级包的完整性、合法性进行了校验,避免升级包被劫持
7. 3rd库
如果使用了第三方库,需要跟进第三方库的更新
Ⅱ 如何测试app软件测试在手机中的使用情况
手机app测试主要有以下:
1.安全测试
1)软件权限
-扣费风险:包括发送短信、拨打电话、连接网络等 -隐私泄露风险:包括访问手机信息、访问联系人信息等 -新增风险项
2)开发者官方权限列表信息比对分析 2.安装、运行、卸载测试
验证App是否能正确安装、运行、卸载,以及操作过程和操作前后对系统资源的使用情况,主要包括:
1)检测软件是否能正确安装、运行、卸载; 2)安装、卸载、更新错误报告; 3)其他辅助信息: -位置和文件夹是否合理; -组件是否正确注册或删除;
-评估操作前后,CPU、Memory(内存占用)、Storage(磁盘占用)等系统资源的使用情况。 3.UI测试
测试用户界面(如菜单、对话框、窗口和其它可视控件)布局、风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。 4.功能测试
根据软件说明或用户需求验证App的各个功能实现,采用如下方法实现并评估功能测试过程:
1)采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼App的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准(若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或规则)。 2)根据被测功能点的特性列举出相应类型的测试用例对其进行覆盖,如:涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。 3)在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。 5.性能测试
评估App的时间和空间特性
1)极限测试:在各种边界压力情况下(如电池、存储、网速等),验证App是否能正确响应。
2)响应能力测试:测试App中的各类操作是否满足用户响应时间要求 3)压力测试:反复/长期操作下,系统资源是否占用异常; 4)性能评估:评估典型用户应用场景下,系统资源的使用情况。
5)Benchmark测试(基线测试):与竞争产品的Benchmarking,产品演变对比测试等。 6.中断测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法,如:App在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。 7.兼容测试
主要测试内部和外部兼容性,包括:
与本地及主流App是否兼容; 检验在各种网络连接下(WiFi、GSM、GPRS、EDGE、WCDMA、CDMA1x、CDMA2000、HSPDA等),App的数据和运用是否正确;
与各种设备是否兼容(若有跨系统支持则需要检验是否在各系统下,各种行为是否一致)。
8.安全测试
安全测试显得尤为重要,粗心、不谨慎的数据存储或传输方式使得非法、恶意目的有可乘之机。
智能终端安全涉及各信息交互、存储接点,借鉴于网络传输和相关安全测试经验,App安全测试大概划分为以下几类:
1)从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准/行业标准评估App的安全特性;
2)借鉴在Web App和网络安全测试的一些成功经验在智能终端App测试中进行裁减或适配;
3)检测App的用户授权级别,数据泄漏,非法授权访问等;
4)对App的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测,以期发现潜在的安全问题;
5)基于各种通信协议或相应的行业安全标准检视App是否满足相应的要求
Ⅲ 软件测试必学基本理论知识-APP测试
业务功能测试
APP专项测试(兼容性测试、安装、卸载、升级、交叉事件、Push消息推送、性能测试、用户体验、极限、边界、权限
手机型号、操作系统、分辨率(Android:1080x1920,720x1280;IOS:2208x1242,1334x750)尺寸(4.7,5.5)、网络环境(Wi-Fi、2G、3G、4G、5G)
拨打接听电话
接收/发送短信
插拔耳机
网络切换
1.一定数量的真机上进行
2.借助testin等云平台
3.模拟器:Xcode、Genymotion(http://www.genymotion.net/)
第三方在线统计排名(腾讯移动分析、网络研究院)
官方数据(Android、IOS官网)
埋点技术(技术手段)
push消息应该按设定规则发送特定用户
APP在后台运行时,应能正常收到其push消息
设备锁屏状态下,应能正常收到APP的push消息
设置网络段断开后再一次建立连接是,改局备应能收到push消息
系统设置不接收APP通知消息时,用户应该不再接收push消息
安装渠道:Android-应用商城、IOS-APP Store
正常情况 :
正常安装测试、检查是否安装成功
APP本本覆盖测试
回退版本测试
在不同型号、系统、屏幕大小、分辨率上的手机进行安装
安装完成后能否正常启动应用程序
异常情况
安装时内存不足
安装过程中的意外情况(强行断电、断网、来电话、查看信息)等
能否取消安装
正常情况:
用自己的卸载程序进行卸载,检查是否卸载干净
用第三方工具,检查是否卸载干净
不同系统、硬件环境、网络环境下进行卸载
卸载后再次安装、是否正常使用
异常情况:
卸载中出现异常情况能否恢复(比如手机关机、内存、没电等),程序是否还能运行
卸载后是否有残留,是否能够再次进行安装
是否可以取消卸载,软件恢复使用
更新版本需要提示用户
考虑是否进行强制升级(软件存在严重缺陷、软件不能够向前兼容)
是否能够跨版本升级
性能测试指标:内存、CPU、流量、电量、启动速度、界面切换速度
内存溢出与内存泄漏
1.内存溢出out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现溢出
2.内存泄漏out of leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏危害可以忽略,但内存泄漏堆积后果很严重,无论多少内存,迟早会被占光
3.二者的关系:内存泄漏会导致内存溢出
冷启动与热启动
1.指app被后台杀死后,在这个状态打开app,这种启动方核毁式叫做冷启动
2.热启动:指app没有被后台杀死,仍然在后台运行,通常我们再次打开这个app,这种启动方式叫做热启动
用户体验
边界(极限测试)
权限测试
App的兼容性测试尤为重要:由于手机厂商生产的手机型号及相关软硬件存在千千万万的差异性,进而APP端需要着重考虑分辨率,系统版本,尺寸,主流机型等
App性能测试指标不一样,除了需要和web一样考虑APP客户端的性能外,我们还需要考虑电量、流量的消耗、GPU渲染等
APP网络测试场景的复杂性:如2G、3G、4G、5G、Wi-Fi、弱网环境等
APP基于手机载体存在的交叉事件测试、前后台切换,安装/卸载/升级测试
APP基于手机载体特有的一些用户操作习惯类测试,如横竖屏切换,多点触控,事件触发区域等
内测发布平台
工作流程:1.开发将打好的程序包上传到内测发布平台上2.内测分发平台基于上传的安装包生成唯一的二维码3.测试扫描二维码即可进行下载,安装并测试
蒲公英: https://www.pgyer.com/
fir.im(https://fir.im/
线上发腊信布平台:
应用商店、APP Store
前置基础:瀑布模型(不适用快速变化的需求)、快速原型
互联网特点:请求创新、要求的高度不确定性
移动互联网的解决方案:快速的反馈机制、快速试错
基本可以和快速原型划等号。
scrum:提供了一套基于团队的敏捷方法。
角色:产品负责人(整理需求)、项目经理、开发团队
输出物:产品待办列表、迭代待办列表、产品增量(可工作的软件)
5个活动:迭代、迭代计划、每日站会、评审会、迭代回顾
1.需求分析与评审
2.编写测试计划(测试方案)
3.设计测试用例与评审
4.执行测试用例与缺陷跟踪
5.编写测试报告
兼容测试
交叉事件
弱网测试
极限边界
权限测试
删除请求:remove all
设置过滤
查看请求和响应数据
修改响应数据
辅助定位bug
构建模拟测试场景
APP弱网模拟测试
前端性能分析及优化
重定向、API接口测试
为什么抓包?
通过抓包工具截取观察网站的请求信息,帮助我们更深入了解系统
通过用抓包工具截取,观察网站的请求与返回信息,帮助我们进行bug的定位与描述
步骤
1.打开Fiddler,设置代理(tools-option-connection-勾选Allow remote computers to connect,并允许远程连接
2.手机连接电脑的热点网络或者在同一个局域网内
3.手机网络连接中,设置网络代理,IP是电脑的同网段IP地址,端口是8888
4.手机访问APP或者用手机浏览器访问网络,电脑Fiddler观察抓包情况
1.概念
在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/Edge/4G/Wi-Fi
等多种手机网络连接方式,不同的协议、不同的制式、不同的速率使移动应用运行的场景更加丰富。
2.原理
通过Fiddler来模拟限速,提供客户端请求前和服务器响应前的回调接口,Fiddler的模拟限速是在客户端请求前自定义限速,通过延迟发送数据或接收数据的时间来限制网络的下载和上传速度,从而达到限速的效果
打开网速模拟模式开关(Rules-Performances-simulate Modem speeds)
自定义网络:rules-customize rules
(知识就是力量,我将会持续更新软件测试相关知识哟 )