APP测试与WEB测试的区别(异同)
相同点:
功能测试层面而言:APP测试和web测试都是使用相同的测试用例测试方法(都用到等价类划分、边界值分析、正常和异常情况去考虑测试点)
UI界面测试:都需要按照原型图和设计图检查UI,包括布局、风格和按钮等是否简洁美观、是否统一
性能测试(服务器后台的性能测试):加载翻页的速度、登录时长、内存是否溢出等,测试系统的稳定性
安全测试:后台接口安全测试方式基本一致
不同点:
1.系统结构而言:
web项目是基于B/S架构的,不需要更新
app项目是C/S架构的,需要安装客户端,需要更新,所有版本需进行回归
2.兼容性测试:
web项目考虑不同浏览器,电脑系统(macos、windows)
app需要考虑不同操作系统、机型、屏幕大小、分辨率的兼容
3.测试工具方面:app自动化工具使用Appium,Web一般使用Selenium
4.APP基本的功能点测试外,还有属于app的特性测试
A)全新安装/卸载测试,升级测试、第三方软件安装测试等
B)对指纹、手势等独有的登录方式进行测试、单点多点登录
C)触控操作测试,两指三指长按短按、以及横竖屏等的测试
D)消息推送测试,测试在不同的手机推送方式下,用户能否正常接收正常查看推送
E) 中断测试:来电接收信息、低电量等操作会对app应用程序产生影响,所以要考虑人为中断、新任务中断以及意外中断等情况对app进行测试,包括前后台切换、横竖屏切换、待机等测试
F) 权限测试:手机权限测试包括扣费风险、隐私泄露、相册访问、录音定位允许
G) 网络测试:4G与WIFI之间切换网络测试、无网测试、弱网(延迟丢包)测试、离线测试
H) 界面操作(横竖屏)
I) 安全测试:app中安装包是否可反编译代码、防二次打包、防内存篡改等
J)性能测试:需要进行app客户端性能测试,包括app安装卸载响应时间、cpu内存电量的占用,流量、电量消耗,需要使用专门的性能测试工具GT、instrument等工具。
app测试中IOS和Android的区别
1.系统/分辨率:
Android:较多
IOS:较少
2.操作习惯
Android:back键是否被重写,测试点击back反馈是否正确;应用数据从内存迁移到sd卡能否正常运行
IOS:点击home退出
3、手机操作系统
Android:较多
ios:较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);
4.push消息
Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转
IOS:点击home键关闭程序和屏幕锁屏的情况(红点的显示);
5、安装卸载测试
Android:下载和安装的平台和工具和渠道比较多
ios:有app store,iTunes和testflight下载
6、注意点
Android:虚拟机运行机制,第三方程序能后台运行
IOS:沙盒运行机制,第三方程序不能后台运行
沙盒机制:每个app都有自己的文件目录,且只能访问自己的文件目录
-
并发(中断)测试:闹铃弹出框提示,另一个应用的启动、视频音频的播放,来电、用户正在输入等,语音、录音等的播放时强制其他正在播放的要暂停;
-
数据来源的测试:输入,选择、复制、语音输入,安装不同输入法输入等;
-
push(推送)测试:在开关机、待机状态下执行推送,消息先死及其推送跳转的正确性;应用在开发、未打开状态、应用启动且在后台运行的情况下是push显示和跳转否正确;推送消息阅读前后数字的变化是否正确;多条推送的合集的显示和跳转是否正确;
-
分享跳转:分享后的文案是否正确;分享后跳转是否正确,显示的消息来源是否正确;
-
触屏测试:同时触摸不同的位置或者同时进行不同操作,查看客户端的处理情况,是否会crash等
app测试点
1.安装
方式 :apk/应用商店下载
测试点:安装成功能否正常运行,文件是否在对应目录、安装向导、权限申请、内存空间够/不够(提示)、取消安装、中断
2.卸载
卸载提示、直接删除文件、卸载中断、取消卸载、内训变化
3.升级
逐级升级、跨版本升级、降级、强制升级、建议升级、新版本上线,要测试旧版本
4.功能
UI布局、首次/非首次启动、引导页、权限、业务逻辑
注:容易忽视点(导航栏、敏感词、数据更新、离线浏览)
5.性能
启动时间、cpu、gpu、fps、men、耗电量、耗电量、耗流量、卡顿闪退崩溃
6.压力
随机大量无序的点击滑动长按输入
adb shell monkey -P 包名 -v 10000 >xx/monkey.log
7.安全
账户信息加密、支付信息加密、传输过程加密
8.兼容
操作系统、分辨率、手机厂商
注:安卓款式、分辨率多,测试度大
C/S和B/S架构总结
一、C/S(Client Server)两层架构
1、C/S解析:
C是英文单词“Client”的首字母,即客户端的意思,S是英文单词“Server”的首字母,即服务器的意思;C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。
2、两层架构分别是:
第一层:客户端——表示层(界面层与逻辑层)
第二层:服务器模式——数据库层
3、C/S架构流程:
客户机——经过(Request)请求——服务器(即数据库)——数据库根据客户机的请求——进一步(Response)响应回去给客户机
4、C/S概念:
C/S结构是一种软件系统体系结构,这种结构是将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。
比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。
二、B/S(Browser Server)三层架构
1、B/S解析:
B是英文单词“Browser”的首字母,即浏览器的意思;S是英文单词“Server”的首字母,即服务器的意思。B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式。
2、三层架构分别有:
第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能;
第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能;
第三层数据层:主要是接受客户端请求后独立进行各种运算。
3、B/S常用架构流程:
客户机浏览器——经过Http请求——Web服务器——经过查询——数据库服务器——响应查询后返回结果——Web服务器——再经过Http响应——返回给客户机浏览器
4、B/S概念:
B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。
你只需要在自己电脑或手机上安装一个浏览器,就可以通过web Server与数据库进行数据交互。在手机或电脑上用浏览器上百度搜索、看新闻等就是在使用“B/S”结构进行数据交互。
“B/S”结构的好处:
维护和升级方式更简单,客户端是浏览器,基本不需要维护,只需要维护升级服务器端就可以。
C/S与B/S的结构区别
1、硬件环境不同,C/S通常是建立在专用的网络上,小范围的网络环境。而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行;
2、安全要求不同,C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强;而B/S结构面向的范围广,所以安全性比较低;
3、系统维护不同,B/S结构维护升级比较简单,而C/S结构维护升级相对困难。