敏捷的快速采用以及持续的交付需要向更高级别的测试自动化转变。当应用程序开发和交付(AD&D)团队朝着提高测试自动化的方向发展时,他们主要通过两种方式来创建和维护测试环境:
使用内部基础设施:
在这种情况下,您的操作或测试团队自己负责构建内部基础设施,包括服务器、移动和桌面设备,以及与CI工具的集成。
使用云虚拟化服务:
设置测试基础设施的另一种方法是使用阿里云和腾讯云等服务来启动虚拟机。
当测试环境管理需要手动操作时,通过自动测试桌面、移动和web应用程序而获得的效率很容易降低。当您的自动化测试等待运行时,团队会花费数小时来执行重复和冗余的任务,例如下载正确的浏览器版本、等待测试机器可用或确保他们能够访问正确的操作系统。
当测试环境与生产环境有巨大差异时,测试自动化的挑战就增加了。最终用户可能使用的分辨率、浏览器版本或操作系统版本与您运行测试的版本不同。
结果是:测试环境成为测试自动化周期中最薄弱的环节。
测试环境管理需要考虑可伸缩性、成本、维护和辅助测试服务。
1.人工成本:
无论您使用的是内部基础设施还是云虚拟化服务,很少有关键因素可以定义劳动力成本。首先,这是运营、测试或 DBA 团队在维护、升级甚至拆除测试环境、数据库服务器和实验室等方面所花费的时间和精力。
虽然云虚拟化服务可以帮助您预先解决硬件问题,但仍然需要一个手动组件来确保在开始测试时提供正确的配置。提供干净的测试环境通常意味着使用新的配置启动新的虚拟机,这可能很耗时并增加劳动力成本。
无论哪种方式,您的测试工程师、DBA 或运营团队都可以专注于其他能带来更高回报的重要问题。
2. 设备成本:
这代表了维护和升级不同桌面和移动设备的成本。随着团队的成长和新环境(Web 浏览器、操作系统版本和分辨率)被添加到组合中以提高覆盖率,保持系统和设备最新可能变得具有挑战性。
随着团队的发展,确保操作系统、分辨率和浏览器版本的特定组合可用于测试意味着添加新设备或启动新虚拟机。当不同的操作系统和浏览器需要根据最新版本保持最新时,这一成本可能会迅速增长。
如果测试团队不在同一地点,访问这些设备时可能会有一定程度的延迟,这反过来会影响团队的工作效率。
3. 软件许可费用:
除了负责维护桌面硬件、虚拟机和其他真实设备之外,DBA 和操作人员在使用 VM 或内部基础设施管理环境时还需要拥有其他软件许可证的主机。这些许可证只会增加总体维护成本。
4. 并行执行:
通过并行运行测试,可以大大减少测试套件完成运行所需的时间。确保内部测试基础设施或云虚拟化服务可以处理并行执行通常需要额外的配置或设置步骤。
并行运行测试可能会很耗时,尤其是无法根据需要动态扩展设备时。
5. 调试和报告:
视频、日志和屏幕截图等功能在测试运行后会很有帮助,以确保实时调试这些功能,从而可以查看生成的情况。
但是,在内部构建深入的调试机制可能具有挑战性。在构建内部实时报告和仪表板以实现团队成员之间的共同可见性时花费的额外时间和精力可以轻松地用于具有直接收益的更高价值的项目。
6. 高级测试功能:
要更深入地了解测试工作,就必须有额外的高级测试功能,这些功能主要是内部基础设施甚至云虚拟化服务所缺乏的。主要是因为这些都不是以QA团队为目标细分市场而设计的。