API Test Planı Dokümantasyon Standartları
Özellikle büyük kuruluşlarda çalışanlar olmak üzere deneyimli API test uzmanlarına bir sorum var. API test planlarının dokümantasyonu için herhangi bir endüstri standardı belirlemekle görevlendirildim. Şimdiye kadar, IEEE 829 Standardı ve ISO 29119'un genel olarak yazılım testini bilgilendirmek için kullanılabileceğini buldum.
Bununla birlikte, özellikle deneyimlerinizden önerebileceğiniz API test planlarını belgelemek için var olan en iyi uygulamalar, yönergeler veya standartlar var mı?
Yanıtlar
Kişisel görüşüm:
Yüksek düzeyde
API Uç Noktalarını, Durum Kodlarını ve Verileri Duman, Mutlu ve Üzücü Testlerle Test Edin
Ayrıntılı bir düzeyde aşağıdaki soruları sormak gerekir.
Cevaplar neyi ve nasıl test edileceğine rehberlik edecektir.
- Hangi belgeler var?
- Hangi işlevleri sağlar?
- Eşzamanlılığı destekliyor mu?
- API uç noktaları nelerdir?
- API dahili mi yoksa harici mi?
- Hangi uç noktalar idempotenttir?
- Uç noktalar durum bilgisiz mi yoksa durum bilgili mi?
- Herhangi bir iş akışı * 1 müşteriye göre değişiklik gösteriyor mu?
- Performans gereksinimleri var mı?
- API uç noktaları bir iş akışı oluşturur mu?
- Veriler için hangi doğrulamalar bekleniyor?
- API'nin arkasında hangi sistem veya kitaplık var?
- Bağımlı hizmetlerle dalga geçmemize gerek var mı?
- Hız Sınırlaması olarak da bilinen trafiği kısıtlıyor mu?
- Hangi (varsa) sürüm oluşturma yaklaşımı kullanılır?
- API, Birden Çok Dili destekliyor mu?
- Zaten SOAPui kullanıyorsanız, nasıl entegre edilir?
- API bir ülke veya bölgeyle sınırlı mı?
- Belirli dillerde müşteri taslakları sağlıyor mu?
- Belirli uç noktalar için hangi durum kodları bekleniyor?
- Veriler için hangi alan formatı ve yapısı var?
- API, kendi kendine dokümantasyon için HATEOS * 2 kullanıyor mu?
- Ne tür veri doğrulama / testi yapılabilir?
- Kullandığım test çerçevesi tarafından hangi API destekleniyor?
- Hangi eylemler gerçekleştirilir, örneğin GET, PUT, POST vb.
- Bağımlı test verilerini veya hizmetlerini hazırlamamız gerekiyor mu?
- Verileri doğrulamak için API olmayan hangi yaklaşımlar gerekli olacak?
- WADL, WSDL, Thrift gibi mevcut API tanımları var mı?
- Verileri hazırlamak için API olmayan hangi yaklaşımlara ihtiyaç duyulacak?
- Hangi (varsa) Yetkilendirme ('ne') mekanizması kullanılacak?
- Hangi (varsa) Kimlik Doğrulama ('kim') mekanizması kullanılacak?
- Kim, harici programcılar mı yoksa başka bir dahili modül mü kullanacak?
- Hangi format (lar): SOAP, REST, GraphQL, Thrift, ProtoBuffer, Other?
* 1 İş akışları genellikle birden çok API çağrısı gerektirir ve aralarında bağımlılıklar olabilir
* 2 HATEOS - Bir API'nin kendi kendine keşfedilmesine izin veren Uygulama Durumu Motoru Olarak Hypertext