Nesne yönelimli yazılımlar ve RESTful web servisler için yapay arı kolonisi temelli yazılım test yöntemleri geliştirilmesi
Artificial bee colony-based software test suite generation for object-oriented software and RESTful web services
Yazar: ÖMÜR ŞAHİN
Danışman: PROF. DR. BAHRİYE AKAY
Erciyes Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2020
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Yapay arı kolonisi algoritması = Artificial bee colony algorithm ; Yapay zeka = Artificial intelligence ; Yazılım testi = Software test

Özet:
Yazılımların yeteri kadar ve doğru bir şekilde test edilememesi neticesinde yazılım projelerinin çoğu başarısız olmaktadır. Yazılım test maliyetinin indirgenmesi ve yazılım kalitesinin artması için test senaryolarının manuel yazılması yerine otomatize edilmesine ihtiyaç duyulmaktadır. Otomatik yazılım test senaryosu üretimi kombinasyonel optimizasyon problemi olarak modellenebilir ve arama algoritmaları ile çözülebilir. Bu tez çalışmasında, nesne yönelimli programlama ve RESTful web servisler için test senaryosu üretimine yönelik yüksek performanslı arama algoritmaları geliştirilmiştir. Tez çalışmasının ilk kısmında, Yapay Arı Koloni algoritması, çaprazlama ve mutasyon operatörleri kullanılarak, nesne yönelimli programlama için test senaryosu üretimine uygun hale getirilmiştir. Daha sonra, keşif ve faydalanma yeteneklerini artırmak amacıyla Modifiye Edilmiş Arşiv Tabanlı Yapay Arı Koloni Algoritması önerilmiştir. Yapılan deneysel çalışmalarda en uygun çaprazlama tekniği belirlenmiş olup, arşiv mekanizmasının etkisi incelenmiştir. Zorluk seviyelerine göre ayrılmış problemler üzerinde çalıştırılan algoritmalar ile elde edilen kapsama miktarına göre algoritmaların performans analizi gerçekleştirilmiştir. İstatistiksel analizlere göre, Modifiye Edilmiş Arşiv Tabanlı Yapay Arı Koloni Algoritması daha az çevrim gerçekleştirerek diğer algoritmalardan daha fazla kapsama miktarına eriştiği görülmüştür. 
Tezin ikinci kısmında, RESTful web servisler için test senaryosu üretimi amacıyla Yapay Arı Koloni algoritması uyarlanmış ve eksiklikleri göz önünde bulundurularak Hiper-Kâşif Arı Fazlı Dinamik Yapay Arı Koloni Algoritması olarak isimlendirilen yeni bir Yapay Arı Koloni algoritması önerilmiştir. İlk olarak önerilen algoritmaların kontrol parametreleri belirlenmiş, daha sonra önerilen algoritmalar ile literatürde bilinen algoritmaların kapsadığı hedef sayısı, bulduğu hata sayısı, üretilen test sayısı ve çalışma zamanı sonuçları istatistiksel analizler kullanılarak kıyaslanmıştır. Elde edilen sonuçlara göre Hiper-Kâşif Arı Fazlı Dinamik Yapay Arı Koloni Algoritması tez çalışmasında ele alınan diğer algoritmalardan daha yüksek başarım elde etmiştir.

Abstract:
Most of the software projects fail because they are not tested sufficiently or correctly. In order to reduce the software testing cost and increase the software quality, writing test cases needs to be automated instead of manual writing. Automating test case generation can be modeled as a combinatorial optimization problem that can be solved by search algorithms. In this thesis, efficient search algorithms were developed for object-oriented software and RESTful web services. In the first part of the thesis, the Artificial Bee Colony algorithm was modified by using crossover and mutation operators to be suitable for test case generation for object-oriented software. Then, a Modified Archive-Based Artificial Bee Colony was proposed in order to increase exploration and exploitation capabilities. In the experimental studies, the most appropriate crossover technique was determined and the effect of the archive mechanism was examined. Performance analysis of the algorithms was carried out according to the amount of coverage on the problems separated by their difficulty levels. According to the statistical analyzes, it was observed that Modified Archive-Based Artificial Bee Colony achieves higher coverage than the other algorithms even it performs fewer cycles. 
In the second part of the thesis, the Artificial Bee Colony algorithm was adapted for test case generation of RESTful web services, and a new Artificial Bee Colony algorithm named Dynamic Artificial Bee Colony with Hyper-Scout was proposed by considering its shortcomings. First, the control parameters of the proposed algorithms were tuned and then, the results of the proposed algorithms were compared to those of state-of-the-art algorithms using statistical analysis in terms of the number of covered targets, error findings, number of generated test cases and execution time. According to the results, Dynamic Artificial Bee Colony with Hyper-Scout achieves better performance compared to the other algorithms considered in the thesis.