Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub

Automated tests are often considered an indicator of project quality. In this paper, we performed a large analysis of 6.3 M public GitHub projects using Java as the primary programming language. We created an overview of tests occurrence in publicly available GitHub projects and the use of test fram...

Full description

Bibliographic Details
Main Authors: Matej Madeja, Jaroslav Porubän, Sergej Chodarev, Matúš Sulír, Filip Gurbáľ
Format: Article
Language:English
Published: MDPI AG 2021-08-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/11/16/7250
id doaj-0f095ab9ed3a4d1aadc566168cc5b508
record_format Article
spelling doaj-0f095ab9ed3a4d1aadc566168cc5b5082021-08-26T13:29:19ZengMDPI AGApplied Sciences2076-34172021-08-01117250725010.3390/app11167250Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHubMatej Madeja0Jaroslav Porubän1Sergej Chodarev2Matúš Sulír3Filip Gurbáľ4Department of Computers and Informatics, Technical University of Košice, Letná 9, 042 00 Košice, SlovakiaDepartment of Computers and Informatics, Technical University of Košice, Letná 9, 042 00 Košice, SlovakiaDepartment of Computers and Informatics, Technical University of Košice, Letná 9, 042 00 Košice, SlovakiaDepartment of Computers and Informatics, Technical University of Košice, Letná 9, 042 00 Košice, SlovakiaDepartment of Computers and Informatics, Technical University of Košice, Letná 9, 042 00 Košice, SlovakiaAutomated tests are often considered an indicator of project quality. In this paper, we performed a large analysis of 6.3 M public GitHub projects using Java as the primary programming language. We created an overview of tests occurrence in publicly available GitHub projects and the use of test frameworks in them. The results showed that 52% of the projects contain at least one test case. However, there is a large number of example tests that do not represent relevant production code testing. It was also found that there is only a poor correlation between the number of the word “test” in different parts of the project (e.g., file paths, file name, file content, etc.) and the number of test cases, creation date, date of the last commit, number of commits, or number of watchers. Testing framework analysis confirmed that JUnit is the most used testing framework with a 48% share. TestNG, considered the second most popular Java unit testing framework, occurred in only 3% of the projects.https://www.mdpi.com/2076-3417/11/16/7250testing culturecode qualitytesting frameworkGitHubtest case presence
collection DOAJ
language English
format Article
sources DOAJ
author Matej Madeja
Jaroslav Porubän
Sergej Chodarev
Matúš Sulír
Filip Gurbáľ
spellingShingle Matej Madeja
Jaroslav Porubän
Sergej Chodarev
Matúš Sulír
Filip Gurbáľ
Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub
Applied Sciences
testing culture
code quality
testing framework
GitHub
test case presence
author_facet Matej Madeja
Jaroslav Porubän
Sergej Chodarev
Matúš Sulír
Filip Gurbáľ
author_sort Matej Madeja
title Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub
title_short Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub
title_full Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub
title_fullStr Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub
title_full_unstemmed Empirical Study of Test Case and Test Framework Presence in Public Projects on GitHub
title_sort empirical study of test case and test framework presence in public projects on github
publisher MDPI AG
series Applied Sciences
issn 2076-3417
publishDate 2021-08-01
description Automated tests are often considered an indicator of project quality. In this paper, we performed a large analysis of 6.3 M public GitHub projects using Java as the primary programming language. We created an overview of tests occurrence in publicly available GitHub projects and the use of test frameworks in them. The results showed that 52% of the projects contain at least one test case. However, there is a large number of example tests that do not represent relevant production code testing. It was also found that there is only a poor correlation between the number of the word “test” in different parts of the project (e.g., file paths, file name, file content, etc.) and the number of test cases, creation date, date of the last commit, number of commits, or number of watchers. Testing framework analysis confirmed that JUnit is the most used testing framework with a 48% share. TestNG, considered the second most popular Java unit testing framework, occurred in only 3% of the projects.
topic testing culture
code quality
testing framework
GitHub
test case presence
url https://www.mdpi.com/2076-3417/11/16/7250
work_keys_str_mv AT matejmadeja empiricalstudyoftestcaseandtestframeworkpresenceinpublicprojectsongithub
AT jaroslavporuban empiricalstudyoftestcaseandtestframeworkpresenceinpublicprojectsongithub
AT sergejchodarev empiricalstudyoftestcaseandtestframeworkpresenceinpublicprojectsongithub
AT matussulir empiricalstudyoftestcaseandtestframeworkpresenceinpublicprojectsongithub
AT filipgurbal empiricalstudyoftestcaseandtestframeworkpresenceinpublicprojectsongithub
_version_ 1721195097068929024