API Test Eğitimi: API Test Otomasyonu Nedir?

API Testi Nedir?

API Testi Uygulama Programlama Arayüzlerini (API'ler) doğrulayan bir yazılım test türüdür. API Testinin amacı, programlama arayüzlerinin işlevselliğini, güvenilirliğini, performansını ve güvenliğini kontrol etmektir. API Testinde, standart kullanıcı girdilerini (klavye) ve çıktılarını kullanmak yerine, API'ye çağrılar göndermek, çıktı almak ve sistemin yanıtını not etmek için yazılım kullanırsınız. API testleri, GUI Testlerinden çok farklıdır ve bir uygulamanın görünümüne ve hissine odaklanmaz. Esas olarak yazılım mimarisinin iş mantığı katmanına odaklanır.

API Testi resmi

arka plan için, API (Uygulama Programlama Arayüzü) iki ayrı yazılım sistemi arasında iletişim ve veri alışverişini sağlayan bir bilgi işlem arayüzüdür. Bir API'yi çalıştıran bir yazılım sistemi, başka bir yazılım sisteminin gerçekleştirebileceği çeşitli işlevleri/alt programları içerir. API, iki yazılım sistemi arasında yapılabilecek istekleri, isteklerin nasıl yapılacağını, kullanılabilecek veri formatlarını vb. tanımlar.

API Test Otomasyon Ortamı Kurulumu

API otomasyon testi, bir API aracılığıyla etkileşime geçilebilecek bir uygulama gerektirir. Bir API'yi test etmek için şunları yapmanız gerekir:

  1. API'yi desteklemek için Test Aracını kullanın
  2. API'yi test etmek için kendi kodunuzu yazın

Dikkat edilmesi gereken birkaç nokta

  • API Testi, GUI mevcut olmadığından diğer yazılım test türlerinden farklıdır ve yine de gerekli parametreler kümesiyle API'yi çağıran başlangıç ​​ortamını ayarlamanız ve ardından son olarak test sonucunu incelemeniz gerekir.
  • Bu nedenle API otomasyon testleri için bir test ortamı kurmak biraz karmaşık görünüyor.
  • Veritabanı ve sunucu uygulama gereksinimlerine göre yapılandırılmalıdır.
  • Kurulum tamamlandıktan sonra, API'nin çalışıp çalışmadığını kontrol etmek için API Fonksiyonu çağrılmalıdır.

Bir API'nin Çıktı Türleri

API çıktısı olabilir

  1. Her türlü veri
  2. Durum (Geçti veya Başarısız deyin)
  3. Başka bir API işlevini çağırın.

Bu API test eğitiminde yukarıdaki Türlerin her birinin bir örneğine bakalım

Her Türlü Veri

Örnek: İki tam sayıyı toplaması gereken bir API işlevi var.

Long add(int a, int b)

Sayılar giriş parametresi olarak verilmelidir. Çıktı iki tam sayının toplamı olmalıdır. Bu çıktının beklenen bir sonuçla doğrulanması gerekir.

Aramanın şu şekilde yapılması gerekiyor:

add (1234, 5656)

Sayı tamsayı sınırını aşıyorsa istisnaların ele alınması gerekir.

Durum (Geçti veya Başarısız deyin)

Aşağıdaki API işlevini göz önünde bulundurun –

  1. Kilit()
  2. Kilidini aç()
  3. Silmek()

Çıkış olarak True (başarı durumunda) veya false (hata durumunda) gibi herhangi bir değeri döndürürler.

Daha doğru Test Durumu herhangi bir scriptteki fonksiyonları çağırabilir ve daha sonra veritabanında veya Uygulama GUI'sinde değişiklikleri kontrol edebilirsiniz.

Başka bir API/Etkinliğin çağrılması

Başka bir API/Etkinliğin çağrılması

Bu durumda API işlevlerinden birini çağırırız, o da başka bir işlevi çağırır.

Örneğin – Tabloda belirtilen bir kaydı silmek için ilk API işlevi kullanılabilir ve bu işlev, veritabanını YENİLEMEK için başka bir işlevi çağırır.

API Testi için Test Senaryoları:

API testinin test senaryoları aşağıdakilere dayanmaktadır:

  • Giriş koşuluna göre dönüş değeri: Giriş tanımlanabildiği ve sonuçlar doğrulanabildiği için test edilmesi nispeten kolaydır
  • Hiçbir şey döndürmez: Dönüş değeri olmadığında kontrol edilecek sistemdeki API davranışı
  • Başka bir API/olay/kesintiyi tetikleyin: Bir API'nin çıktısı bir olayı veya kesintiyi tetikliyorsa, bu olaylar ve kesinti dinleyicileri izlenmelidir.
  • Veri yapısını güncelleyin: Veri yapısının güncellenmesinin sistem üzerinde bazı sonuçları veya etkileri olacaktır ve bunun doğrulanması gerekir
  • Belirli kaynakları değiştirin: API çağrısı bazı kaynakları değiştirirse ilgili kaynaklara erişilerek doğrulanması gerekir.

API Test Yaklaşımı

API Test Yaklaşımı derleme hazır olduktan sonra API testini gerçekleştirmek için QA ekibinin gerçekleştireceği önceden tanımlanmış bir strateji veya yöntemdir. Bu test kaynak kodunu içermez. API test yaklaşımı, işlevlerin, test tekniklerinin, giriş parametrelerinin ve test senaryolarının yürütülmesinin daha iyi anlaşılmasına yardımcı olur.

Aşağıdaki noktalar kullanıcının API Testi yaklaşımını yapmasına yardımcı olur:

API Test Yaklaşımı

  1. API programının işlevselliğini anlamak ve programın kapsamını net bir şekilde tanımlamak
  2. Eşdeğerlik sınıfları, sınır değeri analizi ve hata tahmini gibi test tekniklerini uygulayın ve API için test senaryoları yazın
  3. API için Giriş Parametrelerinin uygun şekilde planlanması ve tanımlanması gerekir
  4. Test senaryolarını yürütün ve beklenen ve gerçek sonuçları karşılaştırın.

API testi ile Birim testi arasındaki fark

Birim testi API testi
Geliştiriciler bunu gerçekleştiriyor Test uzmanları bunu gerçekleştirir
Ayrı işlevsellik test edildi Uçtan uca işlevsellik test edildi
Bir geliştirici kaynak koduna erişebilir Test uzmanları kaynak koduna erişemiyor
Kullanıcı arayüzü testi de dahildir Yalnızca API işlevleri test edilir
Yalnızca temel işlevler test edilir Tüm işlevsel sorunlar test edilir
Kapsamda sınırlı Kapsam olarak daha geniş
Genellikle check-in işleminden önce çalıştırılır Derleme oluşturulduktan sonra test çalıştırması

API Nasıl Test Edilir

API otomasyon testi, olağan SDLC sürecinin dışında en azından aşağıdaki test yöntemlerini kapsamalıdır

  • Keşif testi: Test grubu, API tarafından kullanıma sunulan belirli bir kaynağın uygun şekilde listelenebileceğini, oluşturulabileceğini ve silinebileceğini doğrulamak gibi API'de belgelenen çağrı kümesini manuel olarak yürütmelidir.
  • Kullanılabilirlik testi: Bu test, API'nin işlevsel ve kullanıcı dostu olup olmadığını doğrular. API başka bir platformla da iyi bir şekilde entegre oluyor mu?
  • Güvenlik testi: Bu test, ne tür bir kimlik doğrulamanın gerekli olduğunu ve hassas verilerin HTTP üzerinden mi yoksa her ikisi üzerinden mi şifrelendiğini içerir.
  • Otomatik test: API testi, API'yi düzenli olarak yürütmek için kullanılabilecek bir dizi komut dosyası veya araç oluşturulmasıyla sonuçlanmalıdır.
  • Belgeler: Test ekibi, belgelerin yeterli olduğundan ve API ile etkileşime geçmek için yeterli bilgi sağladığından emin olmalıdır. Dokümantasyon nihai teslimatın bir parçası olmalıdır

En İyi API Testi Uygulamaları:

  • API Test durumları test kategorisine göre gruplandırılmalıdır
  • Her testin üstüne, çağrılan API'lerin bildirimlerini eklemelisiniz.
  • Parametre seçimi test senaryosunun kendisinde açıkça belirtilmelidir.
  • Test uzmanlarının test etmesini kolaylaştırmak için API işlev çağrılarına öncelik verin
  • Her test senaryosu mümkün olduğunca bağımsız ve bağımlılıklardan bağımsız olmalıdır
  • Geliştirmenizde “test zincirinden” kaçının
  • Sil, Pencereyi Kapat vb. gibi tek seferlik arama işlevlerini kullanırken özel dikkat gösterilmelidir.
  • Çağrı sıralaması yapılmalı ve iyi planlanmalıdır
  • Tam test kapsamı sağlamak amacıyla API'nin tüm olası giriş kombinasyonları için API test senaryoları oluşturun.

API testinin tespit ettiği Hata Türleri

  • Hata koşullarını incelikle ele alamaz
  • Kullanılmayan bayraklar
  • Eksik veya yinelenen işlevsellik
  • Güvenilirlik Sorunları. Bağlanma ve yanıt alma zorluğu API.
  • Güvenlik Konuları
  • Çoklu iş parçacığı sorunları
  • Performans sorunları. API yanıt süresi çok yüksektir.
  • Arayan kişiye uygunsuz hatalar/uyarı
  • Geçerli bağımsız değişken değerlerinin yanlış işlenmesi
  • Yanıt Verileri doğru şekilde yapılandırılmamış (JSON veya XML)

API Test Otomasyonu nasıl yapılır?

1) HazırAPI

