İnsanlar herhangi bir karar verirken temkinlidir. Çeşitli senaryoları düşünür ve sonuçlarını çevrelerindeki parametrelere göre tahmin ederler. Örneğin, bir cep telefonu satın almayı seçerlerse, bütçelerine bakmak, fiziksel testlerle ilgili çevrimiçi incelemeleri kontrol etmek, özelliklere bakmak vb. isterler. Bu parametreler, seçtikleri kararla ilgili adımlarını atıp atmayacaklarına karar vermelerine yardımcı olur. Bunların hepsi aslında, o belirli durum için bizim tarafımızdan belirlenen test parametreleridir. Bu da bizi, yalnızca kapsamlı bir şekilde test edilmiş bir ürün tüketmek istediğimizin farkına vardırır.
Benzer şekilde, test etme modern yazılım geliştirmenin büyük bir parçasıdır ve günümüzde yazılım oluşturmak API'lere (Uygulama Programlama Arayüzleri) büyük ölçüde bağlıdır. Uygulamalar arasında standartlaştırılmış veri paylaşımını ve iletişimi sağlar. Sonuç olarak, API'leri test etmek de sistemin işlevselliğini, güvenilirliğini ve performansını garanti etmek için yazılım geliştirmenin önemli bir bileşenidir.
Bu makalede, API testi için kullanılan en iyi test uygulamalarından bazılarını keşfedeceğiz ve daha sonra, modern API Test araçlarını kullanarak pratik uygulamasını göstermek için bazı örneklere göz atacağız.
API'ler için Etkili Test Senaryoları Oluşturmaya Yönelik En İyi Uygulamalar
Yazılımımızın kullanıcı veya müşterinin taleplerine uygun performans göstermesini sağlamak için mümkün olan en etkili test senaryolarını oluşturabilmemiz önemlidir. Bu nedenle, bunu sağlamak için, API'leri test etmek için gereken en iyi uygulamalardan bazılarını tartışalım.
API'nin Amacını ve İşlevselliğini Anlamak
Test senaryoları geliştirmeden önce, API'nin amacını ve işlevselliğini belirlemek çok önemlidir; bu, ona eklenmiş API dokümantasyonu ile en iyi şekilde anlaşılabilir. API'nin amaçlanan kullanımını bilmek, test edilmesi gereken önemli alanları belirlemeyi kolaylaştırır. Ek olarak, API dokümantasyonunu okumak, test senaryolarının sistemin özellikleriyle eşleşmesini sağlamanıza yardımcı olan, çalışmasını açıkça anlamanızı sağlar.
Test Senaryolarını ve Kenar Durumlarını Belirleme
API'nin amacını ve işlevselliğini belirledikten sonra, test senaryolarını ve kenar durumlarını belirtme zamanı gelmiştir. Kenar durumları, API'nin karşılaşabileceği sınır koşullarıdır, test senaryoları ise API'nin kullanılabileceği çeşitli yollardır. Örneğin, API'niz saniyede en fazla 1000 istek kabul ediyorsa, nasıl yanıt verdiğini görmek için saniyede 1001 istek göndererek test edebilirsiniz. Ayrıca, minimum istek sınırı için de benzer bir sınır koşulu belirleyebilirsiniz.
Öte yandan, test senaryoları, istemcinin bir dosya gönderme isteği gönderebilmesi veya sunucunun bir dosya gönderme isteği alabilmesi gibi API'nin işlevselliğini test etmektir.
Farklı HTTP Yöntemleri için Test Senaryoları
HTTP Yöntemleri, alınacak eylemin türünü belirten bir sunucuya gönderilen mesajlardır. Bu yöntemler, tarayıcı ve sunucu arasında daha kapsamlı bir iletişim sağlar. GET, POST, PUT, DELETE gibi HTTP yöntemleri, API testinin kritik bileşenleridir. Her HTTP yöntemi belirli bir amaca hizmet eder ve her yöntemin işlevselliğini test etmek çok önemlidir. Örneğin, yeni kullanıcı hesapları oluşturan bir API'niz varsa, API'nin yeni hesapları başarıyla oluşturduğundan emin olmak için POST yöntemini test edebilirsiniz. Yöntemlerden bazıları aşağıda listelenmiştir:
● GET: Sunucudan bir kaynak alır.
● POST: Sunucuya bir varlık gönderir ve yeni bir kaynak oluşturur.
● PUT: Sunucudaki mevcut bir kaynağı günceller.
● DELETE: Sunucudan bir kaynağı siler.
● PATCH: Sunucudaki mevcut bir kaynağı kısmen günceller.
● HEAD: Bir kaynağın gövdesi olmadan başlıklarını alır.
● OPTIONS: Bir kaynak tarafından desteklenen HTTP yöntemlerini alır.
● TRACE: Hedef kaynağa giden yol boyunca bir mesaj döngü testi çalıştırılır.
API'nin Yanıtlarını Test Etme
API'nin işlevselliğini sağlamak için yanıtlarını test etmek çok önemlidir. İyi bir test senaryosu, API'nin doğru durum kodu, yanıt başlıkları ve yanıt gövdesi dahil olmak üzere beklenen yanıtı döndürdüğünü doğrulamalıdır. Ek olarak, API'nin hata yanıtlarını ve yalnızca başarı örneklerini test etmek de önemlidir, böylece API'nizin, API'nin geçersiz bir istek veya dahili bir sunucu hatasıyla karşılaşması gibi, sistemin işlevleriyle eşleşmeyen bir kullanıcının isteğini kabul etmeyeceğini bilirsiniz.
API'nin Girişini Doğrulama
API'ye gönderilen giriş verilerinin sistemin genel işlevselliğini etkilemediğini doğrulamak önemlidir. Örneğin, API'nin giriş işlevselliğini doğrulamak için uygun bir test, API'nin dizeler, tamsayılar, kayan noktalar vb. gibi farklı giriş veri türlerini işleyebileceği bir test olabilir. Benzer şekilde, API'nin, parola girişini işlemekten sorumlu API'nin, üst parola karakter sınırı aşıldığında yanıt vermesi gibi, geçersiz girişe nasıl yanıt verdiğini test etmek de çok önemlidir.
Kimlik Doğrulama ve Yetkilendirme için Test Senaryoları
Genellikle, verilerin kritik olduğu her yerde, güvenlik her zaman bir endişe kaynağıdır. API'lerde yetkilendirme, veri güvenliğini sağlamaya yardımcı olur. Sonuç olarak, API'nin işlevselliğini ve güvenliğini sağlamak için kimlik doğrulama ve yetkilendirme test senaryoları geliştirmek çok önemlidir. Uygun bir test senaryosu, API'nin kimlik doğrulama ve yetkilendirmeyi doğru bir şekilde işleyebildiğini doğrulamalıdır. Örneğin, API'nin yetkisiz bir istemci korumalı bir kaynağa erişmeye çalıştığında doğru yanıtı döndürebilmesi, böylece sistemin uygun eylemleri gerçekleştirebilmesi gerekir.
Modern API test yazılımlarından birini kullanarak test senaryolarını nasıl oluşturabileceğinize bir örnekle bakalım.
Apidog Kullanarak Test Senaryoları Oluşturma

