APP测试和Web测试的区别

上一篇 / 下一篇  2020-09-28 09:37:18 / 个人分类:app测试和web测试

App测试web测试的区别

 单纯从功能测试的层面上来讲的话,APP 测试、web 测试 在流程和功能测试上是没有区别的

根据两者载体不一样,则区别如下:

1、系统结构方面

web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步会更新

app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍

2、性能方面

web项目 需监测 响应时间、CPU、Memory

app项目 除了监测 响应时间、CPU、Memory外,还需监测流量、电量等

3、兼容方面

web项目:

1. 浏览器(火狐、谷歌、IE等)

2. 操作系统(Windows7、Windows10、OSX、Linux等)

app项目:

1. 设备系统: iOS(ipad、iphone)、Android三星华为、联想等) 、Windows(Win7、Win8)、OSX(Mac)

2. 手机设备可根据 手机型号、分辨率不同

4、相对于 Wed 项目,APP有专项测试

1. 干扰测试:中断,来电,短信,关机,重启等

2. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

3. 安装、更新、卸载

安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况

卸载:需考虑 卸载后是否删除app相关的文件

更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

5、测试工具方面

自动化工具:APP 一般使用 Appium; Web 一般使用 Selenium

性能测试工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter

6. 界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换

7. 安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等

8. 边界测试:可用存储空间少、没有SD/SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等

9. 权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等

 

一、**测试点

以等价类划分和边界值法来分析

1、用户名字和密码都为最大长度 (边界值分析,取上点)

2、用户名字和密码都为最小长度 (边界值分析,取下点)

3、用户名字和密码长度在最大和最小长度之间(边界值分析,取内点)

4、必填项分别为空**

5、用户名最大长度+1(边界值分析,取离点)

6、用户名最小长度-1 (边界值分析,取离点)

7、密码最大长度+1(边界值分析,取离点)

8、密码最小长度-1(边界值 分析,取离点)

9、用户名含有非法字符**(这个可以划分几个无效的等价类,如空格,#等,看需求是否允许)

10、密码含有非法字符**(这个可以划分几个无效的等价类)

11、两次输入密码不一致(如果**时候要输入两次密码,那么这个是必须的)

12、重新**存在的用户

13、以已经**的用户名(改变大小写)来**。(有的需求是区分大小写,有的不区分)

14、看是否支持Tab和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示

15、邮箱地址格式不正确,正确格式 ---@---.com

16、验证码错误(大小写、空值、错误输入等)

 

二、登陆测试点

 

1、 用户名和密码都正确

2、用户名和密码都错误

3、 用户名正确和密码错误

4、 用户名错误和密码正确

5、用户名或密码为空

6、删除的用户名和错误密码

7、删除的用户名和正确密码

8、未**用户名和错误密码

9、用户名或密码中插入空格

10、使用Tab,Enter键是否能登陆

11、写改变用户名或密码的大小登陆

12、用户名和密码中含有全角字符登陆

13、Web系统是否有超时的限制

14、登陆错误次数是否限制

15、密码的安全性是否有强中弱鉴定

 

三、修改密码测试点

 1、不输入旧密码,直接改密码

2、输入错误旧密码

3、不输入确认新密码

4、不输入新密码

5、新密码和确认新密码不一致

6、新密码中有空格

7、新密码为空

8、新密码长度为最大长度

9、新密码为最大长度与最小长度之间

10、新密码长度为最小长度 

11、新密码为最大长度+1

12、新密码为最大长度-1

 13、新密码为最小长度+1

 14、新密码为最小长度-1

 15、新密码为非法字符(如有的密码要求必须是英文和数字组成,如中文汉字)

 16、检查是否支持Tab和Enter键等;密码是否可以复制粘贴;密码是否以* 之类的**符号

 17、检查密码是否区分大小写,新密码中英文小写,确认密码中英文大写.

 18、新密码与旧密码一样能否修改成功。

 

四、添加测试点

 

1、要添加的数据项均合理,检查数据库中是否添加了相应的数据

 2、留出一个必填数据为空

 3、按照边界值等价类设计测试用例的原则设计其他输入项的测试用例

 4、不符合要求的地方要有错误提示

 5、是否支持table键

 6、按enter是否能保存

 7、若提示不能保存,也要察看数据库里是否多了一条数据

 

五、 删除测试点

 1、删除一个数据库中存在的数据,然后查看数据库中是否删除

 2、删除一个数据库中并不存在的数据,看否有错误提示,并且数据库中没有数据被删除

 3、输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除。

 4、输入的正确数据前加空格,看是否能正确删除数据

 5、什么也不输入

 6、是否指出table键

 7、是否支持enter键

 

 六、查询测试点

 精确查询:

 1、输入的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据

 2、输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据

 3、输入格式或范围不符合要求的数据,看是否有错误提示

 4、输入数据库中不存在的数据

 5、不输入任何数据

 6、是否支持table键

 7、是否支持enter键

 模糊查询:

 在精确查询的基础上加上以下一点:

 1、输入一些字符,看是否能查出数据库中所有的相关信息

 功能测试自动化 

 a) 轻量接口自动化测试 

