Beyza'nın Blogu

API (Arayüz) Testi

Herhangi bir web uygulaması genelde 3 katmandan oluşur
-Kullanıcı önyüz katmanı
-Uygulama Arayüzü Katmanı (API)
-Veri tabanı Katmanı

->Backend = Arayüz ve veritabanı katmanını ifade eder.

->Önyüz Testleri gerçekleştirilirken daha çok uygulamayı son kullanıcı gibi kullanıp kontrolleri gerçekleştirir.

->Uygulama Arayüz Testlerinde, kullanıcının direkt olarak görmediği, arka plandaki yazılımın işleyişi ve arayüzün işleme mantığının nasıl oluşturduğu test edilir.

Front-end (Önyüz) = Kullanıcının gördüğü ve yazılım eforunun %20’si bu önyüzleri oluşturmak için kullanılır.Ön yüzlerin oluşturulması pahalıdır.

Back-end (Arayüz) = Tüm hesaplamalar burada yapılır.Bir yazılım projesinin %80 eforu burada gerçekleşir.Kullanıcı arayüzlerinin maliyeti önyüzlere göre daha uygundur. IT sektöründe maliyet = harcanan zaman’dır.

API Nedir?
API = Application Programming Interface = Uygulama Programlama Arayüzü
Uygulama arayüzü, önyüz ile veri tabanı arasındaki iletişimi sağlayan katmana denir.
Yazılım süreçlerşnde ilk olarka uygulama mimarisi ve arayüzü oluşturulur.Sonrasında ise bu arayüz kullanılarak uygulama önyüzleri hazırlanır.
Yazılım test uzmanlarının arayüz testlerini, arayüz geliştirmesi ile beraber yürütmesi tüm projelerin başarıya ulaşması için önemlidir.

Uygulama arayüzü testleri ile:
Hataları arayüz geliştirmesi sırasında önceden bularak erkenden çözülmesini sağlarız
Firmanızın geliştirdiği uygulama arayüzü farklı firmalar tarafından da kullanılıyorsa, müşterilerden önce hatalar yakalanır.
Uygulama test kapsamını arttırarak, canlı ortamda oluşabilecek hata sayısı en aza indirilir.

HTTP Metotlar ve kullanımları
-> HTTP bir veri transferi methodudur ve sektörde arayüz ile iletişimde en sık kullanılan standarttır. Tüm HTTP metotlarının server tarafindan belirli kodlar ile cevap verilir. Bu cevaba “HTTP Response” denir.
->Arayüz geliştirilmesi sirasinda kullanılacak metotlar belirlenir ve önyüz bu metotlar sayesinde arayüz ile iletişim kurup veri transferi sağlar.

API URL
API URL hangi arayüze çağrı yapılacağını belirler. Bir uygulamada 100 lerce arayüz olabilir ve URL sayesinde kullanılmak istenen arayüz yani API belirtilir
Örnek API URL:
http://yazılımtestegitimi.com/kullanıcı/kayıt

HTTP Metotları
Sektörde en yaygın kullanılan arayüz mimarisi Restfuldur Bu mimaride belirli HTTP methodları kullanılır ve bunlara karşılık serverin standard cevap vermesi beklenir
Çağrı metotları:
GET – POST – PUT- PATCH- DELETE

Payload (Gönderilen Veri)
Bu alan api çağrısı ile gönderilecek bilgiyi içerir. Örneğin mobil uygulama üzerinde bir kullanıcı kaydını düşünelim Önyüz server a kayıt çağrısı sırasında:
{
kullanıcıAdı : string;
şifre : string;
cihaz: string;
cihaz_os:string;
cihaz_dili:string;
}

Beklenen sonuç
Cevap Kodu (Response Code)
Önyüzün yapılan işlemin başarılı olduğunu anlaması için server dan belirli bir kod geri dönüşü yapılır. Örneğin başarılı bir çağrı sonrasında 2xx 2 ile başlayan bir kod döner ve önyüz bu şekilde işlemin başarılı olduğunu anlar. 4xx ya da 5xx başlayan bir kod geri dönerse bir hata oluşmuş demektir ve bu hata uygulama tarafından düzgün şekilde ele alınır

Cevap Mesajı (Response Message)
Arayüz cevabında, cevap kodu ile beraber cevap mesajı da bulunur. Başarısız mesajlarda çağrıya göre neyin hatalı olduğu önyüze bildirilir
Örnek kodu cevap mesajları:
200– BAŞARILI

422 – HESAP BLOKELI

500– SERVER HATASI

Get / Read
->Get metodu, serverdaki bir bilgiyi sadece “okumak” için kullanılır
Başarılı bir GET çağrısında önyüz serverdan gerekli bilgileri okur ve uygulamada gösterebilir.

Post / Create
-> Post metodu servera “Oluştur” komutu gönderir.Uygulama veri- tabanı üzerinde bir kaynak oluşturmak için bu çağrıyı gerçekleştirir.

Put / Update
->PUT – Güncelle anlamına gelmektir. Uygulama PUT metodu ile halihazırda kaydedilen bir kaynağın güncellenmesi için kullanılır

Delete
->DELETE yani SiL metodu, veri-tabani üzerindeki kayıtlı verinin silinmesi için kullanılır. Uygulama üzerinden bir kullanıcı ya da herhangi bir veriyi silmek istediğimizde, uygulama arayüzüne DELETE metodu göndererek bu verinin silinmesini sağlar.

Scroll to Top