Apidog, geliştiricilerin API'lerini oluşturmasına, belgelemesine, hatalarını ayıklamasına, test etmesine ve taklit etmesine yardımcı olan bir API dokümantasyon ve test aracıdır. Amacı, basit ve kullanımı kolay bir arayüz sağlayarak API'lerin oluşturulmasını, yönetilmesini ve test edilmesini kolaylaştırmaktır. API'ler için test senaryoları oluşturmak ve yönetmek için bir platform sağlar, hem otomatik hem de manuel testleri destekler. Ek olarak, hem bulut tabanlı hem de kendi kendine barındırılan sürümlerde mevcuttur ve çeşitli programlama dillerini ve API çerçevelerini destekler.
Apidog'u kullanarak API'niz için özel bir test senaryosu oluşturmak için izleyebileceğiniz bazı adımlara göz atalım:
1. Test Etmek İçin API'yi Seçin
Başlamak için, API'nin nasıl çalıştığını bilmeliyiz, böylece onun için ilgili test senaryolarını belirleyebilir ve oluşturabiliriz. Makalenin ilk yarısında belirtildiği gibi, bir API'yi anlamak için dokümantasyonunu incelememiz gerekir. Basitlik sağlamak için, belirli bir konum için mevcut sıcaklığı ve koşulları almak için yardımcı olan bir Hava Durumu API'si oluşturduk. Dokümantasyonu aşağıdaki gibidir:
Ek olarak, dokümantasyonu okumak, başarı ve başarısızlık için özel test senaryolarını tasarlarken API'nin yanıtlarının sonucunu tahmin etmemize yardımcı olur.
2. Yeni Bir Test Paketi Oluşturun
Başlangıç olarak, bir test paketinin API'nin işlevselliğinin farklı bir yönüne odaklanan bir grup test senaryosu olduğu yeni bir Apidog test paketi oluşturun. Ardından, Testing sekmesine gidin, +'ya tıklayın ve açılır menüden New Test Case'i seçerek, Hava Durumu API'sinin girişini, konumu dize olarak mı yoksa koordinatları kayan nokta olarak mı kabul ettiğini doğrulamak gibi, her giriş türü için test senaryosunu tasarlayın.