jmeter, 

b) APP UI层面的自动化 

android:UI Automator Viewer,Android Junit,Instrumentation,UIAutomator, 

iOS:基于Instrument的iOS UI自动化,

性能测试 

a) Web前端性能测试 

网络抓包工具:Wireshark 

网页文件大小 

webpagetest 

pagespeed insight 

chrome adb 

b) APP端性能测试 

Android内存占用分析:MAT 

iOS内存问题分析:ARC模式 

Android WebView性能分析: 

iOS WebView性能分析 

c) 后台服务性能测试 

负载,压力,耐久性 

可拓展性,基准 

工具:apacheAB,Jmeter,LoadRunner

专项测试 

a) 兼容性测试 

手工测试:操作系统,分辨率,rom,网络类型 

云平台:testin,脚本编写,Android。 

b) 流量测试 

Android自带的流量管理, 

iOS自带的Network 

tcpdump抓包 

WiFi代理抓包:Fiddler 

流量节省方法:压缩数据,json优于xml;WebP优于传统的JPG,PNG;控制访问的频次;只获取必要的数据;缓存; 

c) 电量测试 

基于测试设备的方法,购买电量表进行测试。 

GSam Battery Monitoe Pro 

iOS基于Instrument Energy工具 

d) 弱网络测试 

手机自带的网络状况模拟工具 

基于代理的弱网络的模拟

工具:windows:Network Delay Simulator 

Mac:Network Link Conditioner

 随着手机应用的不断状态,同一款产品的移动端应用市场占相较PC端也越来越大,那么app与PC端针对这些产品的测试有什么相同与不同之处呢?笔者总结如下:

a、首先谈一谈相同之处

 一,针对同一个系统功能的测试,三端所测的业务流程是一样的

 二,一般情况下手机端和PC端都对应一套后台服务,比如说笔者公司所开发的互联网金融平台,整个平台做了分布式服务架构,后台服务包括用户服务、交易服务、产品服务等。PC和手机端测试以上三个流程时,调用的都是同一个后台服务。(注:也有一些功能,比如PC与手机端展示不一致,或者有什么特殊处理,这样情况下后台会写两套不同的接口来处理对应的业务需求)

 不同之处

 PC、APP、H5三端测试的相同与不同

一,测试平台(容器)不同:

 pc项目都是在电脑上进行测试的:常见的PC项目架构有BS架构和CS架构的,BS架构就是通过浏览器(browser)请求后台服务(server),后台返回到响应内容显示在浏览器上,常见BS架构的项目有天猫、京东等浏览器输入地址就可以访问。CS架构的项目比如QQ、微信等,需要在电脑下载客户端(client),客户端与后台服务器(server)进行数据传输交互。基于以上信息,PC端测试都是在电脑上,要么是在浏览器上测试要么安装对应客户端。平台都是电脑

 

app测试平台分为安卓和IOS端:安卓测试需要在安卓手机上安装开发提供的apk测试包;

IOS测试需要将手机UUID提供给开发安装ipa测试包进行测试;

H5测试就是测试HTML5页面:在PC或者手机浏览器都可以直接访问H5页面

 

二,兼容性测试不同:

 基于以上测试平台的不同,三端的兼容性也不一样。

 PC的兼容性主要包括各浏览器和不同操作系统,目前笔者所经历的公司主要测试了不同主流版本浏览器的兼容性,还未涉及操作系统层面

 APP的兼容性包含安卓和IOS不同机型,不同版本,不同屏幕都要适配

 H5的兼容性主要测试手机端的不同浏览器的兼容性

 

三,系统架构不一样

 PC和H5端项目尤其是WEB项目对应一个后台服务,所有客户访问的都是同一个后台。上线测试时,直接访问线上地址测试即可

 APP测试虽然对应了一个后台,但是不同的用户可能下载了不同版本的客户端,上线测试时,需要兼容每个版本的测试。

 

四,发布流程不同:

 

PC端每次更新发布,需要将测试通过的包替换线上包,重启服务后立刻生效,访问的就是最新的环境

 H5由于是一些html5网站发布上线后无需重启即可访问

 APP端需要向应用市场发布,安卓发布的市场有很多,应用宝、豌豆荚、应用商店等每个应用都需要单独审核;IOS端应用比较单一就是appstore。从提交、审核到发布会有几天的时间间隔,开发的应用包不会立刻发布。

 

五,专项测试

 除以上不同外,app端还有一些专项测试:

 性能方面:响应时间、流量测试和耗电量测试

 安装测试(PC端web项目不用测试,CS架构的也需要考虑)

 交叉测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件

 操作类型:手势测试、横屏竖屏

 网络测试:包含弱网和网络切换测试,重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟,据说可以用360wifi实现设置。

 升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了


TAG:

 

评分:0

我来说两句

Open Toolbar