一句话:提出面向 Unity VR 项目的静态分析测试异味检测器 VRTestSniffer,可检测 17 类测试异味并达到 95.61% F1。
虚拟现实(VR)应用因主动交互、硬件依赖和沉浸环境导致测试困难,开发者编写的测试用例较少且常含测试异味,现有检测仅覆盖少数类别且缺乏上下文。本文提出 VRTestSniffer,一个面向 Unity VR 应用的静态分析测试异味检测器,在 tsDetect 基础上扩展到 17 类,利用抽象语法树、控制流图和数据流图捕获 VR 测试相关的控制与数据依赖,取得 95.61% F1。作者还对真实 VR 项目进行实证分析,发现若干异味类别与功能代码中的 Blob、Complex Class 等设计问题相关。
Virtual Reality (VR) is an emerging technology increasingly adopted in sectors such as gaming, education, border security, and industrial training. However, testing VR applications presents unique challenges due to factors like active user interaction, hardware dependencies, and immersive environments. Recent studies suggest that developers often write fewer test cases for VR applications, and these limited test cases frequently exhibit test smells. Current research on VR test smell detection can only identify a small subset of test smells and often lacks the necessary context for comprehensive detection. This highlights a critical gap in current testing practices for VR applications and underscores the need for approaches tailored to detecting and addressing quality issues in VR test cases.To address this research gap, we developed VRTestSniffer, a static analysis-based tool that extends test smell detection capabilities specifically for Unity-based VR applications. VRTestSniffer can detect 17 test smell categories, building upon those identified by the state-of-the-art tool tsDetect, and achieves an F1-score of 95.61%. It leverages abstract syntax trees (ASTs), control flow graphs (CFGs), and data flow graphs (DFGs) to enhance detection accuracy by capturing both control and data dependencies specific to VR testing patterns. In parallel, we conducted an empirical analysis of real-world VR projects to examine the prevalence and characteristics of these test smells. Our findings reveal that a few smelly test categories are associated with design issues such as Blob and Complex Class in functional code. We believe that VRTestSniffer, along with the empirical insights derived from this study, can help VR developers write more effective, reliable, and maintainable test cases. To support further research and replication, our tool, dataset, and analysis results are publicly available at [1].
DOI 原文 ·
@inproceedings{paperbot9277,
title = {VRTestSniffer: Test Smell Detector for Virtual Reality (VR) Software Projects},
author = {Faraz Gurramkonda and Avishak Chakroborty and Bruce Maxim and Mohamed Wiem Mkaouer and Foyzul Hassan},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00163}
}