• 0
  • 0
分享
  • Android手机应用测试的优秀QA方法——软件测试圈
  • 恬恬圈 2023-10-10 13:35:34 字数 2827 阅读 2027 收藏 0

  移动测试往往是指对于运行在智能手机、平板电脑、以及其他移动设备上的移动应用程序,进行功能性、性能上、安全性、以及可用性等方面的检测过程。通过手动或自动化的测试方式,我们可以确保移动应用程序,既满足业务的需求,又能达到最终用户的期望。

  通常,我们在手机上使用的移动应用程序有如下三种类型:

  · 为特定平台设计的原生应用程序。它们往往配有相应的语言和SDK,而且是通过相应的应用商店被安装的。

  · 由服务器端技术开发的、可以通过移动浏览器访问的移动Web应用。各种响应式网站和渐进式网络应用,都属于此类移动应用。

  · 混合应用虽然可以在移动设备上运行,并通过应用商店来安装,但是它们是用Web技术开发的。与移动Web应用相比,这些应用可以使用到移动设备的内置功能和操作系统的各项服务。

  在本文中,我们将专注于讨论如何测试各种原生的Android移动应用。

  测试Android移动应用的要点

  我们在日常开展针对Android手机应用的测试时,应当注意如下几个方面:

  应用程序安装和卸载

  为了提高并促进用户体验,请确保他们可以轻松地且正确地安装或卸载移动应用。同时,在处理应用的更新方面,您也应当十分谨慎。显然,静默的Android应用更新方式,会让用户因为无法控制自己设备上的内存空间,而拉低整体使用体验。因此,我们需要检查用户是否能够在应用有待更新时,及时收到相应的触发通知。

  在互联网连接不稳定时的应用行为

  互联网连接并不总是稳定流畅的,那么Android应用需要避免在手机出现断网时,发生意外关闭甚至崩溃的情况。为此,测试团队应该检查应用程序是如何处置间歇性连接、移动网络切换(例如从Wi-Fi到4G)、以及完全中断等场景。在这些情况中,手动测试往往更加合适,毕竟这样能够更好地模拟出各种生活中的真实使用场景。

  电池消耗和设备性能

  如您所知,即使用户尝试去手动关闭,大多数移动应用仍然会在Android的后台运行。如果这种消耗设备电池的方式持续下去,那么在某种程度上会缩短用户的使用周期。同时,设备的性能也会随着在后台运行应用程序的增多而下降。对此,QA团队的目标应当是确保当应用程序没有被持续使用时,不再消耗设备的电池。因此,他们需要仔细检查目标应用是否会在后台接收和发送各种数据。

  安全性问题

  虽然Android团队持续提高着安全标准,但是Android的开放性一直是安全漏洞重大的根源之一。与iOS相比,Android的发布政策要宽松许多,几乎每个人都可以在Google Play应用商店中发布自己的应用。因此,一旦用户安装了那些可能存在漏洞和易受攻击的应用程序,就可能会将病毒传播到该设备上的其他应用中。显然,这对于那些包含着敏感数据的应用而言,绝对是一种灾难。那么,为了尽可能地消除所有风险并保障安全态势,经验丰富的QA工程师会在执行功能与性能测试的同时,开展全面的安全性测试。

  Android移动应用的自动化与手动测试

  随着自动化测试日益受到关注,业界对于是否将自动化测试引入Android应用测试,众说纷纭。我的个人经验是:对于那些小而简单的Android移动应用而言,实施自动化测试的意义并不大。不过,如果碰到交付期限紧迫、市场用户群定位广泛、设备品类覆盖范围大等情况的话,您最好采用自动化测试的方式。

  此外,对于性能测试而言,自动化测试要在效率上胜过手动测试。毕竟,它可以让QA团队通过更快、更高效的测试过程,来节省大量宝贵的时间、精力和资金。当然,性能测试与回归测试也应该通过选用目前市场上可用的自动化测试解决方案来实现。在该领域,适合Android应用自动化测试的工具包括:Appium、Android Studio、Selendroid、Espresso和Roboelectric等。

  一般而言,自动化测试在整个测试过程中的最合适份额应当是70-80%。而对于某些特定的场景,手动测试仍是一种不可替代的方式。

  Android移动应用测试的不同阶段

  下面,我将向您介绍Android应用测试的各个主要阶段,以便您流畅地开展工作。

  测试计划

  常言道,全面的测试计划意味着成功了一半。可见,从一开始就定义并设计好移动应用测试的策略是至关重要的。在此阶段,QA团队需要明确测试的范围、功能覆盖率、设备覆盖率、所需资源、以及预计截止日期等要素。并且在此基础上,他们应当决定是否实施测试自动化,以及自动化的具体测试场景。

  测试环境的设置

  该阶段应准备好所有必需的测试设备。例如:是否需要使用模拟器、仿真器、云端设备、以及真实的移动设备。

  测试用例/脚本编写

  QA专家需要在决定测试哪些应用功能的基础上,开始设计与编写测试用例。从广义上讲,测试用例是一些基本的步骤列表,旨在检查应用程序在特定的情况下,是否可以按照预期运行或完成预定的任务。如果团队已经决定了使用自动化测试,去覆盖某些测试场景,那么就可以选用和定制由自动化工具提供的测试脚本。

  测试执行和缺陷报告

  通常,QA专家应从功能性测试开始,以确保Android应用的所有核心功能可以顺畅地运行。他们可以从手动尝试开始,如果被测应用(application under test,AUT)足够稳定的话,则可以转为自动化测试。

  为了评估用户的体验,并了解被测的Android应用是否直观、易用、且没有UI上的缺陷,QA专家应继续开展UI测试和可用性测试。

  接着,QA专家必须执行兼容性测试,以检查应用程序是否在所有可能被安装的设备型号上,都能正常运行。此类测试的必要性在于,可以极大地确保用户在各种可能用到的移动设备上,都能够得到满意的使用感受。

  在完成了功能性测试后,QA专家就需要开展性能测试了。此类测试包括:容量测试、压力测试、稳定性测试、负载测试、峰值测试等。通常,性能测试会检查与估计内、外部流量与负载对于应用所产生的影响。由于只能在特殊工具的帮助下,才能模拟出所需的负载水平,因此性能测试在绝大程度上是需要依赖自动化的。

  为了确保应用程序的安全性能够符合相应的标准,以及满足相关的合规,QA专家还需要开展安全性测试和一致性测试。当然,他们也可以按需进行安装测试、更新测试、中断测试、恢复测试、设备资源测试、以及网络配置测试等专业化的领域。

  最后,QA专家可以按需与真实用户开展Beta/验收测试,以确保最终用户能够很好地接受AUT,并且能够在应用程序发布之前,根据实际情况酌情予以调整。

  报告

  最后一个阶段便是得出结论并提交报告。QA专家通过分析检测到的、有待修复的错误,识别出那些最易受攻击和产生错误的应用模块,并以综合性结果报告的形式,给出该Android应用是否适合发布的判断。


