一个优质的移动应用程序可以增强品牌形象并显着增加收入

根据Statista,2015年1月至2020年7月,应用下载已迅速增长。在过去的5年中,两个App商店之间的注册下载从159亿到378亿增加到37.8亿增加。这种增长不会很快放缓它似乎。一个新的感应塔报告该公司透露,在2020年上半年,消费者在移动应用上的支出和应用安装量显著增长,全球达到500亿美元。

然而,这并不意味着用户下载的所有手机应用都会获得成功。出于上述原因和其他原因,为了提高质量水平和用户体验,测试手机应用非常重要。

为什么测试您的移动应用程序很重要?

  • 问题最小的应用更有可能获得成功,这意味着更多下载量和正面评论,从而获得更多收益。
  • 测试降低了项目风险,因为开发应用程序可能非常昂贵,如果它不能满足用户的期望,可能会导致巨大的财务损失。
  • 具有良好用户体验/用户界面的高质量应用程序有助于提升品牌形象,并使公司更加值得信赖和可靠。
  • 测试将有助于检查应用程序与不同设备和操作系统(如iOS和Android)的兼容性。
  • 在测试上的投资可以降低未来的成本:在早期阶段检测错误是最好的,因为那时候修复它们更容易,成本也更低。相比之下,如果用户报告了一个漏洞,修复它的成本就会高得多,应用的声誉也会受损。

不同类型的移动应用程序

移动应用程序不像桌面Web应用程序一样简单,因为它们更复杂和变化。移动应用有三种类型:原生应用、混合应用和网页应用。让我们走过来!

本机应用程序

本机应用程序将在设备上运行更快,并且在功能方面更高级,而不是移动Web应用程序,但它必须下载才能使用

由于本机应用程序是特定于平台的,所以必须使用特定的ide(集成开发环境)和语言来开发它们。Android使用Java或Kotlin等语言以及Android Studio或Eclipse作为IDE。苹果使用Objective-C或Swift和XCode等语言作为IDE。

原生应用的优势和劣势都在下滑

谷歌Maps, LinkedIn, Twitter, Telegram, PokemonGo等都是使用最广泛的本地应用。

Web应用程序

可以通过任何移动浏览器访问web应用程序;这意味着您可以使用它而无需下载任何内容.只要打开智能手机上的互联网浏览器,导航到特定的URL。与web应用程序一样,移动web应用程序通常是用JavaScript、CSS和HTML5构建的。

移动web应用的优缺点幻灯片

流行Web应用程序的一些示例是nytimes.com,medium.com和yelp.com

混合应用程序

混合应用结合了原生应用和web应用的不同特性。它们通常是使用JavaScript、CSS和HTML5开发的移动web应用程序。将相同的代码打包在本机环境中,可以用于不同的平台。与原生应用一样,混合应用必须从应用商店下载

混合应用的优势和劣势都在下滑

混合应用程序的一些例子是Facebook,Instagram,Uber和Slack。

在测试移动应用程序之前需要考虑什么?

软件测试人员和/或开发人员在测试手机应用程序之前必须考虑以下因素:

  • 应用程序类型:无论是原生应用、混合应用还是网页应用,了解这些信息将有助于定义可以执行的测试类型。
  • 操作系统版本:测试策略中应该包含哪些iOS和Android版本。
  • 设备:不管应用的类型是什么,你都应该选择一套真正的移动设备来进行测试。由于仅拥有一组真实设备可能非常昂贵,因此建议通过使用模拟器和模拟器运行测试来扩展设备覆盖范围。

关于移动设备模拟器和模拟器要知道什么

模拟器和模拟器在你能测试的方面是有限的。因此,您不能使用它们来测试整体的用户体验,但它们是扩展测试覆盖面的伟大工具。

Xcode提供的模拟器模拟或模仿带有iOS操作系统(如iPhone或iPad)的设备。另一方面,仿真器(指Android Studio提供的)充当配置设备(运行Android操作系统),模拟其操作系统和硬件。

Saucelabs和browserstack标志

另一种选择是使用云测试工具,尽管他们是付费的。一些最好的选择是酱家实验室BrowserStack.这些工具通过其真实的设备云服务,移动模拟器/模拟器和实时应用测试来提供测试应用程序的能力。

如何选择在哪些设备上进行测试?

本文BrowserStack包括与Buxcerstack超过200万开发人员的使用情况统计的见解以及最新的全球市场趋势的列表。

BrowserStack提供的一个基本包“Starting Up”包括以下设备:

  • 苹果iPhone 8(手机)iOS 13.0
  • 苹果iPhone XR(手机)iOS 12.0
  • 谷歌Pixel 3(蜂窝)Android 9.0
  • 三星Galaxy S9 Plus(手机)Android 8.0
  • 三星Galaxy S8(Cellular)Android 7.0
  • Apple iPad 6th(平板电脑)iOS 11.0

通过单独使用这组设备,您可以实现以下市场覆盖范围:

市场覆盖率图

你想测试的移动应用程序在哪里下载?

