  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.

Software Engineering