单纯从功能测试的层面上来讲的话,APP测试、web测试在流程和功能测试上是没有区别的。
根据两者载体不一样,则区别如下:文章源自玩技e族-https://www.playezu.com/193586.html
一、系统结构方面文章源自玩技e族-https://www.playezu.com/193586.html
web项目,b/s架构,基于浏览器的;web测试只要更新了服务器端,客户端就会同步会更新。文章源自玩技e族-https://www.playezu.com/193586.html
app项目,c/s结构的,必须要有客户端;app修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。文章源自玩技e族-https://www.playezu.com/193586.html
二、性能方面文章源自玩技e族-https://www.playezu.com/193586.html
web项目需监测响应时间、CPU、Memory。文章源自玩技e族-https://www.playezu.com/193586.html
app项目除了监测响应时间、CPU、Memory外,还需监测流量、电量等。文章源自玩技e族-https://www.playezu.com/193586.html
三、兼容方面文章源自玩技e族-https://www.playezu.com/193586.html
web项目:文章源自玩技e族-https://www.playezu.com/193586.html
1.浏览器(火狐、谷歌、IE等)。文章源自玩技e族-https://www.playezu.com/193586.html
2.操作系统(Windows7、Windows10、OSX、Linux等)。
app项目:
1.设备系统:iOS(ipad、iphone)、Android(三星、华为、联想等)、Windows(Win7、Win8)、OSX(Mac)。
2.手机设备可根据手机型号、分辨率不同。
四、相对于Wed项目,APP有专项测试
1.干扰测试:中断,来电,短信,关机,重启等。
2.弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi等)。
3.安装、更新、卸载。
安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况。
卸载:需考虑卸载后是否删除app相关的文件。
更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新。
五、测试工具方面
自动化工具:APP一般使用Appium;Web一般使用Selenium。
性能测试工具:APP一般使用JMeter;Web一般使用LR、JMeter。
1.界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换。
2.安全测试:安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等。
3.边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等。
4.权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等。
5.web测试用一台电脑就可以,而app测试需要测试多台的手机。
六、稳定性测试
1.web项目的稳定性测试更多的是:长时间测试后端服务的接口和前端页面的显示,方法就是长时间跑自动化脚本。
2.app项目的稳定性测试更多的是:长时间测试app页面的显示,方法就是用monkey,monkeyrunner长时间在屏幕上面跑,看是否卡死,闪退,报错或其他异常。
七、业务功能,和用户量方面
1.不同的项目web和app的业务功能有所不同,比如web页面更多的偏向系统管理和运营方面的功能,而移动app更多的偏向浏览,支付下单。
2.不同的项目web和app的用户量有所不同,现在很多用户量都偏向了移动app端。
随着手机应用的不断状态,同一款产品的移动端应用市场占相较PC端也越来越大,那么app与PC端针对这些产品的测试有什么相同与不同之处呢?笔者总结如下:
相同之处
1.针对同一个系统功能的测试,三端所测的业务流程是一样的。
2.一般情况下手机端和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实现设置。
升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。
评论