目录
在本文中,我们将讨论测试移动应用的最佳实践,并为执行集成Web和移动应用的测试提供指导。
移动应用程序正在缓慢但肯定地占据主导地位。不,这不是世界末日,但移动应用程序开始比网站应用程序拥有更多的优势。目前,超过50%的网站流量来自手机。
许多组织通常会制作Web版本和移动版本的应用程序,因为并非每个人都喜欢移动设备。组织通常生产两者以满足最广泛的用户需求。例如,一家医疗保健公司可能只生产一个移动应用程序,用于跟踪患者用药剂量。可以生成另一个Web应用程序,用于患者管理和帐户的后端控制。它们彼此关联,但网络供内部用户管理患者帐户,而移动设备仅供患者使用。
测试移动应用程序与基于Web的应用程序不同。这不仅与屏幕尺寸或设备有关。格式和功能可能会有很大差异。测试人员必须规划并了解移动应用程序的使用方式以及它如何与相关的Web应用程序集成。同时生成移动和Web应用程序会使测试复杂化。
在本文中,我们将讨论测试移动应用的最佳实践,并为执行集成Web和移动应用的测试提供指导。
测试移动应用的最佳实践
移动应用程序需要复杂的测试,即使功能看起来很简单。要实现高质量的应用发布,需要规划和执行大量的测试覆盖率。
测试移动应用的最佳做法从测试策略或计划开始,其中包括:
- 识别要测试的设备
- 自动测试,手动或混合
- 将移动应用定义为混合应用或原生应用
- 了解业务目的或客户使用情况
- 确定最佳客户体验所需的测试类型
- 审查现有分析(如果存在)
- 如果Web和移动设备都存在,则确定:
◦ 集成点
◦ 共享数据点
◦ 共享和唯一功能 - 确定测试是在基于云的设备、真实设备还是模拟器上进行。
◦ Google开发工具
◦ 适用于iOS的Xcode
◦ 适用于Android的Android Studio
- 确定是否需要进行API和/或数据测试
我们甚至还没有提到性能、安全性或可用性测试。许多QA测试团队在其他测试期间手动测试性能。可用性也是如此。如果这足够了,那么这是一个很好的方法。除非您想面对数据泄露的可能性,否则需要进行安全测试。考虑到这样一个事实,即由经验丰富的安全团队进行的安全测试比数据泄露更具成本效益。
测试方法:从需求到部署
了解各种测试方法,在什么时候实施它们以及每种方法测试什么。
花时间制定一个测试策略或计划来概述测试过程是值得的。计划是组织有序且经过深思熟虑的测试过程的基石。通过计划减少测试混乱。您可以使用适用于您的组织的任何类型的文档,无论是书面文档、思维导图、大纲还是清单。目的是提供结构,识别风险并确定将进行哪些测试以及如何进行。测试策略对于记录任何项目的测试工作也很方便。
如果某个应用不是新的,您还可以通过查看现有的应用分析来获得价值。分析可以让测试人员快速了解客户的问题区域或客户正在回避的区域。在有回避的地方,要么存在缺陷,要么存在严重的可用性问题。
最后,确定您是直接测试API还是验证数据。数据测试可以帮助防止严重甚至严重的错误,否则可能会遗漏这些错误。集成测试对于具有移动和Web组件或共享功能和/或数据的应用程序至关重要。
集成测试提示
对共享功能的移动和Web应用程序进行集成测试至关重要。作为测试人员,几乎可以肯定至少存在一个重大缺陷,导致移动和Web应用程序中的数据显示方式不同。为什么?因为大多数开发团队要么在移动设备上工作,要么在Web上工作。当开发人员处理不同的设置时,将遗漏特定字段或数据,并在集成测试期间导致缺陷。
另一个需要注意缺陷的领域是当移动应用程序和Web应用程序共享功能时。QA测试人员需要验证来自两个来源和各种组合的功能。例如,假设我正在使用一个医疗保健跟踪移动应用程序,我输入了用药日期和剂量并保存了它。现在,我通过网络应用程序登录并查看当前的药物剂量和日期。它匹配吗?或者Web应用是否显示以前的值?它是否会自动更新,还是需要用户注销并重新登录?
另一个集成测试技巧是计划在移动应用程序在线和离线时进行测试。移动应用程序具有离线工作的灵活性,而Web应用程序通常没有。请务必在用户脱机工作,然后登录Web应用时验证应用的可用性。
了解移动应用程序的构建方式。测试人员需要知道移动应用程序是混合应用程序、使用基于Web的工具开发的应用程序还是原生应用程序。原生应用往往会提供更多的独特功能,而这些功能是混合应用所无法提供的。如果您的移动应用程序是原生的,那么您是否同时支持Android和iOS?如果应用程序同时支持这两者,那么您的测试工作就会增加一倍。作为QA测试人员,请务必了解应用包含哪些独特的原生功能。您需要为这些功能创建特定测试。
许多应用都有一个面向客户的移动应用程序和一个为最终用户管理提供访问权限的Web应用。例如,医疗保健应用程序可以为患者提供一种登录并直接跟踪他们的药物使用情况和症状的方法。该网络应用程序可以为医疗保健公司提供对患者数据的访问权限,并能够让医务人员审查症状或结果。Web和移动应用程序适用于不同的用户组。在这种情况下,请务必验证每个应用显示的数据始终准确无误。根据角色设置验证用户访问权限也可能至关重要。毕竟,您不希望管理员访问患者帐户,反之亦然。
测试移动应用程序的复杂性不仅仅是确定设备类型和屏幕尺寸。可能会有各种集成和数据影响。管理复杂测试的最佳方法是进行异常有序的测试。
井井有条是提高测试效率的关键
组织是高效和有效地进行测试的关键。测试复杂的应用程序需要分析风险和计划全面测试的能力。有组织的测试工作可以减少混乱、流失和重复工作。有效的测试计划提供了基本结构,而测试人员的才能提供了工作。测试人员的经验水平各不相同,有些人比其他人更具创造力,许多人表现出更多的技术才能。规划允许将测试人员与正确的测试类型相匹配,以挑战自我,并对应用程序进行彻底和建设性的测试。
测试人员可以通过将相似的测试分组或聚集在一起来改进测试组织和效率。类似的测试是那些需要设置相同的前提条件、配置或测试数据的测试。当测试组合在一起时,测试人员可以执行一次配置和数据设置,然后执行所有相关测试。您将节省大量时间。不再需要为每个测试单独设置多个配置。
持续审查测试套件,以确保没有重复或无效的测试用例。没有什么比测试人员试图执行无效测试更浪费测试时间的了。将它们移出测试套件,直到它们得到更正或更新。还要检查冗余测试。冗余测试是执行相同功能的测试,仅在使用的数据中发生更改。按函数运行测试——无需重复测试每个函数。
在测试执行期间,为测试人员提供了专注于测试的时间。在测试执行完成之前,取消会议和附带项目。测试执行时间不是埋头苦干参加培训课程或召开额外会议为下一次迭代做准备的时间。测试人员需要能够完全专注于测试执行。
如果存在,请始终首先运行测试自动化。首先运行测试自动化有助于确认测试环境正常运行,以及基本功能是否按预期工作。安排测试自动化尽可能频繁地运行,但如果使用共享环境,则不要与手动测试同时进行。在理想情况下,自动化测试是在单独的环境中执行的。如果没有,请务必安排任何手动测试工作,以便测试工作不会相互干扰。
保持测试井然有序可能具有挑战性。但是,有组织的测试既有效又高效。移动应用测试比最初看起来要复杂得多。即使是一个简单的移动应用程序也需要广泛而深入的测试。执行质量QA测试的第一步是确定测试设置和结构的测试策略或计划。随着移动应用程序在通信、购物和娱乐方面继续领先于网络应用程序,因此组织必须执行高质量的移动测试以保持竞争优势。制作客户想要使用的应用程序,您就会开展业务。
现代软件开发中手动测试的未来
越来越多的组织倾向于自动化其测试过程,但这并不意味着手动测试人员变得无关紧要。阅读更多关于手动测试如何仍然是任何软件开发团队的高价值活动的信息。
https://www.telerik.com/blogs/mobile-app-testing-best-practices-testing-tips