遇见数据集

E2EGit: A Dataset of End-to-End Web Tests in Open Source Projects

收藏
Zenodo2025-05-20 更新2026-05-26 收录
官方服务:

资源简介:

ABSTRACT End-to-end (E2E) testing is a software validation approach that simulates realistic user scenarios throughout the entire workflow of an application. In the context of webapplications, E2E testing involves two activities: Graphic User Interface (GUI) testing, which simulates user interactions with the web app’s GUI through web browsers, and performance testing, which evaluates system workload handling. Despite its recognized importance in delivering high-quality web applications, the availability of large-scale datasets featuring real-world E2E web tests remains limited, hindering research in the field.To address this gap, we present E2EGit, a comprehensive dataset of non-trivial open-source web projects collected on GitHub that adopt E2E testing. By analyzing over 5,000 web repositories across popular programming languages (JAVA, JAVASCRIPT, TYPESCRIPT, and PYTHON), we identified 472 repositories implementing 43,670 automated Web GUI tests with popular browser automation frameworks (SELENIUM, PLAYWRIGHT, CYPRESS, PUPPETEER), and 84 repositories that featured 271 automated performance tests implemented leveraging the most popular open-source tools (JMETER, LOCUST). Among these, 13 repositories implemented both types of testing for a total of 786 Web GUI tests and 61 performance tests. DATASET DESCRIPTION The dataset is provided as an SQLite database, whose structure is illustrated in Figure 3 (in the paper), which consists of five tables, each serving a specific purpose.The repository table contains information on 1.5 million repositories collected using the SEART tool on May 4. It includes 34 fields detailing repository characteristics. Thenon_trivial_repository table is a subset of the previous one, listing repositories that passed the two filtering stages described in the pipeline. For each repository, it specifies whether it is a web repository using JAVA, JAVASCRIPT, TYPESCRIPT, or PYTHON frameworks. A repository may use multiple frameworks, with corresponding fields (e.g., is web java) set to true, and the field web dependencies listing the detected web frameworks. For Web GUI testing, the dataset includes two additional tables; gui_testing_test _details, where each row represents a test file, providing the file path, the browser automation framework used, the test engine employed, and the number of tests implemented in the file. gui_testing_repo_details, aggregating data from the previous table at the repository level. Each of the 472 repositories has a row summarizingthe number of test files using frameworks like SELENIUM or PLAYWRIGHT, test engines like JUNIT, and the total number of tests identified. For performance testing, the performance_testing_test_details table contains 410 rows, one for each test identified. Each row includes the file path, whether the test uses JMETER or LOCUST, and extracted details such as the number of thread groups, concurrent users, and requests. Notably, some fields may be absent—for instance, if external files (e.g., CSVs defining workloads) were unavailable, or in the case of Locust tests, where parameters like duration and concurrent users are specified via the command line.

【摘要】端到端(End-to-end, E2E)测试是一类软件验证方法,其通过模拟真实用户场景覆盖应用的完整工作流程。在Web应用场景下,端到端测试包含两项核心活动:一是图形用户界面(Graphic User Interface, GUI)测试,即通过Web浏览器模拟用户与Web应用图形界面的交互行为;二是性能测试,用于评估系统的工作负载处理能力。尽管端到端测试对交付高质量Web应用的重要性已得到广泛认可,但包含真实场景E2E Web测试的大规模数据集仍较为稀缺,这极大制约了该领域的研究发展。为填补这一研究空白,我们推出了E2EGit数据集——一个收录自GitHub平台、采用端到端测试的非平凡开源Web项目综合数据集。本研究通过分析5000余个覆盖主流编程语言(Java、JavaScript、TypeScript及Python)的Web代码仓库,最终筛选出472个实现了43670个自动化Web GUI测试的仓库,这些测试依托主流浏览器自动化框架(Selenium、Playwright、Cypress、Puppeteer)开发;同时筛选出84个包含271个自动化性能测试的仓库,这些测试基于当前主流开源工具(JMeter、Locust)实现。其中,有13个仓库同时实现了两类测试,总计包含786个Web GUI测试与61个性能测试。 【数据集说明】本数据集以SQLite数据库形式提供,其结构如论文中的图3所示,共包含5个功能各异的数据表。仓库表收录了于5月4日通过SEART工具采集的150余万个代码仓库的相关信息,包含34个字段以详细描述仓库的各项特征。非平凡仓库表为上述仓库表的子集,列出了通过研究流程中两个过滤阶段的代码仓库。针对每个仓库,该表会标注其是否为使用Java、JavaScript、TypeScript或Python框架的Web仓库。一个仓库可同时使用多种框架,此时对应的字段(如is_web_java)将被设为真,而web_dependencies字段则会列出检测到的Web框架。针对Web GUI测试,本数据集额外包含两张数据表:一是gui_testing_test_details表,每一行对应一个测试文件,提供文件路径、所用浏览器自动化框架、测试引擎,以及该文件中实现的测试用例数量;二是gui_testing_repo_details表,以代码仓库为单位聚合前一张表的数据。472个符合条件的仓库各对应一行数据,汇总了该仓库使用Selenium、Playwright等框架的测试文件数量、JUnit等测试引擎的使用情况,以及总计识别出的测试用例总数。针对性能测试,performance_testing_test_details表共包含410行数据,每一行对应一个识别出的性能测试。每行数据包含文件路径、测试是否使用JMeter或Locust,以及提取出的相关细节,例如线程组数量、并发用户数与请求数。值得注意的是,部分字段可能为空:例如当定义工作负载的CSV等外部文件无法获取时,或是Locust测试场景——这类测试的持续时间、并发用户数等参数通常通过命令行指定,因此无法直接从代码中提取相关信息。

提供机构:
Zenodo
创建时间:
2025-03-07
二维码
社区交流群
二维码
科研交流群
商业服务