• 0
  • 0
分享
  • 初级软件测试工程师必看干货:移动应用测试(下)——软件测试圈
  • 北极 2021-05-08 13:41:37 字数 2283 阅读 2041 收藏 0

移动应用测试类型

移动应用功能测试与B/S或C/S结构的测试方法类似。不同的则是流量测试、兼容性测试、耗电量测试、弱网络测试等。

1.1 功能测试

与B/S或C/S结构测试方法相同,关注用户需求需实现的业务功能。测试需求分析、测试用例设计、执行及缺陷管理与传统测试相同。

1.2 流量测试

用户在享受移动应用带来便利的同时,也因为移动应用的架构特点,需关注流量的耗用。目前移动网络资费相对较高、免费WIFI建设局限,用户需要付费使用流量。一些设计存在缺陷的App,可能频繁在后台联网去服务端获取信息、做出很多不必要的数据请求操作,从而导致大量的流量消耗,导致用户卸载App,造成客户流失,甚至投诉诉讼。因此每一款移动应用在发布前都应该进行流量测试。

常用的流量测试方法有手机抓包、Fiddler抓包和Android自带抓包3种。

  • 手机抓包

在后台系统开发和测试中,借助工具抓取网络包(简称:抓包)进行网络层数据分析,是测试工程师常用的技术手段,常用抓包工具有Wireshark和Tcpdump。需注意的是,使用Tcpdump工具抓包时,被测应用所在设备需获取ROOT权限。

  • Fiddler抓包

利用Fiddler抓取移动应用的数据包,需将被测设备网络与Fiddler主机网络相同,移动设备网络的代理服务器设置为Fiddler主机网络,端口任意设置,但需保证在Fillder主机中未被占用,如图10-3所示。

1.png

图10-3手机端设置代理服务器

在Fiddler中设置与手机端相同的端口8888,如图10-4所示。

2.png

图10-4 Fiddler监控端口设置

通过上述操作,被测应用的网络交互Fiddler都将捕获。

  • Android自身抓包

Android使用ADB通过uid可以查询到流量统计,但被测应用所在的设备需获得Root权限,而且需连接真机。ADB使用方法如下:

proc/Uid_stat/{uid}/tcp_snd 上传流量

proc/Uid_stat/{uid}/tcp_rcv 下载流量

流量测试需关注以下几个测试场景。

  1. 应用首次启动的流量提示。

  2. 应用后台连续运行2小时的流量值。

  3. 应用在运行极限的平均流量值。

  4. 针对场景法涉及的应用主流程方面的测试。

  5. 在首次登陆时的平均值。

1.3 兼容性测试

随着硬件设备发展的迅猛,市面上出现越来越多的移动设备,因此用户使用的环境越加复杂,兼容性测试问题就显得非常常见。移动应用发布之前必须进行严格的兼容性测试。严格来说兼容性测试也称为功能测试,只是移动应用的兼容性,更多考虑的是终端设备的软件及硬件环境。

移动应用实施兼容性测试时,首先需要确定测试机型,因为目前市面的终端设备型号太多太杂,无法做到所有设备的全面覆盖,仅能覆盖到大部分用户使用的机型,对于测试人员而言,可通过一些数据分析公司发布的流行机型来确定测试范围。这里以友盟公司发布的流行机型、系统、分辨率等统计报告作为测试范围参考。

确定了测试范围后,即可实施兼容性测试,通常关注以下几个方面。

  • 操作系统

针对iOS,需要考虑iOS版本8、9、10及最新的11。

针对Android,需考虑4.x、5.x、6.x、7.x及最新的8。

  • 屏幕分辨率

由于显示屏技术不断提升和更新,手机屏幕分辨率也在逐步提升,截止目前,主流机型经历了800*480、960*640、1280*720、1920*1080、2560*1440等几个分辨率。对于iOS,相对简单一些,主要考虑近几代Iphone机型,如6、7、8及x。

如果一个App对屏幕分辨率没有做过处理,那么软件就会出现错位、遮挡、留白、拉伸等各种问题。

  • 硬件系统构架

与苹果不同,各个Android系统应用厂商会定制不同的ROM,因此需考虑被测应用在不同ROM上的表现。如果ROM不兼容则会出现调用相机以及底层服务部兼容的情况。

1.4 耗电量测试

耗电量测试分为硬件检测、软件检测两种。

  • 硬件检测

取掉设备电池,直接连接外部电源,通过外部电源电量监控获取电量数据,但是无法细分每个应用的耗电量情况,如果测试某个应用,需尽可能减少其他应用的耗电干扰。

  • 软件检测

软件检测则相对方便,可监控某个具体应用的耗电量,如业内常用Android电量测试工具Gsam Battery Monitor pro、iOS常用的Energy Diagnostics Instruments。

1.5 弱网络测试

