Açık kaynak yazılım projeleri için içsel ürün özelliklerine ve metriklerine dayalı bir test edilebilirlik analizi yöntemi
A testability analysis method based on internal attributes and metrics for open source software projects
Yazar: EBRU HANOĞLU
Danışman: DR. ÖĞR. ÜYESİ ADNAN ÖZSOY
Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Açık kaynak yazılımların önemi ve popülerliği her geçen gün artmaktadır. Bu doğrultuda açık kaynak yazılımlar için kalitenin yüksek tutulması hem geliştiriciler hem de kullanıcılar tarafından beklenmektedir. Yazılım kalitesi ise içsel ve dışsal pek çok faktörden etkilenen çok boyutlu bir kavramdır. Bu kapsamda yazılımın kalitesini etkileyen en önemli faktörlerden birisi de test edilebilirliktir. Bir yazılımın test edilebilirlik düzeyi ne kadar yüksekse, test eforu ve maliyeti o kadar düşük olacak, sonuçta güvenilir ve kaliteli ürünler ortaya çıkacaktır. Ancak, test edilebilirlik yazılım ürünlerinin içsel bir özelliği olmadığı için doğrudan ölçülmesi mümkün değildir. Dolayısı ile test edilebilirliği içsel özellikler ile ilişkilendiren yöntemlere ihtiyaç vardır. Literatürde test edilebilirliği anlamak için pek çok çalışma yapıldığı ve test edilebilirliği tahmin etmek için çeşitli ölçütler önerildiği görülmüştür. Bu tez çalışması kapsamında, test edilebilirliği değerlendirmeye yönelik literatürde önerilmiş olan iç ürün ölçütleri sistematik haritalama metodu kullanılarak derlenmiştir. Daha sonra derlenen bu ölçütlerin kendileri arasındaki ve test süit ölçütleri arasındaki ilişkiler seçilen örnek yazılım kümesi üzerinden deneysel olarak incelenmiştir. Ardından, test edilebilirliğin yazılımlar açısından neden önemli olduğunun anlaşılması için açık kaynak yazılımların başarısı ile test eforu arasında ilişki olup olmadığı test süit ölçütlerinden faydalanarak incelenmiştir. Bu deneysel incelemeler sonucunda, tez kapsamında kullanılan yazılım seti için kullanımı kolay ve sade bir test edilebilirlik formülü önerilmiş ve bu formülün işlevselliği, test eforu ile olan ilişkisi incelenerek kontrol edilmiştir. Elde edilen korelasyonlar sonucunda test edilebilirliği etkileyen faktörlerin birbirine bağımlı olduğu, test edilebilirliği azaltan faktörlerin harcanan test eforunu artırdığı gözlenmiştir. Açık kaynak yazılımların başarısı ile harcanan test eforu arasında ise orta düzeyde bir ilişki saptanmıştır. Ayrıca, test eforunun yazılan test kodunun kalitesine bağlı olarak artabileceğine dair sonuçlar elde edilmiştir.

Abstract:
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.