paint-brush
为什么你需要通过移动测试进行左移by@johnjvester
155

为什么你需要通过移动测试进行左移

John Vester6m2024/07/15
Read on Terminal Reader

试图在移动领域获得竞争优势似乎落后于技术的其他方面。想象一下,在一个你可以通过移动测试向左移动的世界里。
featured image - 为什么你需要通过移动测试进行左移
John Vester HackerNoon profile picture
0-item


我觉得测试这个概念一直都让人又爱又恨。毫无疑问,测试的好处在于,无论你正在构建什么,都有助于避免客户报告同样的发现。这就是这种关系中爱的一部分。


最令人讨厌的是,当项目时间表导致测试优先级降低时……通常会让它成为积压的愿望清单项目,在当前冲刺中很少出现。这几乎可以保证客户会联系你并得到意想不到的结果。


随着软件开发生命周期 (SDLC) 的成熟,测试变得更加容易,开发人员可以创建完全覆盖要验证方面的单元测试。ChatGPT 或 GitHub Co-Pilot 的使用已经成熟到可以自动生成此类单元测试的程度。持续集成 (CI) 工具解决方案已经得到改进,可以在合并任何拉取请求 (PR) 之前强制执行高水平的代码覆盖率。这样做可以让团队将开发工作向左移动——在开发阶段强制解决问题并在此过程中降低功能成本。


这种方法对于传统的 API 和 Web 框架非常有效,但测试移动应用程序通常需要团队执行手动测试——根据已发布的步骤列表在尽可能多的可管理不同类型的设备上执行。


我想看看是否能够找到一种移动开发和测试可以采用左移概念的方法。

移动测试中缺少什么

从高层次来看,移动应用程序领域必须能够以与当今 API 和 Web 框架相同的方式测试特性和功能。这意味着不再需要使用物理设备或模拟器手动执行测试。


这种理想的移动测试状态将由 UI 驱动,以避免编写专注于用户活动的神秘测试。这种方法可以将工具扩展到希望验证其愿景是否现实的内部消费者或产品所有者。


就像传统的单元测试或集成测试一样,引入模块的能力可以验证移动应用程序的细微方面,并可用作更大流程的构建块。通过这样做,团队将能够保持“干爽”(不要重复自己)并避免重复工作。

最后,尽管由图形 UI 驱动,这些测试也需要能够成为 CI/CD 管道的一部分。


在这种理想状态下,移动软件工程师可以有效地左移进行移动开发和测试。

“左移”到底是什么?

当我说移动测试“左移”时,最好澄清一下我的意思。


维基百科对测试左移的定义如下:


“左移测试是一种软件测试和系统测试方法,其中测试在生命周期的早期进行(即在项目时间线上左移)。这是‘尽早测试并经常测试’格言的前半部分。它由拉里·史密斯于 2001 年创造。”


只需采用左移,就可以在开发阶段发现缺陷。这很重要,因为可以在专注于源代码的工程师对该功能记忆犹新时解决问题。


以下是采用左移的一些好处:


  • 通过在开发时发现并解决问题来降低交付功能的成本。
  • 由于交付后重新审视解决方案所需的时间减少,因此效率更高。
  • 由于在开发阶段被迫进行全面覆盖和验证,因此质量更高。


最终,当解决方案到达消费者手中并且经过验证并按预期发挥作用时,左移概念将带来竞争优势。

关于 Tosca

去年,我在“使用 Tricentis Testim 提高面向客户的应用程序质量”一文中探讨了 Tricentis Testim 的使用。使用基于 GO 的 RESTful API 和基于 Vue.js Web 的客户端验证我的 Magic 8 Ball 解决方案是多么容易,这让我印象深刻。我想看看 Tricentis 是否有一个解决方案可以让团队左移进行移动测试。


事实证明,他们有一款名为Tosca的产品。


Tosca 产品提供无代码测试生成功能,允许创建可重复使用和自动化的小模块。这些模块可以看作是乐高积木,由于它们之间采用了标准化的契约,因此可以在需要时连接起来。Tosca 通过提供利用 AI 来帮助为您的功能生成移动测试的能力,使事情更接近更传统的开发生命周期。


Tosca 还利用了开源Appium项目的强大功能,无需通过 Tricentis Mobile Agent 进行繁重的学习。这使得我之前文章中提供的所有功能都可以纳入移动开发的左移之旅中。


因此,Tosca 允许在真实的 iPhone、Android、手机和平板电脑设备上测试原生、混合和 Web 移动应用程序,而无需维护和拥有这些设备。


与 Testim 产品一样,Tosca 解决方案提供了将测试作为 CI/CD 管道的一部分执行的能力,从而允许强制实施左移采用。


您可以直接使用 Tosca 在 iOS 或 Android 手机上进行测试,也可以通过 Android Studio 等 IDE 提供的模拟器或仿真器进行测试。使用 Tosca,您可以扫描应用程序并让其创建测试用例:


一旦 Tosca 创建了测试用例,您也可以创建自己的测试用例。


Tosca 的一个优点是它允许您编写测试而无需编写代码。这是通过其模块库实现的,该模块库可以模拟几乎所有操作,包括打开浏览器或填写表单。


在此示例中,我们在 Tosca 移动测试用例中使用了三个模块。我们测试:


  1. 打开浏览器并访问我们的应用端点
  2. 选择特定类型的车辆
  3. 填写有关该特定车辆的表格


请注意,我们所要做的就是提供示例输入(在屏幕截图中,我们针对上面突出显示的第 3 步执行了此操作)。测试完成后,您将收到一份有关 Tosca 的诊断报告。

左移以进行移动测试

通过利用像 Tosca 这样的产品,专注于移动开发的软件工程师可以利用剩余的移动测试资源,使他们的团队获得竞争优势:


  • 移动功能在开发阶段进行验证,类似于服务和 Web 框架。
  • 测试由 UI 驱动,可以扩展到内部消费者和产品所有者,以帮助巩固他们的愿景。
  • 测试套件可以由一组“干”模块构建,这些模块的结构可以完全覆盖新特性和功能。
  • 可以针对详尽的移动设备清单执行测试,而无需拥有和维护这些设备。
  • 在向主要代码分支引入新功能之前,相关的 PR 会以在 API 或 Web 框架 CI/CD 管道中执行单元测试或集成测试相同的方式调用 UI 生成的测试。

结论

我的读者可能还记得,我一直专注于以下使命宣言,我觉得它适用于任何 IT 专业人士:


“将时间集中在提供能够扩展知识产权价值的功能上。其他一切都可以利用框架、产品和服务。” - J. Vester


为了达到最高生产力,专注于移动开发的软件工程师需要采用左移进行移动测试。然而,在寻找解决方案时,理想的选择应该考虑任何相关的学习曲线和可支持性。


Tosca 产品符合我的个人使命宣言,它允许团队在无需支持和维护额外源代码的情况下实现左移状态。该产品还允许非工程师参与测试开发,让团队在确保设计符合预期方面具有优势。


我个人已经采用左移方法好几年了,每次只要遵循流程就能避免缺陷,这让我非常感激。移动开发是时候采用左移概念了。


祝您度过愉快的一天!