Testflight

仅适用于iOS,Testflight是在App Store上的应用程序,您必须在测试设备上下载和安装。随着开发人员的邀请,您可以下载要测试的版本。

Visual Studio App Center

Visual Studio App Center是一个可以上传和下载应用程序的平台。它的工具是为基于Swift、Objective-C、Java、React-Native、UWP和Xamarin构建的Android和iOS应用程序而设计的。

云存储(适用于Android)

APKS(Android Package Kits)不限于它们可以发布的位置,因此您可以使用云存储服务,例如Google Drive,一个驱动器或Dropbox。

你怎样才能捕捉到虫子的证据?

如果你以前只使用过Android,你可能不知道如何在iPhone上截屏,反之亦然。

对于安卓系统来说屏幕截图功能是一个本机,您所要做的就是同时按下电源和更低音量按钮,但这种组合可能因制造商而异。

Android截图图

如果你想做得更深入一些,比如屏幕录音,这个功能不是Android原生的。三星、小米和华为等品牌的手机中也包含了这一功能。看看在Android上录制屏幕的多种方法在这里

如果测试Android设备没有此功能,请查看以下应用程序:屏幕录像机维索his(华为)。

在ios上,屏幕截图功能是本地性的,并取决于iPhone模型;但是,您可以在下面显示的图像中拍摄屏幕截图:

如何在iOS上截图的示意图

屏幕录制功能自iOS 11发布以来,也是原生的iOS,执行如下:

图像显示iOS屏幕录制


移动应用程序的软件测试类型

不同的应用程序需要不同类型的测试,但每个测试人员在开始时应该首先考虑以下几点:

功能测试

这些是首先重点关注的测试,因为它们确保移动应用程序在要求和/或用户故事中所示。要测试的一些功能是:

注册登录

  • 验证用户是否可以注册和登录
  • 验证与Facebook、Twitter、Snapchat或谷歌等应用程序的集成

垂直(纵向)和水平(横向)模式

  • 检查应用程序是否激活了横向选项
  • 该应用程序是否会快速调整并适当地改变方向?

基本操作,菜单选项,标题,文本和按钮

  • 确保用户界面(UI)的所有按钮、链接和其他元素按预期工作
  • 检查与其他应用程序的集成,如支付应用程序(PayPal, Stripe等)
  • 测试表单,验证每个条目是否有效(必填字段与可选字段)

通知,错误/成功消息

  • 检查推送通知是否被正确处理

基本的手势

  • 通过在屏幕上执行一些基本手势来检查应用程序的行为
  • 谷歌的产品经理Luke Wroblewski提供了一个有用的资源图示了参考指南可以在触摸屏上执行不同的手势

功能测试中的常见错误

  • 与社交网络集成在注册和登录功能:在测试这种集成时,有时会发生在通过社交媒体帐户注册或登录后,用户不会返回应用程序,而是仍然存在于社交媒体网站上。建议使用安装和卸载的社交媒体应用来测试这些方案。
  • 启用旋转屏幕选项:在测试此功能时,测试人员可能会发现内容不适应横向模式,因为它没有配置。
  • 在屏幕上做一个基本手势:当尝试执行一个特定的手势时,应用程序会崩溃。当手势配置不当时就会发生这种情况。

可用性测试

这种类型的测试侧重于确保最终用户对应用程序具有良好的体验。可用性测试可确保移动应用程序最终以直观且易于使用的方式构建。建议将用户从模型或接口设计发布并获得其反馈的那一刻起。

另外,将用户验收测试(UAT)合并到测试过程中也是一个好主意。在应用程序投入生产之前,从那些不了解应用程序的用户那里获得反馈非常重要。我们作为测试人员的角色是帮助协调、准备测试脚本并通过UAT测试指导用户。

这些有价值的反馈将帮助企业做出决定,如是否已经将应用投放市场,或提前做出更多改变。

连接测试

Web应用程序不能离线工作,同样的规则也适用于移动Web应用程序。在这种情况下,看看它们在不同的互联网连接速度下是否工作良好。

涉及到本机移动应用程序和一些混合移动应用程序时,有必要检查它们是否仍然在离线或飞机模式下正常工作,以及它们如何使用3G / 4G / 5G或Wi-Fi工作。

在应用连接性测试过程中可以测试的场景包括:

  • 它是如何连接到移动网络的
  • 连接到Wi-Fi网络时的行为
  • 它的行为如何连接到移动网络和Wi-Fi网络
  • 连接断开时它的行为
  • 信号弱时它是如何表现的

性能测试

性能测试有助于确保移动应用程序在不同和特定的工作负载下按预期执行。移动应用程序的性能被认为是其成功的关键因素。

没有人希望等待太久,如果应用程序启动缓慢或加载内容花费太长时间,许多用户将卸载该应用程序。

这些是要注意的一些领域:

  • 从应用程序打开到第一个屏幕显示的时间(以秒为单位)(不应该超过2秒)
  • 检查电池消耗:在使用应用程序之前和之后,设备的电池有多少
  • 检查移动设备是否过热
  • 检查内存使用量

