API’ler modern yazılımın belkemiğidir. Bir API uç noktasındaki bir hata; mobil uygulamaları, üçüncü taraf entegrasyonlarını ve dahili servisleri aynı anda bozabilir. İyi API testi bu sorunları üretime ulaşmadan önce yakalar - ama "biraz test" ile "etkili test" arasındaki fark, çoğu ekibin fark ettiğinden daha büyüktür. Bu kılavuz, gerçekten fark yaratan uygulamaları ele alır.
1. Testleri Tek Seferlik İstekler Değil, Koleksiyonlar Halinde Düzenleyin
En yaygın API testi hatası, her testi bağımsız bir istek olarak ele almaktır. Koleksiyonlar ilgili uç noktaları gruplar - belirli bir kaynağa ait tüm istekleri veya belirli bir özelliğe ait tüm testleri - böylece tek tıkla tam bir regresyon taraması çalıştırabilirsiniz. İyi yapılandırılmış bir koleksiyon aynı zamanda yaşayan dokümantasyon görevi görür: herhangi bir geliştirici onu açıp hangi uç noktaların var olduğunu ve ne beklediklerini hemen anlayabilir.
Lodos API Post/Get’da koleksiyonlar; özelliğe, servise veya sürüme göre düzenlemek için iç içe klasörleri destekler. Yerleşik bir projeyi taşıyorsanız mevcut Postman koleksiyonlarını doğrudan içe aktarın.
2. Her URL ve Gizli Bilgi İçin Ortam Değişkenleri Kullanın
Temel URL’leri veya API anahtarlarını tek tek isteklere sabit kodlamak iki sorun yaratır: manuel düzenleme olmadan ortamlar arasında geçemezsiniz ve gizli bilgiler, olmamaları gereken paylaşımlı çalışma alanlarına işlenir. Ortam değişkenleri her ikisini de çözer. base_url, api_key ve auth_token’ınızı ortam başına bir kez tanımlayın (geliştirme, hazırlık, üretim) ve her yerde bunlara başvurun.
Ekip genelinde uygulanmaya değer bir kural: hiçbir gizli bilgi doğrudan bir istek alanına girmez. Ortama göre değişen her şey bir değişkene girer. Bu disiplin ayrıca işe alıştırmayı da hızlandırır - yeni bir geliştirici etkin ortamı değiştirir ve tüm koleksiyon, kimlik bilgilerini aramak zorunda kalmadan çalışır.
3. Kimlik Doğrulama Akışlarını Açıkça Test Edin
Kimlik doğrulama hataları her API’deki en ciddi hatalar arasındadır - ya meşru kullanıcıları dışarıda bırakır ya da verileri yetkisiz kişilere ifşa eder. Her kimlik doğrulama yolunu test edin: geçerli kimlik bilgileri, süresi dolmuş token’lar, iptal edilmiş token’lar, eksik başlıklar ve hatalı biçimlendirilmiş yetkilendirme değerleri. Kimlik doğrulama başarısız olduğunda API’nizin ne yaptığını test edin - hata kodu, yanıt gövdesi ve hata mesajına herhangi bir verinin sızıp sızmadığı.
Bearer token’ları, API anahtarları, Basic Auth ve OAuth 2.0’ın her birinin başarısızlık biçimleri vardır. Hepsini test edin. Lodos API Post/Get tüm standart kimlik doğrulama başlığı türlerini destekler ve kimlik doğrulama yapılandırmalarını koleksiyon düzeyinde kaydetmenizi sağlar; böylece tüm isteklerde tutarlı biçimde uygulanırlar.
4. Yalnızca Mutlu Yolları Değil, Olumsuz Testler de Yazın
Çoğu geliştirici doğal olarak, her şey doğru olduğunda bir uç noktanın doğru veriyi döndürdüğünü test eder. Olumsuz testler - hatalı biçimlendirilmiş girdi, eksik zorunlu alanlar, geçerli aralıkların dışındaki değerler, yinelenen gönderimler - üretim olaylarına neden olan hataları ortaya çıkarır. İyi bir oran: her mutlu yol testi için en az iki olumsuz test yazın.
Veri türleri etrafındaki uç durumlara (bir sayı alanı bir dize aldığında ne olur?), sınır değerlerine (maksimum yük boyutu nedir?) ve eşzamanlı işlemlere (aynı kaynak iki istek tarafından aynı anda güncellenirse ne olur?) özellikle dikkat edin.
5. Testleri Onları Değiştiren Koda Yakın Tutun
Geliştirme iş akışından ayrı bir araçta yaşayan API testleri, son tarihler sıkıştığında atlanır. En iyi uygulama, bir uç nokta her değiştiğinde ilgili koleksiyon testlerini çalıştırmaktır - ki bu yalnızca test sürtünmesiz olduğunda tutarlı biçimde gerçekleşir. Görev panonuz ve ekip sohbetinizle aynı çalışma alanında zaten açık olan bir API test aracı, ayrı bir uygulamaya bağlam değişimi gerektirenden çok daha büyük olasılıkla kullanılır.
6. Dokümantasyonu Testlerinizden Otomatik Üretin
İyi düzenlenmiş, iyi adlandırılmış isteklerden oluşan bir koleksiyon, kullanışlı API dokümantasyonuna giden yolun %80’idir. Testlerinizin yanında ayrı bir dokümantasyon sürdürmek yerine, dokümantasyonu koleksiyonun kendisinden üreten bir araç kullanın. Lodos API Documentation, API Post/Get koleksiyonundan çeker ve koleksiyon evrildikçe dokümantasyonu senkronize tutar. Manuel dokümantasyon adımı yok, altı ay eski dokümantasyon yok.
7. Test Sonuçlarını Tüm Ekibe Görünür Kılın
API testi, bir geliştiricinin yerel ortamında gerçekleşen ve dizüstünü kapattığında kaybolan tekil bir etkinlik olmamalıdır. Tanımlı ortamlara sahip paylaşımlı koleksiyonlar; QA mühendislerinin, ürün yöneticilerinin ve diğer geliştiricilerin aynı testleri çalıştırabilmesi, sonuçları inceleyebilmesi ve orijinal geliştiriciye ihtiyaç duymadan API’nin ne yaptığını anlayabilmesi demektir.
Bir mühendislik ekibi API koleksiyonunu kişisel geliştirici aracı olarak değil de paylaşımlı ekip altyapısı olarak ele aldığında, testin kalitesi artar; çünkü herkesin onu güncel tutmakta payı vardır. Ekip tabanlı API test iş akışları için Lodos’un Postman ile nasıl karşılaştırıldığını görün.