Popüler 10 API Test Aracı

Fatoş Görür
5 min readDec 9, 2021

--

API Testi (Uygulama Programlama Arayüzü Testi) , API’ lerin uygulamanın işlevselliği, güvenilirliği, performansı ve güvenliği için beklentileri karşılayıp karşılamadığını belirlemeyi hedefleyen yazılım testidir.

Bu yazımda test ekiplerinin gereksinimlerini karşılamak için kullanabilecekleri çoğu açık kaynak kodlu olan en popüler API test araçlarından bahsedeceğim.

1. REST - assured

İlk olarak benim de en çok kullandığım API test aracından bahsetmek istedim. Rest Assured, rest isteklerini handle etmek, API seviyesinde testler yapmak ve bir çok http işlemlerini yönetebilmek için kullanılan bir Java kütüphanesidir.

◾️ Java’da REST servislerini test etmek için bir çerçevedir.

◾️ Davranış güdümlü geliştirme (BDD) yaklaşımını destekler. (Given-When-Then) Böylece herhangi bir iş ekibi üyesi, özellikle de BT dışı arka plandan, bunu görebilir, mantığı ve test kapsamını anlayabilir.

◾️ Gönderilen istek için sunucudan durum kodunu, yanıtları, yanıt gövdesini, başlıkları alma yeteneğine sahiptir.

◾️ Açık kaynak kodludur.

2. Postman

Postman, uzun kodlara ihtiyaç duymadan API’ları paylaşmak, test etmek, dokümante etmek, monitör etmek için kullanılan ve “rest client” olarak adlandırabileceğimiz bir araçtır.

◾️ Chrome uzantısı olarak kullanabileceğimiz veya direct indirip bilgisayarımıza yükleyebileceğimiz bir uygulamadır. Mac, Windows, Linux işletim sistemlerinde çalıştırılabilir.

◾️ Yeni bir dil öğrenmeyi gerektirmez.

◾️ Kullanıcıların, tüm istekleri ve beklenen yanıtları paketleyip iş arkadaşlarına gönderebildikleri gibi bilgileri ekiple kolayca paylaşmalarını da sağlar.

◾️ Kullanımı kolaylaştıran zengin arayüze sahiptir.

◾️ Hem açık kaynak hem de ücretli versiyona sahip bir araçtır.

3. SoapUI

SoapUI, web servis entegrasyonlarında kullandığımız bir araçtır. Bir web servisi çağırmak ya da web servis de fonksiyonel test yapmak için kullanılır.

◾️ Sadece Soap değil aynı zamanda Rest etmek de mümkündür.

◾️ SoapUI, hem WSDL dosyasından basit bir test istemcisi oluşturarak servisi test etmenizi, hem de başka birisi tarafından hazırlanmış bir servise henüz doğrudan bir erişiminiz olmadığı durumlarda bir test sunucusu oluşturarak, geliştirdiğiniz istemciyi test etmenizi sağlar.

◾️ SoapUI hem açık kaynak ve community versiyonuna sahip hem de ücretli pro versiyonuna sahip bir araçtır.

4. Katalon Studio

Bu kısımda da test otomasyon dünyasının yeni yıldızı olan Katalon Studio’ dan bahsedelim.

Katalon Studio ile web, mobil ve desktop uygulamalarınızı test edebilir, bunun yanı sıra backend servislerinizin test otomasyon süreçlerinde kullanabilirsiniz. Böylece tek bir platformda test süreçlerinizi hibrit bir şekilde yönetebilirsiniz. Java tabanlı bir uygulamadır.

◾️ SOAP ve Rest destekler.

◾️ Hazırlamış olduğunuz scriptleri kolayca CI/CD süreçlerinize entegre edebilirsiniz böylelikle yazılım kalite süreçlerinizi otomatize edebilirsiniz.

◾️ Slack entegrasyonu ile gerçek zamanlı geri bildirim ve ekip üyeleri arasında iletişim sağlanabilmektedir.

◾️ Record & Play özelliği sayesinde script yazma konusunda bilgi sahibi olmadan da süreçler kolayca hazırlanabilmektedir.

