WEB SERVİS ve WEB SERVİS TESTİ
Web Servis Nedir?
Web servisi için en temel tanım, sistemler arasında haberleşmek için kullanılan standart protokoller(HTTP veya HTTPS) denilebilir. Bu haberleşme çoğunlukla XML ve JSON merkezli olarak yapılır.
Kısaca bahsedecek olursak, XML(Extensible Markup Language) Türkçesi Genişletilebilir İşaretleme Dili anlamına gelen XML kolay okunabilir dokümanlar oluşturmayı sağlayan bir dildir.
JSON(JavaScript Object Notation) Türkçesi JavaScript Nesne Notasyonu olan JSON ise XML’e göre daha esnek olan bir dildir. Yine veri haberleşmesi için kullanılan dillerden biridir.
Farklı programlama dillerinde yazılan ve çeşitli platformlarda çalışan uygulamalar, sistemler haberleşmek için JSON veya XML üzerinden iletişim sağladığından herhangi bir işletim sistemine veya programlama diline bağlı değildir.
Web servisler SOAP ve REST mimarisi altında incelenebilirler. Şimdi bu kavramlara kısaca değinelim.
SOAP: Açılımı Simple Object Access Protocol(Basit Nesne Erişim Protokolu) olan SOAP çoğunlukla HTTP protokolü kullanılarak haberleşmeyi sağlayan bir servis protokülüdür. Haberleşmeyi sadece XML tabanlı olarak yapar. Bu konuda esnek değildir.
Sadece XML üzerinden haberleşmeyi sağlasa da güvenlik kontrolleri SOAP içinde daha kolaydır, bu kontrollerin gerektiği durumlarda daha çok kullanılır.
REST: Açılımı Representational State Transfer(Temsili Durum Transferi) olan REST yine HTTP protokolünü kullanarak haberleşmeyi sağlayan bir mimaridir. Ancak SOAP’dan farklı olarak XML kullanmayı mecburi kılmaz. JSON, HTML hatta Text kullanarak bile haberleşme imkanı verir. Bu esneklik sayesinde daha çok tercih edilir.
REST içinde taşınan veri miktarı daha azdır, bu nedenle hızlı performans istenen uygulamalar için idealdir.
Web Servis Testleri
Test çeşitleri içerisinde önemli bir yere sahip olan Web Servis testleri uygulamanın veya sistemin işlevselliğini, performansını ve güvenilirliğini kontrol etmek amacıyla yapılmaktadır. Sistemlerin başarılı çalıştığından, veri akışının düzgün sağlandığından emin olmak için kullanıcının kullandığı ara yüze veri sağlayan web servislerini test etmek gereklidir.
Web servis testlerinin genel çalışma mantığı aynıdır. İstemci bir request atar, sunucu da gelen requeste göre uygun response döner. Atılan requestteki alanların doğruluğundan emin olunmalıdır, aksi takdirde hatalı bir response dönecektir. Bu da testin yanlış değerlendirilmesine neden olabilir.
Web servis testleri bazı yönlerden birim teste benzer ancak şu noktada farklılaşır; web servis testlerinin geliştirmesi uygulamanın bütün versiyonları için desteklenebilir bir şekilde yapılır. Böylece uygulamada yeni bir versiyon çıksa da regresyon testi hem güncel sürüm için hem de önceki tüm sürümler için yapılabilir olacaktır. Bu durum hem ürünün yeni parçalarının geliştirilme aşamasında test süresinin artmasını engeller hem de ürünün eski versiyonlarında değişikliğe ihtiyaç duyulmadan kullanılabilirliğini sağlar.
Web servis testi yapmak için kullanılabilecek birçok araç bulunmaktadır. Bunlardan en yaygınları SoapUI, Postman, JMeter araçlarıdır. SoapUI ile web servis testleri manuel olarak yapılabilir. Postman ve JMeter ise daha çok web servis testlerinin otomatize edilebilmesi için kullanılır.
Bu yazımda kısaca web servisi tanıtıp, web servis testinin amaçlarına değindim. Daha sonraki yazılarda görüşmek üzere :)
KAYNAKLAR
https://www.tutorialspoint.com/webservices/what_are_web_services.htm
https://www.guru99.com/webservice-testing-beginner-guide.html