Virtual Reality (VR) is an emerging technique that provides a unique real-time experience for users. VR technologies have provided revolutionary user experiences in various scenarios (e.g., training, education, product/architecture design, gaming, remote conference/tour, etc.). However, testing VR applications is challenging due to their nature which necessitates physical interactivity, and their reliance on hardware systems. Despite the recent advancements in VR technology and its usage scenarios, we still know little about VR application testing. To fill up this knowledge gap, we performed an empirical study on 97 open-source VR applications including 28 industrial projects. Our analysis identified that 74.2% of the VR projects evaluated did not have any tests, and for the VR projects that did, the median functional-method to test-method ratio was low in comparison to other project categories. Moreover, we uncovered tool support issues concerning the measurement of VR code coverage, and the code coverage and assertion density results we were able to generate were also relatively low, as they respectively had averages of 15.63% and 17.69%. Finally, through manual analysis of 220 test cases from four VR applications and 281 test cases from four non-VR applications, we identified that VR applications require specific categories of test cases to ensure VR application quality attributes. We believe that our findings constitute a call to action for the VR development community to improve testing aspects and provide directions for software engineering researchers to develop advanced techniques for automatic test case generation and test quality analysis for VR applications.
翻译:虚拟现实(VR)是一种新兴技术,它为用户提供了独特的实时经验。VR技术为用户提供了各种情景(例如培训、教育、产品/建筑设计、游戏、远程会议/旅游等)中的革命性用户经验。然而,测试VR应用因其性质而具有挑战性,需要物理互动,并依赖硬件系统。尽管VR技术及其使用情景最近有所进步,但我们对VR应用测试了解甚少。为了填补这一知识差距,我们对97个开放源VR应用软件进行了实证研究,包括28个工业项目。我们的分析发现,所评估的74.2%的VR项目没有进行任何测试,对VR项目而言,测试方法的中位值比比低。此外,我们发现了VR技术的测量范围及其使用情景,而我们所能够生成的代码覆盖范围和数据密度也相对较低,因为它们分别从15.63%和17.69 %的开放源应用软件。最后,通过对VR应用的4个测试案例进行人工测试,我们通过对V系统测试的4个测试案例进行测试,我们为V系统应用的4个测试,我们为V测试案例的4个测试案例提供了VR测试。