HazırAPI RESTful, SOAP, GraphQL ve diğer web hizmetlerinin işlevsellik, güvenlik ve yük testleri için lider bir araçtır. Tek bir sezgisel platformda üç güçlü araca sahip olacaksınız: ReadyAPI Testi, ReadyAPI Performansı ve ReadyAPI Sanallaştırma. Bu araçlarla işlevsellik, güvenlik ve performans/yük testi gerçekleştirebilirsiniz. Ayrıca güçlü sanallaştırma aracımızla API ve web hizmetlerini de kullanabilirsiniz. Ayrıca, kolayca entegre edebilirsiniz. CI/CD ardışık düzeni her inşaat sırasında.

HazırAPI

Ana Özellikler

  • ReadyAPI her ortama entegre edilebilir.
  • Yüzlerce uç noktaya karşı hızlı bir şekilde toplu iddialar oluşturabilen Akıllı Onay özelliğine sahiptir.
  • Git, Docker, Jenkins için yerel destek, Azure, vb.
  • Otomatik test için Komut satırını destekler.
  • Fonksiyonel testlerin ve iş kuyruğunun paralel yürütülmesini destekler.
  • Promotes kodunun yeniden kullanımı
  • Test ve geliştirme sırasındaki bağımlılıkları ortadan kaldırır.