◾️ Birçok özelliği ücretsiz olup yeni versiyonlarında ücretli özellikleri de kullanılmaya başlanmıştır.

5. Tricentis Tosca

Tricentis Tosca, yazılım uygulamaları için uçtan uca testleri otomatikleştirmek için kullanılan bir yazılım test aracıdır. API testleri, mobil, tarayıcılar arası, paketlenmiş uygulamalar vb. genelinde kullanılabilir.

◾️ Birçok protokol dizisini destekler: HTTP(ler) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST, IBM MQ, NET TCP

◾️ Çevik ve DevOps döngüsüne entegre olur.

◾️ Model tabanlı test otomasyonu ile yeniden kullanımı ve bakımı en üst düzeye çıkarabilirsiniz.

◾️ Windows işletim sistemini destekler.

6. Apigee

Apigee, kullanıcıların API performansını ölçmesine ve test etmesine, Swagger gibi diğer düzenleyicileri kullanarak API’yi desteklemesine ve oluşturmasına olanak tanıyan bir API test aracıdır. Javascript tarafından desteklenmektedir.

7. JMeter

JMeter, işlevsel API testi için yaygın olarak kullanılır, ancak aslında yük testi için oluşturulmuştur.

◾️ Apache JMeter, Java ile yazılmış bir araç olduğundan Java Runtime Environment (JRE) veya Java Development Environment (JDK) kurarak Windows, Linux veya Mac işletim sistemine sahip herhangi bir bilgisayarda problemsiz olarak çalıştırılabilir.

◾️ Açık kaynak kodludur.

8. Assertible

Assertible, otomasyon ve güvenilirliğe odaklanan bir API test aracıdır.

◾️ İddialar oluşturabilir, istek değişkenleri tanımlayabilir ve mevcut istekleri parçalayabilirsiniz.

◾️ Sürekli entegrasyon ve teslimat hattının her adımında API testlerini otomatikleştirme desteği sağlar.

◾️ Hem açık kaynak hem de ücretli versiyona sahip bir araçtır.

9. Karate DSL

Karate DSL, adım tanımları yazmadan basit bir şekilde API tabanlı BDD testleri için senaryolar oluşturmaya destekleyen bir API test aracıdır.

◾️ Testlerinizi Gherkin formatında yazabilirsiniz. Karate, Cucumber altyapısını kullanır. REST ve SOAP desteklemektedir.

◾️ Herhangi bir Java bilgisi gerekmeden bir test yazılabilir. Programcı olmayanlar için bile test yazmak kolaydır.

10. Swagger

Swagger’ın önemli bir amacı RestApi’ler için bir arayüz sağlamaktır. Bu hem insanların hem de bilgisayarlara kaynak koda erişmeden RestApi’lerin özelliklerini görmesine, incelemesine ve anlamasına olanak sağlar.

◾️ Açık kaynak kodludur.

Yukarıda popüler olarak kullanılan API test araçlarından ve özelliklerinden bahsettim. İhtiyaca yönelik pek çok API test aracı bulunmaktadır. Peki bu API testleri neden bu kadar önemli biraz da ondan bahsedelim.

API Test Sürecinin Yararları

◽️ API testi ile mantık tasarlandıktan sonra, cevapları ve verileri doğrulamak için testler yapılabilir.

◽️ Kullanıcı arayüzleri (UI) nasıl erişildiklerine (tarayıcılar, cihazlar, screen orientation vb.) bağlı olarak değerlendirilmelidir. API testleri bu süreçte daha kontrollü yönetilebilir.

◽️ API testleri başarısız olduğunda, sistemin nerede aksadığını ve hatanın nasıl ortaya çıktığını belirlemek daha kolaydır. Uygulamanın işleyişi de bu bağlamda kolaylıkla kontrol edilebilir.

◽️ Kullanıcı etkinlikleri bağlamında UI testleri günler sürebilir. Ancak, API testleri dakikalar içerisinde gerçekleştirilebilir. Bu sayede, daha kısa zamanda daha fazla hata bulunabilir ve düzenlenebilir.

--

--