Oculus发布Quest VR开发自动化之最佳实践
在确定自动化优先次序和实现过程中的建议技巧和最佳实践
(映维网 2020年12月18日)尽管自动化在大多数类型的软件工程中都非常普遍,但它尚未成为VR应用和游戏开发的一种常见举措。我们希望通过分享这篇来自Oculus的博文来帮助你开始采用自动化流程,或者至少了解如何评估、开始和扩展你的自动化和测试工作。
本文包含了一系列在确定自动化优先次序和实现过程中的建议技巧和最佳实践。这是Oculus日前发布的通识指南中的节选,相关指南专注于最小化迭代时间和最大化开发者效率,包括一般注意事项和跨平台开发、项目规划和文件/文件夹管理、自动化和性能优化,以及专门针对Unity开发的最佳实践。更多关于Quest的开发经验和指南实践可参阅Oculus的开发者页面,或关注映维网的研发栏目及后续博文分享。
对于不熟悉软件自动化的开发者,我们特别推荐这个关于自动化的指南,因为它包含了一个关于不同测试场景的初级读本,可以帮助你确定自动化的重点资源。
1. 如何和何时优先考虑自动化
自动化测试过程对你非常有用,特别是从长远来看。但在你开始关注自动化脚本编写和随之而来的技术要求之前,你需要考虑一系列的事项。在设计测试和自动化时,你应该记住以下几个关键因素策略:
1.1 考虑时间和能力
准备好分析编写坚实测试脚本的成本效益分析。测试越复杂,编写和维护就需要更多的时间和精力。
1.2 一切都考虑妥当后,可推荐使用自动化
综上所述,如果你有能力自动化任何流程,无论是像引导测试、复杂交互或完整环境这样的小流程,自动化可以帮助团队大大加快迭代时间,并将应用程序中出现的错误/问题数量降至最低。
1.3 自动化重复和简单的部分
自动化重复的且通常不太复杂的部分。这将最大限度地提高效率并确保脚本准确地交付设计的结果。
1.4 瞄准边缘情况机会
若单次手动测试需要大量的后勤工作或可能属于“异常”的用户流程,建议采用自动化。
2. 测试和自动化最佳实践
在决定了要自动化的测试类型以及将资源集中在什么地方之后,请使用以下最佳实践来推进测试自动化流程。
2.1 试验脚本并作为自动化的灵感
由于你的团队很可能已经使用测试脚本来驱动QA过程,所以很容易会发现能够用最少时间自动化可重复部分的地方。
2.2 使用源代码控制和持续集成
如果你想发布一个完整开发的Oculus VR应用程序,建议你利用一个源代码控制和持续集成系统。它们有许多不同的形状和大小,建议你根据团队规模和正在创建的应用程序类型来调整系统。对于源代码控制系统,我们建议你看看Git和Mercurial。如果应用非常复杂,可以使用Perforce。对于持续集成系统,请查看Jenkins、TeamCity或GitLab。
2.3 应用的2D版本
无论你是否在使用测试自动化,一定要包括一个可以在2D屏幕运行的应用程序版本。这将为测试某些功能、变量和属性节省大量时间,并加快调试速度过程。
2.4 尽可能利用Telemetry
从长远来看,这类数据可能非常强大,因为你需要分析导致特定错误的原因。当计划要记录哪些telemetry数据时,请考虑完成应用程序的用户旅程,以及成功通关应用的用户流。
2.5 尽早检测版本错误
当在CI系统上编译代码并运行asset build时,你在提交新改动后可以立即检测到问题。积极地向团队报告错误可以确保避免任何conflict,并避免所述问题可能造成的任何潜在blocker。
2.6 非常推荐将其用于性能测试
设备端的自动化对于监视性能特别有用。新的改动可能会无意中损害性能,在知道原因后,尽快检测到这一点将更容易修复。随着时间推移监视性能同时可以确保优化性能的更新是有效的。
2.7 在设备触发事件
在VR头显触发特定事件,例如“告诉角色进入X世界并将角色移动到Y位置”。检查ADB的性能特征,并确保在整个事件中运行特定检查。
3. 更多关于自动化、性能优化和最小化迭代时间的方法的VR开发指南
如果你想了解更多关于VR开发自动化、性能优化和自动化测试过程的知识,请参阅Oculus的开发者页面,或关注映维网的研发栏目及后续博文分享。