Analysis of Test Smell Impact on Test Code Quality

dc.contributor.advisor Tuğlular, Tuğkan
dc.contributor.author Cebeci, İsmail
dc.date.accessioned 2024-10-25T23:28:28Z
dc.date.available 2024-10-25T23:28:28Z
dc.date.issued 2024
dc.description Thesis (Master)--Izmir Institute of Technology, Computer Engineering, Izmir, 2024 en_US
dc.description Includes bibliographical references (leaves. 49-55) en_US
dc.description Text in English; Abstract: Turkish and English en_US
dc.description.abstract Test Kokuları, test kodundaki kalıplardır ve mutlaka yanlış olmasa da, test kodunun sürdürülebilirliğini ve etkililiğini engelleyebilecek kötü tasarım seçimlerini önerir. Yazılım geliştirmede, programlamada daha derin sorunlara işaret eden kod kokuları kavramından kaynaklanan test kokuları, benzer şekilde otomatik test komut dosyalarındaki, yazılım test sürecinin güvenilirliğini ve netliğini tehlikeye atabilecek sorunlara işaret eder. Bu tez içinde en çok bilinen 2 araç kullanarak (JNose and TestSmellDetector), GitHub üzerinden erişilen 500 proje incelenmiştir. Belirtilen 500 adet projelerde Java dili kullanılmasına dikkat edildi. İncelenen projelerde bulunan bütün test dosyaları, kullanılan 2 araç için input olarak kullanılmıştır. Araçların çıktıları karşılaştırılarak, toplam kaç adet test kokusu bulunduğu, hangi aracın hangi test kokularını daha iyi tespit ettiğini, en çok hangi test kokularının test dosyalarına etki ettiğini, test kokularının birbiriyle olan ilişkileri ve meydana gelme şıklıkları araştırılmıştır. Sonuç olarak 'Assertion Roulette,' 'Magic Number Test,' ve 'Lazy Test,' iki araç içinde en yaygın test kokuları olarak elde edilmiştir. Ek olarak, JNose aracı kullanılarak en yüksek birlikte gerçekleşme oranları 'Koşullu Test Mantığı' ile 'Hevesli Test' ve 'İstisna Yakalama Fırlatma' ile 'Bilinmeyen Test' arasında gözlemlenmiştir. Öte yandan, TestSmellDetector Aracı kullanıldığında en yüksek birliktelik oranları 'Bilinmeyen Test' ile 'Hevesli Test' ile 'Kaynak İyimserliği' ve 'Gizemli Misafir' arasında gözlenmiştir. Bu sonuçlar kullanılarak, test dosyaları üzerinde yeniden düzenleme işlemleri için ne tür çalışmalar yapılması gerektiği kolaylıkla belirlenebilir. en_US
dc.description.abstract Software testing is a crucial component of the software development lifecycle, playing a key role in ensuring the quality and robustness of software products. However, test code, like production code, is susceptible to poor design choices or 'test smells,' which can compromise its effectiveness and maintainability. This thesis investigates the prevalence and impact of various test smells across open-source software projects, using advanced detection tools such as JNose and TestSmellDetector. The study reveals insights into the nature of test smells, their occurrence, and the efficacy of these detection tools. The research highlights that certain test smells, such as 'Assertion Roulette,' 'Magic Number Test,' and 'Lazy Test,' are notably prevalent. The study also examines the co-occurrence of different test smells, providing understanding of how these issues interrelate. Highest co-occurrence rates are observed between 'Conditional Test Logic' and 'Eager Test' and between 'Exception Catching Throwing' and 'Unknown Test' using the JNose tool. On the other hand, Highest co-occurrence rates are observed between 'Unknown Test' and 'Eager Test' and 'Source Optimism' and 'Mystery Guest' using TestSmellDetector Tool. Additionally, the thesis compares the effectiveness of JNose and TestSmellDetector in detecting test smells, providing insights into their strengths and limitations. The analysis of these tools demonstrates their utility in identifying problematic patterns in test code, thereby contributing to better testing practices. The thesis concludes with mentioning future work, including the development of more advanced detection algorithms and the exploration of refactoring techniques to mitigate the impact of test smells. en_US
dc.format.extent ix, 90 leaves en_US
dc.identifier.uri https://hdl.handle.net/11147/14950
dc.language.iso en en_US
dc.publisher 01. Izmir Institute of Technology en_US
dc.subject JNose tool en_US
dc.subject Test smell detector tool en_US
dc.subject Test code quality en_US
dc.subject Computer science en_US
dc.title Analysis of Test Smell Impact on Test Code Quality en_US
dc.title.alternative Test Kokusunun Test Kodu Kalitesi Üzerindekietkisinin Analizi
dc.type Master Thesis en_US
dspace.entity.type Publication
gdc.author.id 0000-0001-8789-2969
gdc.author.id 0000-0001-8789-2969 en_US
gdc.author.institutional Cebeci, İsmail
gdc.coar.type text::thesis::master thesis
gdc.description.department Thesis (Master)--İzmir Institute of Technology, Computer Engineering en_US
gdc.description.endpage 100 en_US
gdc.description.publicationcategory Tez
gdc.identifier.yoktezid 879502 en_US
relation.isAuthorOfPublication.latestForDiscovery 7f52fb71-3121-46a6-a461-2ff1b28d9fa1
relation.isOrgUnitOfPublication.latestForDiscovery 9af2b05f-28ac-4014-8abe-a4dfe192da5e

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Name:
14950.pdf
Size:
3.81 MB
Format:
Adobe Portable Document Format
Description:
Master Thesis