The HTML5 <canvas> is widely used to display high quality graphics in web applications. However, the combination of web, GUI, and visual techniques that are required to build <canvas> applications, together with the lack of testing and debugging tools, makes developing such applications very challenging. To help direct future research on testing <canvas> applications, in this paper we present a taxonomy of testable <canvas> issues. First, we extracted 2,403 <canvas>-related issue reports from 123 open-source GitHub projects that use the HTML5 <canvas>. Second, we constructed our taxonomy by manually classifying a random sample of 332 issue reports. Our manual classification identified five broad categories of testable <canvas> issues, such as Visual and Performance issues. We found that Visual issues are the most frequent (35%), while Performance issues are relatively infrequent (5%). We also found that many testable <canvas> issues that present themselves visually on the <canvas> are actually caused by other components of the web application. Our taxonomy of testable <canvas> issues can be used to steer future research into <canvas> issues and testing.
翻译:HTML5 <canvas> 被广泛用于在Web应用程序中显示高质量图形。然而,构建<canvas>应用所需的Web、GUI和可视化技术的结合,以及测试与调试工具的缺乏,使得此类应用开发极具挑战性。为引导<canvas>应用测试的未来研究方向,本文提出了一种可测试<canvas>问题的分类法。首先,我们从123个使用HTML5 <canvas>的开源GitHub项目中提取了2,403份与<canvas>相关的缺陷报告。其次,通过对332份缺陷报告随机样本进行手工分类,我们构建了分类法。手工分类识别出五大类可测试<canvas>问题,例如可视化问题和性能问题。研究发现,可视化问题最为常见(35%),而性能问题相对较少(5%)。同时发现,许多在<canvas>上表现为可视化问题的可测试缺陷,实际上是由Web应用的其他组件引发的。本文提出的可测试<canvas>问题分类法可为未来关于<canvas>问题与测试的研究提供指导。