Please use this identifier to cite or link to this item: https://hdl.handle.net/11147/7480
Title: Effectiveness of Using Clustering for Test Case Prioritization
Other Titles: Test Durum Önceliklendirmesinde Kümeleme Kullanımının Etkililiği
Authors: Günel, Can
Advisors: Ayav, Tolga
Keywords: Software testing
Test case prioritization
Clustering
Publisher: Izmir Institute of Technology
Source: Günel, C. (2019). Effectiveness of using clustering for test case prioritization. Unpublished master's thesis, İzmir Institute of Technology, İzmir, Turkey
Abstract: Software testing is one of the most important processes in the software development life cycle. As software evolves, previous test cases need to be re-executed to make sure that there is no new bugs introduced and nothing is broken in the existing behaviours. However, re-execution of all test cases could be expensive. That is why, test case prioritization method can be used to detect faults earlier by prioritizing the test cases which could have the higher possibility than others to find faults. Studying different approaches, implementing different techniques or putting these techniques to test on different programs could make it easier to answer which technique should be used for which kind of programs or faults. We address this issue, focusing on selecting different test case prioritization approaches and calculating the average fault detection ratios of prioritized test suites. As a novelty, we propose to perform an optimization algorithm on one of the approaches called `Clustering` to increase its efficiency. To do that, our main objective is determined as maximizing the distance between each clusters by using the coverage information. The distance is measured as the difference of covered functions of test cases in a test suite. In the end, this study will give a hint about selection of test case prioritization technique to be used by checking the empirical results of the experiments.
Yazılım testi, yazılım geliştirme döngüsünün en önemli süreçlerinden birisidir. Çünkü, yazılım büyüdükçe, yeni hatalar ortaya çıkarılmadığından ve çalışan hiçbir fonksiyonun bozulmadığından emin olmak için önceden tanımlanmış testlerin tekrar çalıştırılması gerekmektedir. Ancak bu testlerin tekrar çalıştırılması işlemi oldukça maliyetli olabilir. Bu sebeple, yazılımdaki hataları daha erken tespit edebilmek amacıyla, hatayı bulma olasılığı daha fazla olan testleri önceliklendirmeye dayanan test durum önceliklendirmesi metodu kullanılabilir. Çeşitli yöntemler üzerinde çalışarak, çeşitli teknikleri geliştirerek ve bunları çeşitli programlar üzerinde test ederek, hangi tekniğin hangi tip programlarda yada hangi tip hatalarda kullanılabileceğine daha kolay cevap verilebilir. Biz bu konuda test durum öncelikleme yöntemlerinin seçimi ve önceliklendirilmiş test grubunun ortalama hata bulma oranlarını hesaplanmasına odaklanarak gerçekleştirdik çalışmamızı. Yenilik olarak son zamanlarda kullanılmaya başlanan yöntemlerden biri olan Kümeleme metoduna verimi artımak için optimizasyon uygulanmasını öneriyoruz. Bunu yapabilmek için, esas olarak kümeler arasındaki mesafenin kapsam bilgileri kullanılarak maksimum olmasını amaçlıyoruz. Kümeler arasındaki mesafe kümelerin kapsadığı fonksiyonlar arasındaki fark ile hesaplanmaktadır. Sonuç olarak, bu çalışma deneysel sonuçlara bakarak hangi test durum önceliklendirme yönteminin seçilebileceği konusunda ipucu vermektedir.
Description: Thesis (Master)--Izmir Institute of Technology, Computer Engineering, Izmir, 2019
Includes bibliographical references (leaves: 34-38)
Text in English; Abstract: Turkish and English
URI: https://hdl.handle.net/11147/7480
Appears in Collections:Master Degree / Yüksek Lisans Tezleri

Files in This Item:
File Description SizeFormat 
T001918.pdfMasterThesis13.42 MBAdobe PDFThumbnail
View/Open
Show full item record



CORE Recommender

Google ScholarTM

Check





Items in GCRIS Repository are protected by copyright, with all rights reserved, unless otherwise indicated.