3. Test Senaryoları Oluşturun
New Test Case'e tıkladıktan sonra, test senaryosu için aşağıdaki gibi ayrıntıları girebileceksiniz:
Yukarıda tartışıldığı gibi, API'ler için GET, POST, DELETE, TRACE, vb. gibi farklı HTTP yöntemleri için test senaryoları oluşturmanız gerekir, çünkü her yöntem belirli bir amaca hizmet eder ve işlevselliğini test etmek çok önemlidir. Ancak, Hava Durumu API'si GET yöntemini kullandığından, işlevselliğini test etmek için test senaryomuzu bunun etrafında tasarlayacak ve aşağıdaki resimde gösterildiği gibi ayrıntıları gireceğiz:
4. Test Ortamını Kurun
Test senaryolarını çalıştırmadan önce, test ortamını kurmak önemlidir. Apidog, aşağıdaki resimde gösterildiği gibi, tercihlerinize göre birden fazla ortam seçmenize olanak tanır:
Örneğimiz için Yerel Taklit kullanacağız çünkü API'mizi kimlik doğrulama ve yetkilendirme için test etmemize gerek yok. Bunun için bir API'yi test etmek istiyorsanız, ortamı Testing Env olarak değiştirmeniz ve ardından verilerin güvenliğinin API aracılığıyla korunmasını sağlamak için bir test senaryosu tasarlamanız gerekir.
5. Test Senaryolarını Tanımlayın
Şimdi, Ekle Adımı tıklayarak oluşturduğumuz Hava Durumu API'sinden isteği içe aktarın.
API Durumlarından İçe Aktar'ı seçmek, oluşturulan Hava Durumu API'sinden otomatik isteği almanıza yardımcı olacaktır.
Öte yandan, Özel bir istek ekle'yi seçerek yeni bir özel istek de oluşturabilirsiniz.
6. Test Senaryosunu Çalıştırın
Apidog sizin için otomatik olarak test senaryoları oluşturacak ve yine kendi test senaryolarınızı oluşturma avantajına sahipsiniz. Şimdilik, GET hava durumu isteğimiz için yalnızca bir test senaryosu oluşturduk. Şimdi, istenen test senaryomuzun geçip geçmediğini görmek için test sonucunu almak için Çalıştır'a tıklayın.

7. Test Sonuçlarını Analiz Edin
Test senaryosunu çalıştırdıktan sonra, test sonuçlarını aşağıdaki gibi görebileceğiz:
Test senaryosunun adı, durumu, yanıt süresi ve ayrıntıları dahil olmak üzere ayrıntılı test sonuçlarını almak için Daha Fazla'ya tıklayabilirsiniz. Ayrıca test sonuçlarını HTML, JSON veya XML gibi formatlarda da görüntüleyebilirsiniz.

Tebrikler! Hava Durumu API'niz tasarlanan test senaryosunda kesinlikle iyi çalışıyor.
Öte yandan, PUT, POST, ve DELETE gibi Hava Durumu API'sinde test edemediğimiz farklı HTTP yöntemleri için Apidog'da zaten mevcut olan Örnek API'lerde tasarlanan test senaryolarını da görebilirsiniz. Sadece onları seçmeniz ve Çalıştır'a tıklamanız yeterlidir.
Aşağıdaki sonuçları görebileceksiniz:
Ek olarak, Test Raporları sekmesine giderek tüm test raporlarının geçmişini de görebilirsiniz.

Son Düşünceler
API testi, sistem özelliklerinin çalıştığından emin olmak için yazılım geliştirme için gereklidir. Etkili test senaryoları yazmak için, API'nin amacını ve işlevselliğini anlamanız ve test senaryolarını belirlemeniz gerekir. Ardından, test senaryolarında belirlediğiniz parametrelere göre API'nin yanıtlarını test edin. Tüm bunlar, Apidog'un yardımıyla kolaylaştırılır. Test senaryoları oluşturmanıza, test ortamını kurmanıza, bunları çalıştırmanıza ve daha sonra bu test sonuçlarını analiz etmenize olanak tanır. Tüm bu uygulamalar, API'nizin işlevselliğini, güvenilirliğini ve performansını doğrulamaya yardımcı olan Apidog aracılığıyla sağlanır.