API değerlendirmesi, bir örnek isteğin HTTP 200 döndürüp döndürmediğini değil, müşterinin amaçlanan kanıtı güvenilir bir şekilde alıp alamayacağını yanıtlamalıdır. Önce iş akışını tanımlayın: örneğin, bir müşterinin aldığı kanıtı dışa aktarın toplu raporlar sayfaları kaybetmeden veya kiracıları karıştırmadan özel bir kanıt deposuna. Mevcut sözleşmesi doğrulanana kadar adı geçen herhangi bir ürünün bu arayüzü sunduğunu varsaymaktan kaçının.
Sözleşmeyi ve sınırları sabitleyin
Sağlayıcıyı, uç noktayı, API sürümünü, kimlik doğrulama yöntemini, kiracı sınırını, alanları, sayfalandırma kurallarını ve belgelenen sınırları kaydedin. Bir raporun kimliğini geldiği zamandan ve kapsadığı dönemden ayırın. API'nin ham raporlar mı, normalleştirilmiş satırlar mı yoksa türetilmiş bulgular mı döndürdüğünü belirtin. Bunlar farklı kanıt popülasyonlarıdır ve farklı uzlaşma kurallarına ihtiyaç duyarlar.
GitHub'ın API sürümü belgeleri X-GitHub-Api-Version ile açık sürüm seçimini gösterir. Bu, GitHub'un dışa aktardığının kanıtı değil, sürüm oluşturma uygulamasının somut bir örneğidir DMARC raporlar. Gerçek bir değerlendirme için, testten önce bu ayrıntıları gözden geçirilebilir bir sözleşme notuna kaydedin. Bu kılavuz hiçbir satıcı sözleşmesi, uç nokta veya ürün yeteneği sağlamaz.
Kaynakların yanı sıra alanları da test edin
Normalleştirilmiş bir satır için, mevcut olduğunda raporlayanı, rapor kimliğini, orijinal dönemi, alınma zamanını ve kaynak parmak izini saklayın. Orijinal eseri onaylı saklama kontrolleri altında koruyun. RFC 9990 toplu rapor yapısı için birincil referanstır. Uygun bir JSON şeması, rapor edilen sayıları teslim edilen mesajların kanıtına dönüştüremez veya alıcının asla sağlamadığı bilgileri kurtaramaz.
Hizmetin kısmi alımı, hatalı biçimlendirilmiş raporları, düzeltilmiş verileri ve eksik toplama dönemlerini nasıl temsil ettiğini sorun. Sessizce atlanan bir sayfa, makul bir ölçümün yanlış olmasına neden olabilir. Bilinen hataları içeren bir örnek isteyin ve bunu yalnızca aynı dışa aktarma tarafından desteklenen başka bir ekranla değil, bağımsız olarak sayılan girdiyle karşılaştırın.
Başarısızlık yollarını bilinçli olarak deneyin
Çok sayfalı bir sonucu, boş bir sonucu, yinelenen girişi, zaman damgasını paylaşan iki kaydı, iptal edilen bir kimlik bilgisini, kiracılar arası bir isteği ve geçici bir hatayı test edin. Belgelenen devam bağlantılarını veya imleçlerini takip edin. Hız sınırlaması, kayıt durumu, ilgili başlıklar ve yeniden deneme politikası için. GitHub'ın en iyi uygulamaları hız sınırı sinyallerine uyulması ve kontrolsüz eşzamanlılıktan kaçınılması tavsiye edilir; kesin sınırlar hâlâ fiili hizmet sözleşmesine aittir.
Birinci sayfanın saklandığını ancak ikinci sayfanın başarısız olduğunu varsayalım. İlk istek için bir HTTP 200, tam bir dışa aktarımı haklı gösteremez; kısmi durumu koruyun ve sağlayıcının desteklediği devam veya yeniden başlatma sürecini kullanın. Ayrı olarak, başka bir yetkili test kiracısı için kimliği başarıyla doğrulanan bir talep, arayan kişinin bu yetkiden yoksun olması durumunda yine de reddedilmelidir. Bu varsayımsal durumlar farklı gereksinimleri test eder: eksiksizlik ve yetkilendirme.
Yeniden deneme testi için, belgelenmiş hız sınırı yanıtını kalıcı izin hatasından ayırın. GitHub'ın hız sınırı belgeleri hız sınırlamasını 403 veya 429 ile raporlayabildiğini açıklıyor; bu nedenle, hata içeriğini ve belgelenen üstbilgileri okumadan her 403'ü kalıcı olarak yeniden denenemez olarak sınıflandırmayın. Gerçek sağlayıcının sınırlı bekleme ve yeniden deneme kurallarını uygulayın. Burada hiçbir sanal saat, yeniden başlatma testi, satıcı çağrısı veya canlı erişim kontrolü kontrolü yürütülmedi.
Neyin kabul edilebilir olduğuna karar verin
Gerekli her davranışı, elde edilen kanıtları ve kalan belirsizliği listeleyen bir değerlendirme kaydı oluşturun. Eksik kiracı izolasyonunu veya kurtarılamayan veri kaybını durdurma koşulları olarak değerlendirin. Prodüksiyon kimlik bilgilerinin bulunmaması belgesel değerlendirmesini engellemez ancak canlı erişim kontrollerinin test edildiğinin iddia edilmesini engeller.
Hizmet sahibiyle bir sonraki adım üzerinde anlaşın: bir korumalı alan edinin, korunan bir bağdaştırıcı uygulayın veya iş akışını desteklenen dışa aktarımlara daraltın. Sabitlenmiş sözleşmeyi ve test fikstürlerini saklayın, böylece sağlayıcı değişikliği daha sonra değerlendirilebilir. Ürüne özel iddiaları belgelenen ve gözlemlenen yeteneklerle sınırlı tutun; bu kılavuz tarafından hiçbir EmailAuth API entegrasyonu doğrulanmamıştır.