移动APP测试,除了基础功能测试测试方法外,需要额外关注以下方面:

  • 兼容性测试

  • 流量测试

  • 电量测试

  • 弱网络测试

  • 稳定性测试

  • 安全测试

  • 环境相关测试

兼容性测试

针对App通常会考虑这些方面:

1、操作系统版本

包括Andoird版本,iOS版本

2、屏幕分辨率

android 800*480, 960*640,1280*720(720p),1920*1080(1080p),2560*1440(2k).

对于iOS,考虑最近几代机型对应的分辨率即可.

3、不同厂家的ROM

不同厂家的ROM,大多厂家都对android 系统进行了定制、实际中会遇到例如调用相机和底层服务出现的不兼容问题以及摇一摇遇到的不同手机对于方向和重力传感器灵敏度设置不同的问题.

4、网络类型

网络类型通常考虑wifi,2g,3g4g下的功能情况。另外针对m版网站考虑不同浏览器类型和屏幕分辨率.

流量测试

 

在移动产品的测试中,很有必要对App使用的流量进行度量,大致来说,流量可以从用户使用的的相关性角度分为:一类是用户的操作直接导致的流量消耗;另一类是后台,即在用户没有直接使用情况下的流量消耗。

 

流量的测试方法:

1、基于系统自带功能.

eg android proc/uid_stat/{uid} /tcp_send

android proc/uid_stat/{uid} /tcp_rcv

2、通过API或者系统埋点来获取数据。

3、通用的流量测试方法:手机抓包,或者wifi代理(Fiddler, Charles)。

常见的流量节省方法:

1、数据压缩。

2、压缩包含接口文本数据的压缩,js文件的压缩及图片的压缩。

3、不同数据格式的采用

例如采用JSON格式作为接口数据返回格式通常比XML格式要小。

4、控制访问的频次

这个主要针对后台数据上报,PUSH消息检查等定时机制的。

5、只获取必要的数据

有时候APP一页的内容非常多,而用户可能只会看一部分,过多的从后台拉去数据就是浪费,所以可以采用分屏加载或者懒加载的方式来减少流量消耗。

6、缓存

可将图片,js等数据暂存起来,但由于手机存储空间有限,也需要控制整个缓存大小,并给用户提供清理缓存的选项。

7、针对不同网络类型设计不同的访问策略

有些APP不同的网络类型返回的内容不一样。

电量测试

在电器电池技术没有取得巨大突破前提下,这方面始终会存在一些瓶颈,如果一些App架构设计的不好,或者代码偶缺陷,就可能导致电量消耗比较高,所以电量测试也是很重要的。

工具 GSam Battery Monitor Pro.

弱网络测试

移动互联网产品相比PC互联网产品,有一个特点是前者使用的网络比较多样,除了Wif之外,很多时候是在移动网络下使用的,移动网络遇到的情况又比较复杂,比如地铁、隧道、体育场等。所以网络不稳定的情况是比较容易发生的,很多情况下App的一些问题是在复杂的网络情况下才会暴露,与其让用户发现和投诉这些问题,不如我们在测试阶段尽量模拟这样的网络情况,及早发现和修复这些问题。

工具:

Windows下的Network Delay Simulator

Mac下的Network Link Conditioner

稳定性测试

 

在保证基本功能正确基础之上,App的稳定性就显得非常重要,如果一个App经常出现闪退或者卡死,那么用户体验就会受到很大伤害,在有其他竞争产品的情况下很容易造成用户的流失。

安全测试

 

1、包括安装包的安全测试(能否反编译代码、安装包是否签名,完整性校验,权限设置检查等)。

2、敏感信息测试(数据库,日志,配置文件)。

3、软键盘劫持(金融类APP登录页面的用户名密码输入框)、

账户安全(密码是否明文,密码传输是否加密,账户输入错误次数过多锁定,同时会话提醒, 注销机制)

