【51CTO.com速译】移动测试通常指的是对运行在智能手机、平板电脑等移动设备上的移动应用进行功能和性能测试。、安全性和可用性测试过程。通过手动或自动化的测试方法,我们可以确保移动应用程序不仅满足业务需求,而且满足最终用户的期望。通常,我们在手机上使用的移动应用程序分为三种:为特定平台设计的原生应用程序。它们往往配备了相应的语言和SDK,通过相应的应用商店进行安装。使用服务器端技术开发的移动网络应用程序,可以通过移动浏览器访问。各种响应式网站和渐进式网络应用程序都属于此类移动应用程序。混合应用程序可以在移动设备上运行并通过应用程序商店安装,但它们是使用网络技术开发的。与移动网络应用程序相比,这些应用程序可以使用移动设备的内置功能和操作系统的各种服务。在本文中,我们将重点讨论如何测试各种原生Android移动应用程序。Android手机应用测试要点我们在日常测试Android手机应用时要注意以下几个方面:应用程序应用程序。同时,您在处理应用程序更新时应该非常小心。显然,静默的Android应用更新方式会让用户无法控制自己设备上的内存空间,从而降低整体的用户体验。因此,我们需要在应用更新时检查用户是否能及时收到相应的触发通知。网络连接不稳定时的应用行为网络连接并不总是稳定顺畅的,因此Android应用需要避免在手机断网时意外关机甚至死机。为此,测试团队应检查应用程序如何处理间歇性连接、移动网络切换(例如从Wi-Fi到4G)以及完全中断。在这些情况下,人工测试往往更为合适,毕竟可以更好地模拟各种现实生活中的使用场景。电池消耗和设备性能如您所知,即使用户尝试手动关闭大多数移动应用程序,它们仍会在Android的后台运行。如果这种耗尽设备电池的方式继续下去,将会在一定程度上缩短用户的生命周期。同时,随着越来越多的应用程序在后台运行,设备的性能也会下降。在这方面,QA团队的目标应该是确保应用程序在不连续使用时不会耗尽设备的电池。因此,他们需要仔细检查目标应用程序是否会在后台接收和发送各种数据。安全问题尽管Android团队不断完善安全标准,但Android的开放性一直是重大安全漏洞的根源之一。与iOS相比,Android的发布政策要宽松得多,几乎每个人都可以在GooglePlay应用商店发布自己的应用。因此,一旦用户安装了那些潜在易受攻击和易受攻击的应用程序,就有可能将病毒传播到设备上的其他应用程序。显然,这对于包含敏感数据的应用程序来说绝对是一场灾难。然后,为了尽可能排除所有风险,确保安全态势,经验丰富的QA工程师会在进行功能和性能测试的同时,进行全面的安全测试。Android移动应用的自动化和手动测试随着自动化测试越来越受到重视,业界对于是否将自动化测试引入Android应用测试中意见不一。我个人的经验是:对于那些小而简单的Android移动应用,实现自动化测试意义不大。但是,如果遇到交期紧、市场用户群体广、设备品类覆盖面大的情况,最好使用自动化测试。另外,对于性能测试,自动化测试比手动测试效率更高。毕竟,它允许QA团队通过更快、更高效的测试过程来节省大量宝贵的时间、精力和金钱。当然,性能测试和回归测试也应该选择目前市面上的自动化测试方案来实现。在这个领域,适合Android应用自动化测试的工具有:Appium、AndroidStudio、Selendroid、Espresso、Roboelectric等。一般来说,自动化测试在整个测试过程中的占比最合适的应该是70-80%。对于一些特定的场景,人工测试仍然是不可替代的方式。Android移动应用程序测试的不同阶段下面,我将向您介绍Android应用程序测试的每个主要阶段,以便您能够顺利进行。测试计划俗话说,全面的测试计划是成功的一半。可见,从一开始就定义和设计移动应用测试策略是至关重要的。在这个阶段,QA团队需要明确测试范围、功能覆盖范围、设备覆盖范围、所需资源和预期期限。并在此基础上,决定是否实施测试自动化,以及自动化的具体测试场景。测试环境的设置此阶段应准备所有必要的测试设备。例如:是否需要使用仿真器、仿真器、云设备、真实的移动设备。测试用例/脚本编写QA专家需要根据决定要测试哪些应用程序功能来开始设计和编写测试用例。从广义上讲,测试用例是一系列基本步骤,旨在检查应用程序是否可以按预期运行或在特定情况下完成预定任务。如果团队决定使用自动化测试来覆盖某些测试场景,那么他们可以选择和定制自动化工具提供的测试脚本。测试执行和缺陷报告通常,QA专家应该从功能测试开始,以确保Android应用程序的所有核心功能都能顺利运行。如果被测应用程序(AUT)足够稳定,他们可以从手动尝试开始,然后转向自动化测试。为了评估用户体验,了解被测试的安卓应用程序是否直观、易用、没有UI缺陷,QA专家应该继续进行UI测试和可用性测试。接下来,QA专家必须执行兼容性测试,以检查该应用程序是否可以在可能安装它的所有可能的设备型号上正常工作。这类测试的必要性在于,它可以极大地保证用户在可能使用的各种移动设备上都能获得满意的体验。完成功能测试后,QA专家需要进行性能测试。此类测试包括:容量测试、压力测试、稳定性测试、负载测试、峰值测试等。通常,性能测试检查和估计内部和外部流量和负载对应用程序的影响。由于只能借助特殊工具模拟所需的负载水平,因此性能测试在很大程度上依赖于自动化。为了保证应用的安全性能够达到相应的标准,满足相关的合规性,QA专家还需要进行安全测试和一致性测试。当然,他们还可以按需进行安装测试、更新测试、中断测试、恢复测试、设备资源测试、网络配置测试等专业领域的测试。最后,QA专家可以按需与真实用户进行beta/验收测试,确保AUT被最终用户很好地接受,并在应用发布前进行适当调整。报告的最后阶段是得出结论并提交报告。QA专家通过分析检测到的需要修复的错误,识别出最容易受到攻击和产生错误的应用模块,并以综合结果报告的形式给出Android应用是否适合发布的判断。Android应用的常用测试工具在了解了Android应用测试的整体流程之后,我们最后来看看有哪些工具可以帮助QA团队有效的进行不同类型的自动化测试。下面是我为大家总结的常用工具列表:MonkeyRunner--https://developer.android.com/studio/test/monkeyrunnerAppium--https://appium.io/Selendroid--http://selendroid。io/Espresso——https://developer.android.com/training/testing/espressoRobotium——https://github.com/RobotiumTech/robotiumBrowserStack——https://www.browserstack.com/Ranorex——https://www.ranorex.com/UIAutomator--https://developer.android.com/training/testing/ui-automatorOWASPZedAttackProxy--https://owasp.org/www-project-zap/Summary任何应用程序的成功不仅取决于它可以提供的功能集,还取决于它可以提供的服务质量。因此,Android应用程序也不例外。这里所说的质量包括:应用性能、稳定性、安全性、便捷性、用户友好性等诸多方面。对此,经验丰富的QA专家会根据实际情况进行各种测试,对Android应用的软件质量和用户满意度进行彻底检查和提升。虽然定制需要花费他们更多的时间和精力,但对于新的Android移动应用和高投资回报的保证来说,绝对是值得的。译者介绍51CTO社区编辑JulianChen。他在实施IT项目方面拥有超过十年的经验。善于控制内外部资源和风险。专注传播网络与信息安全知识与经验;翻译等形式分享前沿技术和新知识;经常在线上和线下开展信息安全培训和讲座。原标题:TestingAndroidMobileApps:BestQAApproachesandTools,作者:OlehSadykow[51CTO翻译,合作站点转载,转载请注明原译者和出处为51CTO.com]
