企业将应用程序迁移到云端可能是一项独特的挑战。用户不直接与服务器或本地IT基础架构的其他底层组件进行交互,在云端,每个人都可以看到并使用应用程序。因此,应用程序测试是所有云迁移的关键部分。
正式的框架可以帮助IT团队制定云迁移测试策略,并确保应用程序在云端正常运行。让我们来看看需要关注的主要领域、需要遵循的最佳做法以及可能出现的问题和解决办法。
为什么云迁移测试很重要?
云迁移测试可帮助IT团队确保应用程序在迁移到云端后继续正常运行,并确保更好的用户体验。为此,他们必须衡量应用程序在迁移前后的性能,它如何在本地运行,以及它迁移到云端后如何工作。
云迁移测试的指标有助于识别和量化任何问题,否则,基于猜测的对比会消耗IT员工的时间和资源。关键指标包括应用程序启动时间和响应时间、高峰需求和非工作时间的性能以及各种平台(台式机、远程连接和移动设备)上的可用性。
此外,云供应商可能会发布更新,这可能导致你的应用出现性能问题。通过你的测试指标验证这一点,并与你的云提供商合作,找出发生了什么以及哪些调整将纠正这些问题。
最后,云迁移测试揭示IT团队可以在哪里调整性能或UX,以证明将应用程序保留在云端的合理性。
云迁移测试与传统应用程序测试有何不同
测试本地应用程序与测试迁移到云端的应用程序的主要区别在于,你必须适应云计算的可扩展性,以及额外的集成和依赖关系。有些集成可能难以识别和理解。你的云测试框架可能与用于测试本地内容的框架不同,并且某些工具可能不同,例如负载测试或渗透测试。
但请记住,从本地到云端,测试的实际最终目标不应该改变。不同的目标或指南意味着不再具有可比性。使用很多相同的步骤和工具来清晰地展示你将应用程序迁移到云端的努力,对测试框架或方法的更改可能会影响结果。
云迁移测试类型
云迁移测试的目标不是测试所有可能的特性和功能,但你需要可靠的测试和指标结果,以确保你的应用程序按预期运行。对于云迁移,下面几种不同类型的测试尤为重要:
- 功能验证。确认构建满足组件和服务功能的要求,对云迁移工作的两边。任何遗漏的东西都会很快凸显。
- 性能。这涉及几个指标来衡量应用程序在现实条件下的表现:处理数据量、容量负载以及CPU和内存使用情况的能力。
- 集成。你的应用程序可能与其他服务和应用程序相关联,以在云端和本地(可能两者兼有)中共享数据。IT团队必须验证这些连接在云端是否仍然有效。如果相关服务位于不同的云端或保留在本地,这可能会很棘手。
其他需要测试的方面:如果你的应用程序有专用门户或需要调整界面才能在移动设备上运行,请在Android和Apple平台上进行测试。对于云迁移的应用程序和在本地运行的应用程序来说都是如此。测试每种可能的设备类型可能不可行,因此请与你的用户群一起确定最佳的移动平台。
此外,在蜂窝网络和Wi-Fi网络上进行测试,因为不同的数据速度会影响应用程序的行为。在你公司的Wi-Fi网络之外执行此操作,网络内部访问服务的方式可能与外部Wi-Fi网络不同,这可能导致应用程序运行不同或根本不运行。
最后,测试可打印性,是的,人们仍然会打印,对于某些人来说,这是一项关键的工作职能。不要低估这个潜在的具有挑战性的技术问题。从基于云的应用程序打印到本地打印机会遇到你在本地没有的安全和网络挑战。
云迁移测试的安全注意事项
在你开始将应用程序从本地迁移到云端前,应该进行适当的应用程序安全审计和对最终用户权限的调整。你最不想做的就是引入额外的更改,而影响应用程序的工作方式及其相互依赖性。
你的云迁移测试应包括安全验证,以确认三个关键因素:
- 谁有权访问该应用程序?从用户将访问的帐户和特性/功能开始。添加更多变量不会帮助或加速测试,
- 因此,随着横向移动,最终用户的访问应该反映他们在本地应用程序所拥有的内容,不多也不少。
- 你如何确保最小特权?当你的数据在云端的不同服务之间移动时,哪些步骤可以确保最小特权?云供应商提供服务和报告来帮助你解决此问题;请花时间学习和使用它们。
- 安全更改会影响应用程序吗?进行安全更改后始终重新运行应用程序测试,因为这些更改可能会影响性能。例如,移动中和静止时的数据加密会改变应用程序的响应时间,还是会增加CPU周期的开销?这可以是完整测试的子集,但你必须重新验证应用程序仍然可以正常工作,并且你的安全更改不会使应用程序脱机。
云迁移测试中的7个常见挑战 – 以及解决这些挑战的最佳做法
无论事情进展得多么顺利,应用程序测试都是一项挑战。尽管你执行所有计划和测试,但你仍会遇到问题。没有什么事情会像你希望的那样顺利,但大多数问题都是可以解决的。
挑战#1:如何确定应用程序测试指标的优先级
应用程序的用户体验和安全性对整个应用程序很重要,但最终应用程序必须按预期工作。缺乏核心功能的应用程序,即使它绝对安全或对用户来说非常精简,也没有任何好处。
最佳做法:平衡设计和安全性与关键功能。花时间和精力在云迁移过程的早期解决所有因素:功能、用户体验和安全性。这些不是你可以在不同阶段处理的单独方面;它们是相互关联的,你必须在早期处理。
挑战#2:不要为了让应用程序运行而偷工减料
确保应用程序在云端正常运行至关重要,但不要为了实现短期目标而养成不良习惯。IT团队可能会减少或删除安全控制,以使应用程序在新环境中正常运行,然后忘记恢复这些保护措施。这最初可能会节省时间,但会在以后创建更多和复杂的工作,并使整体测试更加困难。
最佳做法:从一开始就规划安全性。经常会出现安全权限问题,并且可能会阻碍应用程序的功能,但要抵制下意识的反应,以进行大规模更改以使事情立即运行。在你的云迁移计划中留出时间来解决这些问题。
挑战#3:仅靠IT无法进行云迁移测试
云迁移是一项复杂的工作,需要很多专业领域人员来确保迁移的应用程序可以大规模安全地运行。IT肩负着重大责任,他们可以帮助领导这些工作,但如果没有开发方面的专业知识,你就不能只关注技术方面的问题。
最佳做法:组建多元化的测试团队。组建跨职能团队以提供应用支持,并识别可能的问题。你的团队必须灵活,你需要内容专家来确保所有方面都得到关注。在会议中,对项目分门别类,这样你就不会因为过多的信息而使每个人负担过重,有些人可能会感到无聊或无法理解超出他们专业知识的技术问题。
挑战#4:抵制“简单”更新和范围蔓延
为迁移到云端的应用程序启用加密可能看起来很理想,而且看似简单。但请注意:任何更改都可能在不知不觉中影响应用程序操作的很多其他方面,并增加技术问题和成本。迁移测试中的这种范围或功能蔓延可能会迅速扩大到不可持续的水平。
最佳做法:测试和审查附加功能。首先,对于应用程序核心功能,请尝试坚持原始计划,测试阶段不是功能扩展的时间或地点。如果你必须添加任何小的新特性或功能,请让每个人都同意并测试和审查这些更改,以了解其更广泛的影响。
挑战#5:平衡测试节奏与竞争优先级
理想情况下,你应该执行持续的安全测试和至少每周测试以验证数据和处理错误日志。不幸的是,IT和管理层的金钱、时间和不断变化的优先级可能会推翻这些计划。云使用的每一秒都要花钱。员工需要时间和金钱,在应用程序发布后,大多数运营和开发团队都会转移到其他项目。
最佳做法:围绕重大更新进行计划,并推动更多更新。 IT总能找到方法利用可用资源来满足所需要求。对于云迁移测试,试图了解管理层想要什么、需要什么和期望什么。为围绕基础应用程序或平台的重大更改,设置每日和每周检查的测试框架。如果有更多可用资源,请争取更频繁的定期检查。
挑战#6:UX测试范围狭窄
有些IT团队依赖常规用户池进行本地测试,或者依赖少数特定软件的专家。但是,当你将应用程序迁移到云端时,你需要更全面地了解你的应用程序。这意味着从多个角度收集有关整体用户体验的数据,而不仅仅是技术角度。
最佳做法:扩展你的用户测试团队。与来自不同经验和角色的大量测试人员协调用户测试。包括精通云的人员和新手。大多数最终用户并不了解或关心云的内部机制,但他们会看到你的应用程序,e并且对性能有一定的期望。有时他们可能比你更了解它。
挑战#7:测试指标忽略云成本问题
在本地迁移中,你通常拥有应用程序涉及的所有部分。而在云迁移中,每个流程步骤、调用的服务以及传输到缓存或返回本地的数据都会产生成本。还有与其他云服务存在集成和依赖关系,其中一些可能并不明显。你甚至可以使用新的基于云的测试工具。当你收到账单时,费用可能会令人震惊,并迫使你调整应用程序,甚至重新评估云迁移。
最佳做法:定期测试揭示成本趋势。成本管理不是云迁移测试的重点,但测试可以让企业了解应用程序在云端运行的情况。这就是说,频繁的云迁移测试可以帮助企业更好地了解数据传输、使用模式和关键依赖关系。这意味着收到账单时不会有任何意外。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/296924.html