API Test Eğitimi: API Test Otomasyonu nedir? Nasıl Test Edilir

API Testi eğiticisine gitmeden önce, önce anlayalım

API nedir?

API (Uygulama Programlama Arayüzü) , iki ayrı yazılım sistemi arasında iletişim ve veri alışverişi sağlayan bir bilgi işlem arayüzüdür. Bir API yürüten 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, nasıl istek yapılacağını, kullanılabilecek veri formatlarını vb. Tanımlar.

API Testi nedir?

API TESTING , 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ı girişlerini (klavye) ve çıkışlarını kullanmak yerine, API'ye çağrı 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 odaklanmayacaktır. Esas olarak yazılım mimarisinin iş mantığı katmanına odaklanır.

API otomasyonu Testi, bir API aracılığıyla etkileşime girebilen bir uygulama gerektirir. Bir API'yi test etmek için yapmanız gerekenler

  • API'yi çalıştırmak için Test Aracı'nı kullanın
  • API'yi test etmek için kendi kodunuzu yazın

Bu API testi eğitiminde, aşağıdakiler hakkında daha fazla bilgi edineceksiniz:

  • API Test ortamının kurulumu
  • Bir API'nin Çıktı Türleri
  • API Testi için Test Durumları
  • API Testi Yaklaşımı
  • API testi ile Birim testi arasındaki fark
  • API Nasıl Test Edilir
  • En İyi API Testi Uygulamaları
  • API Testinin algıladığı Hata Türleri
  • API Test Otomasyonu nasıl yapılır?
  • API Testinin Zorlukları

API Test ortamının kurulumu

  • API Testi, GUI mevcut olmadığından diğer yazılım test türlerinden farklıdır ve yine de gerekli bir parametre setiyle API'yi çağıran ve daha sonra test sonucunu inceleyen ilk ortamı kurmanız gerekir.
  • Bu nedenle, API otomasyon testi için bir test ortamı oluşturmak biraz karmaşık görünmektedir.
  • Veritabanı ve sunucu, uygulama gereksinimlerine göre yapılandırılmalıdır.
  • Kurulum tamamlandıktan sonra, API Fonksiyonunun çalışıp çalışmadığını kontrol etmek için API Fonksiyonu çağrılmalıdır.

Bir API'nin Çıktı Türleri

Bir API çıktısı olabilir

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

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

Her Türlü Veri

Örnek: İki tam sayı eklemesi gereken bir API işlevi vardır.

Uzun toplama (int a, int b)

Numaralar giriş parametreleri olarak verilmelidir. Çıktı, iki tamsayı sayısının toplamı olmalıdır. Bu çıktının beklenen bir sonuçla doğrulanması gerekir.

Çağrının şu şekilde yapılması gerekiyor:

ekle (1234, 5656)

Sayı tam sayı sınırını aşıyorsa istisnalar ele alınmalıdır.

Durum (Geçti veya Kaldı deyin)

Aşağıdaki API işlevini düşünün -

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

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

Daha doğru bir Test Senaryosu, komut dosyalarından herhangi birindeki işlevleri çağırabilir ve daha sonra veritabanında veya Uygulama GUI'sindeki değişiklikleri kontrol edebilir.

Başka bir API / Olay çağrısı

Bu durumda, sırayla başka bir işlevi çağıracak olan API işlevlerinden birini çağırıyoruz.

Örneğin - İlk API işlevi, tablodaki belirli bir kaydı silmek için kullanılabilir ve bu işlev sırayla veritabanını YENİLEME için başka bir işlevi çağırır.

API Testi için Test Durumları:

