Açık Kaynak Yazılım Projeleri İçin İçsel Ürün Özelliklerine ve Metriklerine Dayalı Bir Test Edilebilirlik Analizi Yöntemi
Özet
Open source software has gained importance and popularity over the last decades. In this sense, high quality open source software products are demanded by developers and users. Software quality is a multi-dimensional concept that is influenced by many internal and external factors. Among them, testability is one of the most important factors affecting the quality of the software. Higher testability of software results in lower testing effort and cost, which leads reliable and qualified products. However, testability is not directly measured since it is not an internal attribute of software products. This makes necessary to correlate testability and internal attributes of the software. There are a lot of studies in the literature about interpreting testability and several metrics have been proposed to predict testability. In the scope of this thesis, internal product metrics intending to predict testability are collected using systematic mapping method. Afterwards, relations between these metrics among themselves and with the test suite metrics are empirically analyzed by utilizing data set which consists of published open source software products. Then, in order to perceive the importance of testability for a software product, the relation between the success of open source software and test effort is examined using test suite metrics. As a result of these empirical examinations, a simple testability formula is proposed for the software set referenced in this thesis. Moreover, the relation between testability and the test effort is empirically investigated. Gained correlations shows that the factors effecting the testability are dependent to each other. It is observed that the factors that decrease the testability increase the test effort. Furthermore, it is determined that the success of open-source software and the test effort have a mid-level correlation. In addition, there are some results indicating that the test effort might increase based on the quality of the test code.