Kümeleme yaklaşımı ile model tabanlı test önceliklerinin belirlenmesi
Determination of model based test priorities by clustering approach
Yazar: NİDA GÖKÇE
Danışman: YRD. DOÇ. DR. BEKİR TANER DİNÇER
Muğla Üniversitesi / Fen Bilimleri Enstitüsü / Matematik Ana Bilim Dalı
Derece: Doktora, 2012
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; İstatistik = Statistics

Özet:
Bu çalışmada test önceliklendirme probleminin çözümüne yönelik, yazılımın kaynak kodu ve test geçmişine ait hata sayısı gibi ön bilgiler bulunmadığı durumlarda test dizilerini hata ortaya çıkarma potansiyellerine göre sıralamayı amaçlayan kümelemeye dayalı yeni bir test önceliklendirme yöntemi geliştirilmiştir. Bu yöntem yazılımın sunduğu hizmetlerin kullanıcı tarafından kullanım modelini betimleyen olay dizisi grafiklerinden Çinli postacı problemi esasına göre üretilen test takımlarına uygulanmıştır. Olay olarak adlandırılan sistem bileşenlerini nitelendirebilmek için modeller ve test takımları üzerinden üç grupta farklı faktörler tanımlanmıştır. Tanımlanan faktörler yardımıyla birer vektör olarak temsil edilen olaylar klasik ve bulanık kümeleme algoritmaları ile kümelenmiştir. Oluşturulan kümelere önem dereceleri atanmış ve önemlilik değeri yüksek olaylardan oluşan kümedeki olayların bulunduğu test dizilerinin önce test edilmesinin hata yakalama açısından önemli olduğu gösterilmiştir.Önerilen önceliklendirme yöntemi bir Web yazılımının testi sürecine uygulanmıştır. Farklı hiyerarşik düzeylerde birden çok ODG graf ile modellenen sistem üzerinden önce her graf için ayrı ayrı, daha sonrada detaylandırılmış model (tüm grafları içeren) üzerinden tek bir test takımı üretilerek önceliklendirilmiştir. Önceliklendirilmiş test takımı üzerinden gerçekleştirilen test sonucunda modüldeki hatalar ortaya çıkarılmıştır. Test sonucunda ortaya çıkarılan hata sayıları kullanılarak önerilen önceliklendirme metotlarının hata yakalama başarımları değerlendirilmiştir. Kümeleme ile test önceliklendirme metotlarının performanslarını değerlendirmek için, hata yakalayan olay kapsama, tekrarlı hata yakalama, tekrarsız hata yakalama, tüm hataları ortaya çıkarma hızı gibi dört yeni değerlendirme kriteri kullanılmıştır. Ticari bir uygulamanın testi üzerinden yapılan denemeler sonucunda kümeleme ile test önceliklendirme yöntemlerinin sistemdeki hataları erken ortaya çıkarmada başarılı olduğu görülmüştür.

Abstract:
In this study, a new test prioritization method based on clustering was developed for solving the problem of test case prioritization. This method is aimed at sorting test sequences according to their potentials of revealing faults in the cases software source code and prior information for fault are unavailable. The method was applied to the suites of tests generated on the basis of Chinese Postman Problem which is one of the event sequences graphs describing usage model for services of the software by user. In order to characterize the components of the system called events, the factors in three different groups were defined by using ESG models and test sequences. Represented as vectors with the help of the defined factors, the events were clustered by hard and fuzzy clustering algorithms. The importance degrees were assigned to the resulting clusters. And it was shown to be important in terms of detecting failures to test earlier the test sequences where there are events of the cluster composed of events of high importance.Suggested test prioritization method was applied to the test process for a web based application. The software system was modeled using more than one ESG at different hierarchical levels. Firstly, test suites were generated for each graph separately, then only one test suite was generated by the model detailed in such a way to cover all models and the method was applied to these test suites. As a result of the test conducted faults in the system were revealed. Four new performance evaluation criteria such as coverage event capturing failure, capturing repetitive failure, capturing non-repetitive failure and rate of revealing all failures, which expose fault detection success of test sequences, are used for the evaluation of the proposed clustering-based test prioritization method. The results of the experimental analyses performed using a commercial application has shown that the fault detection performance of test prioritization methods can be increased considerably by using the approach.