Development of co-evolution tracker tool for software with acceptance criteria
No Thumbnail Available
Date
2022-07
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Izmir Institute of Technology
Open Access Color
OpenAIRE Downloads
OpenAIRE Views
Abstract
Testing is a vital part of achieving good-quality software. Deploying untested code can cause system crashes and unexpected behavior. In order to reduce these problems, testing must be prioritized. However, once test suites are created, they should not remain static throughout the software updates. Since whenever software gets updated, new functionalities are added or existing functionalities are changed, so whenever the application is updated, test suites must be updated along with the software. If the old test suites are used with the new updates, unexpected testing results can occur. In order to repair test cases in the process of software evolution, analyzing real-world projects’ software and test case evolution is an important prerequisite. Software repositories contain valuable information about the software systems. Having access to older versions and by differentiating adjacent versions’ test and production code changes can provide information about the evolution process of the software. This thesis concentrates on the development of a tool that is used for the analysis of 21 real-world projects in the terms of co-evolution of both software and its test suites. Related projects are retrieved from repositories and filtered according to this study’s needs, then for each project's every update is analyzed, and graphs and analysis related to the co-evolution process are created.
Yüksek kalitede yazılım elde etmede, test yazılımı ve test koşumu önemli bir noktadır. Test edilmemiş kodların canlı sistemlere yayılması sistem hatalarına ve beklenmedik davranışlara yol açar. Bu hataların azaltılması için test yazımı önceliklendirilmelidir. Testler ilk defa yazıldıktan sonra, yeni yazılım güncellemeleri gelmesine rağmen statik kalmamalıdır. Yazılım güncellemelerin sonucunda yeni fonksiyonlar eklenir veya mevcutta bulunan fonksiyonlar güncellenir. Bu güncellemelerin sonucunda ilgili testlerin de güncellenmesi gerekmektedir. Eğer eski testler, yeni güncellemeler ile kullanılmaya devam edilirse beklenmedik test sonuçları oluşabilir. Testleri yazılım güncellemesiyle birlikte onarmak-güncellemek için, projelerdeki test ve yazılım evriminin incelenmesi önemlidir. GitHub gibi yazılım depoları, yazılımların geçmişi ve gelişimi hakkında değerli bilgilere sahiptir. Yazılımların geçmişteki versiyonlarına erişim ve arka arkaya gelen iki versiyon arasındaki test ve yazılım kodundaki değişimi incelemek, yazılımın evrimi hakkında bilgi almayı sağlar.Bu tez, 21 gerçek dünya projesinin birlikte-evrimini izleme aracının geliştirilmesi ve bu aracın çıkardığı sonuçların analizlerini kapsar. İlgili projeler, GitHub yazılım depolarından alındı ve tez kapsamına göre filtrelendikten sonra her projenin her güncellemesinin analizi yapıldı ve yazılımdaki birlikte-evrimi kapsayan ve anlatan grafikler, tablolar ve analizler üretildi.
Yüksek kalitede yazılım elde etmede, test yazılımı ve test koşumu önemli bir noktadır. Test edilmemiş kodların canlı sistemlere yayılması sistem hatalarına ve beklenmedik davranışlara yol açar. Bu hataların azaltılması için test yazımı önceliklendirilmelidir. Testler ilk defa yazıldıktan sonra, yeni yazılım güncellemeleri gelmesine rağmen statik kalmamalıdır. Yazılım güncellemelerin sonucunda yeni fonksiyonlar eklenir veya mevcutta bulunan fonksiyonlar güncellenir. Bu güncellemelerin sonucunda ilgili testlerin de güncellenmesi gerekmektedir. Eğer eski testler, yeni güncellemeler ile kullanılmaya devam edilirse beklenmedik test sonuçları oluşabilir. Testleri yazılım güncellemesiyle birlikte onarmak-güncellemek için, projelerdeki test ve yazılım evriminin incelenmesi önemlidir. GitHub gibi yazılım depoları, yazılımların geçmişi ve gelişimi hakkında değerli bilgilere sahiptir. Yazılımların geçmişteki versiyonlarına erişim ve arka arkaya gelen iki versiyon arasındaki test ve yazılım kodundaki değişimi incelemek, yazılımın evrimi hakkında bilgi almayı sağlar.Bu tez, 21 gerçek dünya projesinin birlikte-evrimini izleme aracının geliştirilmesi ve bu aracın çıkardığı sonuçların analizlerini kapsar. İlgili projeler, GitHub yazılım depolarından alındı ve tez kapsamına göre filtrelendikten sonra her projenin her güncellemesinin analizi yapıldı ve yazılımdaki birlikte-evrimi kapsayan ve anlatan grafikler, tablolar ve analizler üretildi.
Description
Thesis (Master)--Izmir Institute of Technology, Computer Engineering, Izmir, 2022
Includes bibliographical references (leaves. 41-44)
Text in English; Abstract: Turkish and English
Includes bibliographical references (leaves. 41-44)
Text in English; Abstract: Turkish and English
ORCID
Keywords
Software, Software testing, Test codes, Code analysis