上面列出的场景应该使用物理移动测试设备进行测试。

幸运的是,你不必是一个有经验的性能测试人员来获得关于应用程序的这些信息。

有一个免费的工具,Apptim,它在浏览应用程序时自动捕获您的性能数据。

下面,您可以看到您可以从Apptim报告中获得什么样的性能指标,该报告在您使用该工具完成功能测试后自动生成。单击此处查看来自Apptim的移动测试报告示例

APPTIM报告屏幕的图像

性能测试中报告的常见问题

  • 该应用程序需要很长时间才能加载
  • 第一次打开应用程序时,加载第一个屏幕需要很长时间
  • 应用程序崩溃

中断测试

这种类型的测试可确保移动应用程序在遇到突发事件和意外事件时按预期工作。有很多中断的可能性,例如,当用户在使用应用程序时收到呼叫或推送通知时。

可以测试的一些场景有:

  • 当用户收到电话或短信时会发生什么?当他们打电话或发短信时会发生什么?手机应用程序是继续工作还是崩溃?
  • 当用户关闭他们的设备或它意外关闭后会发生什么,移动应用程序之后能正常打开吗?
  • 当收到警报或通知时,应用程序是如何表现的?
  • 当用户同时与其他应用程序交互时,应用程序会发生什么?

兼容性测试

对于此类测试,建议在物理或真实设备之间创建组合策略,以便获得正确的覆盖范围。

您必须定义移动应用程序支持的操作系统版本,并测试以下各项:

  • 它在不同版本的操作系统中表现如何
  • 它在不同的移动设备上是如何工作的
  • 该应用程序看起来很好,并在不同的分辨率和屏幕大小上顺利运行

不管应用程序的类型是什么,每个移动应用程序的设计都必须响应. 与桌面web应用程序一样,移动web应用程序必须跨多个浏览器进行测试。最流行的移动浏览器有Safari、Chrome、Firefox、Edge、Opera和三星。

兼容性测试中报告的常见事件:

  • 应用程序没有响应:它的设计不能正确地适应更小或更大的屏幕尺寸
  • web应用内容显示不正确:某浏览器或操作系统中页面字段配置不正确

下载、安装和更新测试

如果用户无法毫不费力地下载、安装或更新,即使是世界上概念最好的移动应用程序也将毫无用处。因此,请记住验证以下几点:

  • 申请可以下载吗?
  • 移动应用程序在安装、卸载和重新安装期间表现如何?有任何干扰吗?
  • 移动应用程序是否可以更新?存储数据是否一致在更新后?
  • 当有多个可用更新时,是否可以更新应用程序?当其他移动应用程序也在更新时,它的行为如何?
  • 更新设备操作系统后,移动应用程序是否正常运行?验证操作系统的更新不会破坏应用程序是至关重要的。

本地化测试

本地化测试可以确保手机应用在不同市场、国家和地区都能正常运行。我们可以测试的场景有:

  • 验证翻译是否正确,它们不会自动生成翻译,因为用户将立即识别,并且不会尽可能多地使用该应用程序。
  • 验证应用程序在不同时区正确显示时间。
  • 确认界面的文本和元素看起来很好,在不同的语言下工作没有任何问题。

本地化测试中经常报告的错误

  • 自动翻译传递了错误的信息(在某些情况下,自动生成的翻译甚至可能无意中冒犯!)
拿着电话的妇女的图象

移动应用程序测试中的经验教训

从我的经验从Abstracta担任移动测试仪,德赢vwin登入以下是总结上述所有内容的一些关键要点:

  • 移动应用程序的类型和它所使用的预期操作系统版本将决定您计划运行的测试
  • 您应该始终至少有一个物理或真实的移动设备来测试它,并辅之以云中的模拟器或模拟器和工具。联合使用策略真实和虚拟测试设备将是实现理想的测试覆盖级别的一种实际方法。
  • 不要跳过可用性测试。在进入市场之前,找到一组能够评估移动应用程序的用户是至关重要的;仅凭测试人员的意见是不够的。
  • 始终考虑在测试中的不同连接场景,例如飞机模式,Wi-Fi和不同的网络,如3G,4G等。
  • 没有必要成为性能工程专家,就移动设备上应用程序的异常行为向开发团队发出警告,这要归功于移动性能测试工具,如Apptim
  • 始终检查应用程序在更新后的行为。确保安装的版本是否正确至关重要。
  • 请记住,测试桌面应用程序与测试移动应用程序不同。我们必须在对移动应用程序进行软件测试时考虑几种情况。

好了,介绍一下如何测试一个移动应用程序! 如果您需要更多帮助来开始或确定正确的策略,Abstracta的测试工程师将提供帮助!德赢vwin登入今天联系我们

本文是从其在网站上发布的原始版本(西班牙语)翻译而来德赢vwin登入Abstracta智利的博客


推荐给你

5 iPad手势测试人员应该知道
成功用户测试的9个技巧