数据通信安全(关键数据是否散列或加密,关键连接是否使用安全通信,是否对数字证书合法性进行验证,是否校验数据合法性。

4、组件安全测试。

5、服务器端接口测试(SQL注入测试、XSS跨站脚本攻击, CSRF跨站请求伪造,越权访问等)。

环境相关的测试

在实际项目中,有一些缺陷我发现是和App所处的运行环境相关的,所以设计测试的时候,要多考虑这些场景,比如:

1、干扰测试

收到电话、收到短信、收到通知栏消息、无电提示框弹出、第三方安全软件告警弹出。

2、权限测试

一些用户在实际使用App的时候回有意识阻止某些功能。例如有的用户感觉让某个App访问电话本或者相册可能泄漏隐私,就在手机中设置了禁止了该App访问相册的权限。

3、边界测试

手机环境本身也有其边界情况需要在测试中覆盖。常见的场景有:

可用存储空间过少、没有SD卡/双SD卡、飞行模式、系统时间有误(晚于和早于标准时间)、第三方依赖(比如我们的App依赖第三方App,但是现在第三方App没有安装或者版本过低的测试情况)。

4、Android定位测试

用白盒方式模拟

移动APP测试方法总结的更多相关文章

  1. 转摘app测试方法总结

    app测试方法总结   一.安全测试 1.软件权限 1)扣费风险:包括短信.拨打电话.连接网络等. 2)隐私泄露风险:包括访问手机信息.访问联系人信息等. 3)对App的输入有效性校验.认证.授权.数 ...

  2. App测试方法总结

    安全测试   一.安全测试 1.软件权限 1)扣费风险:包括短信.拨打电话.连接网络等. 2)隐私泄露风险:包括访问手机信息.访问联系人信息等. 3)对App的输入有效性校验.认证.授权.数据加密等方 ...

  3. 01- APP移动端测试怎么测试?APP测试方法大全。

    由于智能手机时代来临,很多产品都有了APP,作为一个测试人员掌握APP测试是必要的. 在展开APP测试之前,首先了解一下几个点: 1.基于软件测试框架之上.复习下软件测试框架. 2.框架的内容贯穿于A ...

  4. 微信小程序测试方法总结

    最近的新项目是小程序加web端后台管理 主要找了些文章方便自己使用也分享给大家: 小程序官方文档 https://developers.weixin.qq.com/miniprogram/design ...

  5. 包建强的培训课程(4):App测试深入学习和研究

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  6. H5介绍与测试设计

    近期的项目中接触的基本都为H5的测试工作,从项目初期评审到测试工作的完成过程中,遇到了很多问题是与APP测试方法不太相同的地方,在此希望总结测试过程遇到的问题及新思路给之后会接触到H5测试的同学. 这 ...

  7. Monkey安装与配置教程

    一.JAVA环境的搭建 安装jdk1.8.0_221,完成环境变量的配置 然后再在系统变量中找到Path,添加%JAVA_HOME%\bin;,确定后,按win+r打开运行,输入cmd 在cmd窗口中 ...

  8. APP内的H5页面测试方法, 移动端的浏览器(例如UC浏览器)测试方法

    前言: 用appium做UI自动化,测试APP里面的H5和测试手机浏览器打开的H5的操作流程上是有所区别的.比如要测试APP内嵌的H5需要先操作appium启动APP,然后通过context切到web ...

  9. [原创]App弱网测试方法介绍

    [原创]App弱网测试方法介绍 1 什么是弱网? 弱网就是在非正常网络状态下,用户在访问网络时遭遇到网络延迟或是丢包,造成使用产品时用户体验不佳或反感的场景. 2   为什么要进行弱网测试 简而方之, ...

随机推荐

  1. HDMI转EDP芯片NCS8803简介

    NCS8803 HDMI-to-eDP w/ Scaler Features --Embedded-DisplayPort (eDP) Output 1/2/4-lane eDP @ 1.62/2.7 ...

  2. 帆软的报表系统与泛微OA结合起来,这两个软件麦枫提供了经典的服务。

    一.集成配景泛微OA对企业的代价 泛微协同办公计划能向你供给一个协同的.集成的办公情况,使所有的办公职员都在统一且个性化的信息流派中一路事情, 解脱光阴和地区的限定,实现协同事情与知识治理. Eoco ...

  3. node.js 89行爬虫爬取智联招聘信息

    写在前面的话, .......写个P,直接上效果图.附上源码地址  github/lonhon ok,正文开始,先列出用到的和require的东西: node.js,这个是必须的 request,然发 ...

  4. 云计算的三种服务模式IaaS、PaaS和SaaS的差别

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt363 云服务"现在已经快成了一个家喻户晓的词了.如果你不知道Paa ...

  5. Unity相对于Cocos2d-x的比较

    1.unity:Code in C# or js       cocos:(Code in C++) 2.unity:可以让美工.动画.码农在同一个平台上各司其职(一起玩)       cocos:码 ...

  6. 入侵检测工具之RKHunter & AIDE

    一.AIDE AIDE全称为(Adevanced Intrusion Detection Environment)是一个入侵检测工具,主要用于检查文件的完整性,审计系统中的工具是否被更改过. AIDE ...

  7. React——组件

    一.创建组件 在React中有两种创建组件的方式,分别是函数形式的组件和类形式的组件 //函数形式: function Welcome(props){ return <p>this is ...

  8. 团队作业8——Beta 阶段冲刺4th day

    团队作业8--Beta 阶段冲刺4rd day 一.当天站立式会议   二.每个人的工作 (1)昨天已完成的工作(具体在表格中) 添加了支付功能,并且对支付功能进行了测试 (2)今天计划完成的工作(具 ...

  9. 【Beta】 第三次Daily Scrum Meeting

    一.本次会议为第三次meeting会议 二.时间:10:00AM-10:20AM 地点:禹州楼 三.会议站立式照片 四.今日任务安排 成员 昨日任务 今日任务 林晓芳 查询app提醒功能模块和用户登录 ...

  10. 201521123093 java 第二周学习总结

    201521123093 <java程序设计> 第二周学习总结 一.第二周学习总结 答:(1)关于进一步使用码云管理代码,本周才真正学会了如何将Eclipse里的代码上传到码云中,并且能够 ...