API testinin test senaryoları,

  • Girdi durumuna dayalı dönüş değeri: Girdi tanımlanabildiğinden ve sonuçlar doğrulanabildiğinden test edilmesi nispeten kolaydır
  • Hiçbir şey döndürmez: Dönüş değeri olmadığında, sistemde kontrol edilecek bir API davranışı
  • Başka bir API / olay / kesintiyi tetikleyin : Bir API çıktısı bir olay veya kesintiyi tetiklerse, bu olaylar ve kesinti dinleyicileri izlenmelidir
  • Veri yapısını güncelle : Veri yapısını güncellemenin sistem üzerinde bir sonucu veya etkisi 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 testi yaklaşımı, işlevleri, test tekniklerini, girdi parametrelerini ve test senaryolarının yürütülmesini daha iyi anlamaya yardımcı olur.

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

  1. API programının işlevselliğini anlamak ve programın kapsamını açıkça tanımlamak
  2. Eşdeğerlik sınıfları, sınır değer analizi ve hata tahmini gibi test tekniklerini uygulayın ve API için test senaryoları yazın
  3. API için Girdi 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ştirir
  • Testçiler bunu gerçekleştirir
  • Ayrı işlevsellik test edilir
  • Uçtan uca işlevsellik test edilir
  • Bir geliştirici kaynak koda erişebilir
  • Testçiler kaynak koda erişemez
  • UI testi de dahildir
  • Yalnızca API işlevleri test edilir
  • Yalnızca temel işlevler test edilir
  • Tüm işlevsel sorunlar test edilir
  • Kapsam olarak sınırlı
  • Kapsam açısından daha geniş
  • Genellikle check-in işleminden önce çalıştırılır
  • Yapı oluşturulduktan sonra çalıştırıldı

API Nasıl Test Edilir

API otomasyon testi, normal SDLC sürecinden ayrı olarak en azından aşağıdaki test yöntemlerini kapsamalıdır

  • Keşif testi: Test grubu, API tarafından ifşa edilen 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. Ve API başka bir platformla da iyi entegre oluyor mu?
  • Güvenlik testi: Bu test, hangi tür kimlik doğrulamasının gerekli olduğunu ve hassas verilerin HTTP üzerinden mi yoksa her ikisi üzerinden mi şifrelenip şifrelenmediğini içerir
  • Otomatik test: API testi, API'yi düzenli olarak çalıştırmak için kullanılabilecek bir dizi komut dosyasının veya bir aracın oluşturulmasıyla sonuçlanmalıdır.
  • Dokümantasyon: Test ekibi, dokümantasyonun yeterli olduğundan ve API ile etkileşim için yeterli bilgi sağladığından emin olmalıdır. Dokümantasyon, nihai çıktını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 senaryosunda açıkça belirtilmelidir.
  • Test kullanıcılarının test etmesini kolaylaştırmak için API işlevi çağrılarına öncelik verin
  • Her test senaryosu, mümkün olduğunca bağımsız olmalı ve bağımlılıklardan bağımsız olmalıdır.
  • Geliştirmenizde "zincir testinden" kaçının
  • Silme, 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 bir test kapsamı sağlamak için, API'nin tüm olası girdi kombinasyonları için API test senaryoları oluşturun.

API testinin algıladığı Hata Türleri

  • Hata durumlarını düzgün bir şekilde ele alamaz
  • Kullanılmayan bayraklar
  • Eksik veya yinelenen işlevsellik
  • Güvenilirlik Sorunları. API'ye bağlanma ve yanıt alma konusunda zorluk.
  • Güvenlik sorunları
  • Çoklu iş parçacığı sorunları
  • Performans sorunları. API yanıt süresi çok yüksektir.
  • Arayan için uygun olmayan hatalar / uyarı
  • Geçerli bağımsız değişken değerlerinin yanlış işlenmesi
  • Yanıt Verileri doğru yapılandırılmamış (JSON veya XML)

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

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

REST Assured ile API nasıl test edilir

Postman ile API nasıl test edilir

UFT ile API nasıl test edilir

Ayrıca API testi için başka araçlar da var. Burada kontrol edin

API Testinin Zorlukları

API testinin zorlukları şunları içerir:

  • Web API testindeki ana zorluklar Parametre Kombinasyonu, Parametre Seçimi ve Çağrı Sıralamadır
  • Girdi değerleri vermeyi zorlaştıran uygulamayı test etmek için GUI mevcut değildir .
  • Çıktının farklı bir sistemde doğrulanması ve doğrulanması, test uzmanları için biraz zordur
  • Parametrelerin seçimi ve sınıflandırılmasının test uzmanları tarafından bilinmesi gerekir
  • İstisna işleme işlevinin 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 düzgün bir şekilde test edilmezse, yalnızca API uygulamasında değil, aynı zamanda çağıran uygulamada da sorunlara neden olabilir. Yazılım mühendisliğinde vazgeçilmez bir testtir.

Ilginç makaleler...