Tez No |
İndirme |
Tez Künye |
Durumu |
794571
|
|
Test yönetim simülasyonu ile yazılım kalitesinin iyileştirilmesi / Software quality improvement with test simulation
Yazar:EMİNE DEMİRCİOĞLU
Danışman: PROF. DR. OYA KALIPSIZ
Yer Bilgisi: Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:
|
Onaylandı
Doktora
Türkçe
2023
75 s.
|
|
Birbirine bağlı uygulamaların sayısındaki artış ve API mesaj güdümlü geliştirmeye
yönelik eğilim ve bunun sonucunda API kullanımındaki artışla birlikte, API testi
yazılım testinin kritik bir parçası haline gelmiştir. Özellikle API mesajlarını
kullanan iş mantığı açısından kritik sistemler düşünüldüğünde, tekrarlayan API
testlerinin önemi giderek artmaktadır. Büyük ölçekli kurumsal iş uygulamalarında
çok sayıda test senaryosunun tekrarlı ve manuel bir şekilde gerçekleştirilmesi
insana bağlı olması, hataya açık olması API testinin başarılı yürütülmesini daha da
zorlaştırmaktadır. Ayrıca, piyasada kullanılan mevcut API test otomasyon araçları,
uygulama bağımlı olmaları nedeniyle tüm iş alanlarına entegre edilememektedir.
Bu araçlar genellikle HTTP protokolü üzerinden erişilebilen Web API'lerini
desteklemektedir. Bu çalışmanın motivasyonu da, iletişim olarak API mesajlarını
kullanan istemci-sunucu mimarisine dayalı uygulamalara yönelik API regresyon
testi otomasyonu çerçevesi azlığından kaynaklanmaktadır. Bu nedenle, bu
çalışmada birbiriyle API mesajlarını kullanarak iletişimde bulunan istemci-sunucu
mimarisine dayalı sistemler için, farklı veri formatlarını destekleyen bir mesaj
güdümlü test otomasyon çerçevesi yaklaşımı önerilmektedir. Temel olarak,
çerçeve ağ üzerinde istemci sunucu uygulamaları arasındaki iletişimden elde
edilen ağ log dosyasından tersine mühendislik yöntemi ile API mesajlarını elde
ederek test ortamına karşı yürütülmesini ve doğrulanmasını sağlamaktadır.
Yaklaşımımız, önceki çalışmalardan farklı olarak yazılım testinde gerçek veri
paketlerinin kullanılmasına olanak sağlamaktadır. Veriye paket seviyesinde ulaşır.
Ağ paketlerinin kullanımı, çerçevenin genelleştirilmesini artırır. Bu çalışmada
önerdiğimiz yaklaşımımızın etkinliğini değerlendirmek için finansal bir sisteme
uyguladık.
|
|
With the increase in the number of interconnected applications and the trend
towards API message driven development and the consequent increase in API
usage, API testing has become a critical part of software testing. The importance
of repetitive API tests increases, especially considering the business-critical
systems using API messages. Successfully performing repetitive manual API testing
for a large number of test scenarios in large business enterprise applications
becomes even more difficult due to the fact that human errors may prevent
performing thousands of human-written tests with high precision every time.
Furthermore, the existing API test automation tools used in the market cannot be
integrated into all business domains due to their dependence on applications.
These tools generally support Web-APIs over the HTTP protocol. Hence, this study
is motivated by the fact that there is a lack of API message-driven regression
testing frameworks in a particular area in which API messages are used in clientserver communication. This study has been prepared to close the gap in a specific
domain which uses business domain APIs, rather than HTTP, in client-server
communication. We propose a novel approach based on the use of network packets for regression testing. We developed a proof-of-concept test automation
tool implementing our approach and evaluated it in a financial domain. Unlike
prior studies, our approach can provide the use of real network data packets in
software testing. It reaches to the data at packet level. The use of network packets
increases the generalization of the framework. Overall, our study reports
remarkable reuse capacity and makes a significant impact on a real-world
business-critical system by reducing effort and increasing the automation level of
API regression testing. |