ReadyAPI'yi ziyaret edin >>

14 Günlük Ücretsiz Deneme (Kredi Kartı Gerekli Değil)

Aşağıdaki eğitimler API testini otomatikleştirmek için ayrıntılı bir kılavuz sağlar.

Ayrıca API testi için başka araçlar da var. Onları kontrol et okuyun

API Testinin Zorlukları

API testinin zorlukları şunları içerir:

  • Web API testindeki ana zorluklar şunlardır: Parametre Kombinasyonu, Parametre Seçimi ve Çağrı Sıralaması
  • Kullanılabilir GUI yok uygulamayı test etmek için giriş değerlerini vermek zor
  • Çıktıyı farklı bir sistemde doğrulamak ve doğrulamak test uzmanları için biraz zordur
  • Parametre seçimi ve kategorizasyonunun test uzmanları tarafından bilinmesi gerekir
  • İstisna işleme işlevi test edilmesi gerekiyor
  • Test uzmanları için kodlama bilgisi gereklidir

Sonuç

API, iş mantığı katmanını temsil eden bir dizi sınıf/işlev/prosedürden oluşur. API doğru bir şekilde test edilmezse sadece API uygulamasında değil çağıran uygulamada da sorunlara neden olabilir. Yazılım mühendisliğinde vazgeçilmez bir testtir.