作者:陈峻    

来源:http://www.51testing.com/html/47/n-4481247.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 这个问题是我之前笔试的时候碰到的一道题,今天来详细展开写写解答思路:仔细分析一下这道题目,他的核心考察是循环语句的用法,还有date命令的用法。date命令是linux系统中比较常用的命令,就是跟时间挂钩,包括查看时间,修改时间,转换时间戳格式,加减时间等等。这道题目相对较为宽松,他并没有要求具体的时间格式要求,比如年月日时分秒等,那么我们就打印最常见的时间格式就好。linux中bash的循环用法有很多,包括for循环,while循环和until循环,相对于for循环,前提我们需要知道循环次数,如果想无限循环,只能把次数写大点;当我们只知道停止条件,不知道次数,就需要使用while循环;当重复...
            1 0 5685
            分享
          •   中国电动汽车巨头比亚迪正准备进军加拿大市场。据 Automotive News 报道,比亚迪近期聘请了游说人士,为其进入加拿大市场销售乘用电动汽车、建立新业务以及应对可能征收的电动汽车关税提供咨询。此外,比亚迪已开始与加拿大汽车经销商接洽,为建立销售渠道做准备。  为了应对中国电动汽车行业的快速崛起,美国政府近期采取了对中国进口电动汽车征收了 100% 关税的举措,并采取其他措施鼓励电动汽车相关制造业的本土化和友岸外包。加拿大也在考虑效仿美国和欧盟,对中国电动汽车征收类似的关税。  由于无法直接进入美国市场,中国电动汽车企业可能会寻求绕道进入全球最大的汽车市场之一。有汽车行业分析师表示,这...
            0 0 449
            分享
          •   Jmeter处理响应报文中文乱码  Jmeter在访问发送请求的时候,响应内容如果有中文可能会显示乱码,按照以下步骤可对乱码问题进行解决。  本人jmeter版本:apache-jmeter-5.1.1  问题:响应报文的中文内容乱码显示  原因:jmeter默认按照ISO-8859-1编码格式进行解析。而我们的响应报文却是utf-8的格式  方法一:直接修改jmeter的配置文件  进入Jmeter的bin目录下,找到jmeter.properties文件,以文本形式打开 本例目录:D:\tools\apache-jmeter-5.1.1\bin  找到sampleresult.defa...
            0 0 292
            分享
          • 摘要本文旨在解析并梳理目前API接口渗透测试相关漏洞和测试方法,列出API接口在使用中可能出现的漏洞,针对不同的漏洞采用不同测试方法,提出使用方面的建议。1.引言接口渗透测试是通过用渗透测试的方法测试系统组件间接口的一种测试。接口渗透测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。2.API接口介绍2.1.RPC(远程过程调用)远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无...
            0 2 10862
            分享
          •   中国网络空间安全协会今日发布公告,为规范 App 收集使用个人信息行为,保护个人信息权益,推动形成全社会共同维护个人信息安全的良好环境,中国网络空间安全协会组织指导网上购物、地图导航、浏览器、新闻资讯、在线影音、电子图书、拍摄美化、云盘、短视频、演出票务共 10 类 62 款 App 运营方,对照《中华人民共和国网络安全法》《中华人民共和国个人信息保护法》《常见类型移动互联网应用程序必要个人信息范围规定》等法律法规,重点针对超范围收集个人信息、过度调用敏感权限、权限设置和账号注销不便等个人信息收集使用问题完成了合规整改优化。  62 款 App 运营方已在应用商店上架合规版本(名单及版本号...
            0 0 350
            分享
      • 51testing软件测试圈微信