移动应用相比PC应用,前者多数情况下都需要使用网络,并且具有多样性,除了WiFi很多时候都是在移动网络下使用。移动网络通常可能存在信号被屏蔽、基站不稳定、站点接入超限等问题。App需在上述相对复杂的环境下继续工作或保证数据安全,需要在其发布前开展弱网络测试。

  • 外场测试

外场测试,测试人员模拟真实的应用环境,在不同的地址场景下,如隧道、地下室、商场、立交桥、山脚、友商基站等。使用移动2g、3g、4g网络进行测试。这种测试方法真实性强,但成本高。

  • 模拟测试

与外场测试相比,模拟测试成本则低的多。使用网络代理软件,将被测设备和PC连接同一个网络,利用网络代理软件限速功能来实现模拟弱网络。通常模拟2G网络时,下载速度限制在2kb/s-7kb/s。模拟3G网络,网速在20kb/s-200kb/s,模拟4G网络,网速在150kb/s-2M之间。此方法适用于任何手机客户端。

除了上述常用的应用测试关注点之外,还有稳定性测试、安装卸载测试、基准测试等。


作者:weixin_43802541

原文链接:https://blog.csdn.net/weixin_43802541/article/details/115866075


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   测试阶段  1、性能测试需求分析阶段  根据用户使用习惯和实际业务的性能需求,生成性能测试需求调查表  根据性能测试需求及系统重要业务调研,选取典型业务  了解业务模型及业务架构  2、性能测试设计阶段  编写性能测试用例  结合性能测试用例录制/修改/完善测试执行脚本  结合用户应用场景设计性能测试执行场景  3、性能测试执行阶段  利用LoadRunner性能测试工具中的Controller应用,按照并发用户数执行场景,并保存测试结果(Jmeter同理)  利用LoadRunner性能测试工具监控被测试环境下的服务器CPU,内存,磁盘等系统资源的使用情况  在需要的情况下利用第三方监控...
            0 0 881
            分享
          •   最近的工作需要经常和测试打交道,但我并非这个细分领域的行家,看着几千条测试用例和五花八门的测试设备与工具,以及工程师展示的繁复曲线与图表,着实有些眼花缭乱,没太看懂,不由得陷入了深深的思索......  1 T型人才与焦利氏称  陷入思索有两个原因:一是确实没跟上节奏,只能佯装沉思,以掩饰尴尬,保持风度;二是汽车领域的知识太多了,没能力是一说,但也实在没必要事事跟上节奏,守好自己碗里的饭就不错了。  可是,我们不是要构建T型知识结构,成为综合性人才嘛。那怎么办呢?  写到这里,想到多年前的大学物理实验课,绝大多数课意料之内地忘得干干净净,但倒是记住了一堂——焦利氏称,原因是老师说的一句话,...
            0 0 837
            分享
          •   从手工测试到自动化测试,是一个人的兵荒马乱,也是人生的新起点!  以前做软件测试感觉很枯燥无聊,就像流水线一样按照流程要求去做,传统软件测试行业也是以“点点点”的手工测试为主,加上国内软件公司不注重测试,受制于大环境影响等也就给了大众一种测试人员虽然身处IT行业,却是毫无技术可言的工种。到了如今,时代真的变了,最直观的表现莫过于大厂测试人员占比越来越高,甚至测试人员已经超过了开发人员,其次就是招聘要求的提高,越来越要求测试人员拥有七十二变的能力。而在这其中,自动化测试能力是现在手工测试迈向更高技术岗位的必经之路。  大家好,我是狼图腾,我又来了,从3月初到现在,我从视频会议转岗到智能驾驶已...
            0 0 954
            分享
          •  作为一名前端,日常开发过程中除了写业务代码,前后端联调更是重要的一环。但这一环却往往是整个开发中最繁琐也最累人的一环。任谁都想早点下班,然而提升联调效率并不是个纯技术相关的问题,而是需要有良好工作流程的问题。友情提示:(阅读前情简介仅需1分钟,干货部分大约5分钟)前情简介:亲身经历节选Code: 403 “将我踢飞”彼时正处公司切换中台系统的技术栈,以半个sprint周期为单位进行着业务模块的迁移。每一个业务模块验证上线后就会下架 老爷车 中相对应的部分并通知员工基于新的中台系统进行办公。彼时又恰逢数据库扩容和分库分表,接口流转偶有故障为日常开发增添了麻烦。在这个背景下,我当时负责...
            12 12 2359
            分享
          • 自动化入门介绍       实验介绍       本次实验主要介绍什么是自动化测试和自动化测试工具 selenium。然后介绍怎么安装浏览器驱动工具 webdriver,并且开发一个简单的自动化测试脚本,体会自动化测试是怎么实现的。       知识点自动化测试介绍selenium 介绍webdriver 安装第一个脚本开发       自动化测试概念       自动化测试是把以人为驱动的测试行...
            12 12 2021
            分享
      • 51testing软件测试圈微信