Süreçlerinizi Hızlandırın
Günümüzde yazılım geliştirme süreçlerinde entegrasyon ve API testleri önemli bir yer tutar. Ancak, test senaryoları sırasında her zaman gerçek sistemlere bağlanmak mümkün olmaz. Bu gibi durumlarda servis mocklama imdada yetişir. SOAP UI, hem SOAP hem de REST servislerini kolayca mocklamak için sık kullanılan araçlardan biridir. Bu yazıda, SOAP UI ile bir servis nasıl mocklanır ve bu süreç, geliştirme/test sürecine nasıl katkı sağlar, adım adım inceleyeceğiz.

1. SOAP UI Nedir ve Neden Mock Servislerine İhtiyaç Duyarız?
SOAP UI, API testi için kullanılan popüler ve güçlü bir araçtır. Ancak, bazen gerçek API’lere erişim kısıtlı olabilir. Özellikle:
– API henüz geliştirilmemiş olabilir.
– Test ortamında üçüncü parti sistemler mevcut olmayabilir.
– Çalışan bir servis, yoğun trafik altında veya belirli bir süre kapalı olabilir.
İşte bu noktada mock servisler kullanmak, geliştirme ekiplerinin zaman kaybetmeden işlerine devam etmesini sağlar. Mock servisler, gerçek servislere benzer davranışlar sergileyerek API tüketicilerinin ihtiyaçlarını karşılar. Bu sayede, sistemler arası bağımlılık azaltılır ve testlerin sürekliliği sağlanır.
2. SOAP UI ile Mock Servis Oluşturma: Adım Adım Kılavuz
Adım 1: SOAP UI Projesi Oluşturma
Öncelikle SOAP UI’yı açın ve yeni bir proje oluşturun. Eğer hali hazırda elinizde bir WSDL dosyası varsa, projeyi oluştururken bu dosyayı yükleyebilirsiniz.
Adım 2: Mock Servis Oluşturma
Projeyi oluşturduktan sonra, bir mock servis yaratmak için aşağıdaki adımları izleyin:
1. Proje içindeki servisinize sağ tıklayın ve Generate MockService seçeneğine tıklayın.
2. Açılan pencerede mock servise bir isim verin.
3. İsteğe bağlı olarak servis için farklı port veya path bilgilerini düzenleyebilirsiniz.
4. OK diyerek mock servisi oluşturun.
Adım 3: Mock Servisi Konfigüre Etme
Oluşturduğunuz mock servisin endpoint’ini ve davranışlarını özelleştirmek için:
– Servise sağ tıklayın ve Add New MockResponse seçeneğini seçin.
– Mock response’un içeriğini, örneğin başarılı veya hata durumuna göre düzenleyin.
– Gecikme süresi (latency) eklemek isterseniz, ilgili response için Response Delay seçeneğini kullanabilirsiniz.
Adım 4: Mock Servisi Çalıştırma
Mock servisi çalıştırmak için, oluşturduğunuz mock servise sağ tıklayıp Start Minimized seçeneğini seçin. SOAP UI, artık belirttiğiniz port üzerinden bir mock endpoint sunar. Tarayıcı veya Postman gibi araçlarla bu endpoint’e istekte bulunarak servisin çalıştığını test edebilirsiniz.
3. Mock Servislerin Test Sürecindeki Faydaları
SOAP UI ile mock servislerin kullanımı, aşağıdaki avantajları sağlar:
1. Zaman ve Bağımlılıkların Azaltılması: Testler, gerçek servislerin kullanılabilirliğine bağlı kalmadan yapılabilir.
2. Esneklik: Farklı yanıt senaryoları oluşturularak hata durumları gibi senaryolar kolayca simüle edilebilir.
3. Geliştirici ve Testçi İşbirliği: Mock servisler sayesinde geliştirme ekipleri, API henüz hazır olmasa bile entegrasyon çalışmalarına başlayabilir.
4. Daha Hızlı Geri Bildirim: Hızlı geri bildirim alarak sorunları erken aşamada tespit etme imkânı sunar.
4. İleri Seviye Mocklama: Dynamic Response ve Script Kullanımı
SOAP UI ile daha karmaşık senaryoları test etmek isterseniz, mock servislerinize Groovy script ekleyebilirsiniz. Bu sayede, gelen isteğe göre dinamik yanıtlar döndüren mocklar oluşturmanız mümkün olur. Örneğin, istemciden gelen parametrelere göre yanıtın içeriğini değiştirebilirsiniz:
if (mockRequest.requestContent.contains("success")) {
return "<response><status>Success</status></response>";
} else {
return "<response><status>Error</status></response>";
}
5. Sonuç
SOAP UI ile servis mocklama, özellikle entegrasyon testlerinde geliştirici ve test ekiplerinin işini kolaylaştıran güçlü bir tekniktir. Gerçek sistemlerin yokluğunda bile, mock servisler sayesinde API’lerinizi test edebilir, hata senaryolarını simüle edebilir ve geliştirme süreçlerinizi hızlandırabilirsiniz. SOAP UI’nın sunduğu esnek yapılar ile hem basit hem de karmaşık mock senaryolarını kolayca yönetebilirsiniz.
Fatih Yarız