Merhaba, Apidog kullanıcıları! 👋 Geçtiğimiz yıl, birden fazla API isteğini eksiksiz iş akışlarına bağlayan yeniden kullanılabilir iş akışı dizileri olan Test Senaryoları etrafında kapsamlı bir otomatik test platformu oluşturduk. Test Senaryoları "nasıl test edilir" sorununu çözüyor, ancak ekiplerden farklı bir zorluk hakkında sürekli geri bildirim aldık: "neyi test edeceğimizi nasıl düzenleriz."
Ekipler bize iş modüllerine göre düzenlenmiş yüzlerce test senaryosu olduğunu, ancak sürüm regresyonu zamanı geldiğinde sadece P0 senaryolarını çalıştırmak istediklerini, her şeyi değil. Şu anda, her birini manuel olarak arayıp seçmek zorundalar. Diğerleri hem pozitif hem de negatif test senaryolarını sürdürüyor, ancak duman testlerinin yalnızca pozitif akışları kapsamasını istiyor. Ve yeni senaryolar eklendiğinde, regresyon listelerinde sıklıkla unutuluyorlar.
Bugün, Test Paketleri'ni tanıtıyoruz: testleri bireysel seçime göre değil, kurallara göre organize etmenizi ve yürütmenizi sağlayan yeni bir kaynak türü. Test Paketleri, test iş akışınıza üç temel yetenek getiriyor:
- Dinamik test yönlendirme: Filtreleme kurallarını bir kez tanımlayın; etiketlere, dizinlere veya öncelik seviyelerine göre—ve eşleşen senaryolar çalışma zamanında otomatik olarak dahil edilir. Kriterlerinize uyan yeni senaryolar manuel bakım gerektirmeden eklenir.
- Paralel yürütme: Tek bir tıklamayla sıralı ve paralel mod arasında geçiş yapın. Sistem, mevcut kaynaklara göre eşzamanlılığı otomatik olarak optimize eder, saatler süren regresyonları dakikalara indirir.
- Yapılandırılmış test raporları: Sonuçları düz listelerde gezinmek yerine, organizasyon mantığınıza göre (modül, öncelik veya etikete göre) gruplandırılmış olarak görüntüleyin. Başarısız senaryolar net bağlamlarıyla anında ortaya çıkar.

Her bir yeteneğin nasıl çalıştığına daha yakından bakalım.
Dinamik test yönlendirme
QA ekiplerinden en sık duyduğumuz talep: "Ödeme modülündeki tüm P0 senaryolarını tek tek seçmeden çalıştırmak istiyorum." Test Paketleri, test yazımını test organizasyonundan ayırarak bu sorunu çözüyor.
Test Senaryoları yapı taşlarınız olmaya devam ediyor; her biri eksiksiz bir iş akışını (giriş yapma, sipariş oluşturma, ödeme yapma, durumu doğrulama) temsil eder. Test Paketleri, bu senaryoları koşullara göre gruplandırmanıza olanak tanır: etiketler, dizinler, öncelik seviyeleri veya bunların herhangi bir kombinasyonu. Bir paket çalıştırdığınızda, yürütme zamanında eşleşen tüm senaryoları otomatik olarak dahil eder.
AI destekli geliştirme araçları kod ve test üretimini hızlandırdıkça bu durum giderek daha önemli hale geliyor. Dinamik paketlerle, yeni bir senaryo eklendiğinde regresyon listelerini manuel olarak güncellemenize gerek kalmaz. Senaryoyu yazın, doğru etiketleri uygulayın ve paket gerisini halleder.
Farklı test ihtiyaçlarına uygun iki modu destekliyoruz:
Statik mod, size sabit bir senaryo listesi sunar. Hangi senaryoları dahil edeceğinizi tam olarak siz seçersiniz ve bu liste siz değiştirene kadar değişmez. Bu, nadiren değişen ancak sık sık çalıştırılan 5-15 kritik senaryodan oluşan seçilmiş bir küme olan duman testleri için iyi çalışır.

Dinamik mod, eşleşen senaryoları otomatik olarak dahil etmek için kurallar kullanır. Bir koşul tanımlayın ("Ödeme" dizinindeki tüm P0 öncelikli senaryolar gibi) ve test kütüphaneniz geliştikçe paket güncel kalır. Bu, senaryo sayılarının düzenli olarak değiştiği modül regresyonu için iyi çalışır.

Ürün arayüzünde, terminolojiyi önceden anlamanızı gerektirmeden bu seçimde size rehberlik ediyoruz. Statik modu seçtiğinizde, bireysel seçim için onay kutuları görünür. Dinamik modu seçtiğinizde, eşleşen senaryoların salt okunur bir önizlemesini ve "Bu koşullara uyan yeni senaryolar otomatik olarak dahil edilecektir" notunu görürsünüz.
Paralel yürütme
Test paketiniz yüzlerce senaryoya ulaştığında, sıralı yürütme bir darboğaz haline gelir. Tamamlanması bir saat süren tam bir regresyon, sürüm hattınızı geciktirir ve üretim izlemesinde sorun tespitini yavaşlatır.
Test Paketleri, kutudan çıktığı gibi paralel yürütmeyi destekler. Sadece sıralı ve paralel mod arasında geçiş yapın; sistem, makinenizin mevcut kaynaklarına göre optimal eşzamanlılığı otomatik olarak belirler. Manuel ayarlamaya gerek yoktur. Bu, test mantığınızı değiştirmeden 60 dakikalık bir regresyonu 30 dakikanın altına indirir.

Paralel yürütme, bağımlılık izolasyonunu otomatik olarak yönetir. Her senaryo kendi bağlamında çalışır ve bir senaryodan gelen paylaşılan değişkenlerin veya ortam durumunun diğer senaryolarla çakışmamasını sağlar. Gerçekten birbirine bağımlı olan senaryolar için, bunları sıralı adımlarla tek bir senaryoda gruplandırabilirsiniz.
Yapılandırılmış test raporları
Geleneksel test raporları sonuçları tek tek listeler. Birden fazla modülde 200 senaryo içeren bir paket çalıştırdığınızda, önemli hataları bulmak zahmetli hale gelir.
Test Paketi raporları, organizasyon mantığınıza göre yapılandırılmıştır. Sonuçlar, tanımladığınız koşullara göre (modül, öncelik, etikete göre) gruplandırılır. Tek tek girişler arasında gezinmeden "Ödeme Modülü: 45/47 geçti" ve "Kullanıcı Modülü: 32/32 geçti" ifadelerini hemen görebilirsiniz.

Her grup, yürütme süresi, onay sayıları ve hata detayları ile bireysel senaryo sonuçlarını göstermek için genişler. Başarısız senaryolar, net hata bağlamı ile üste çıkar, böylece sorunları günlüklerde aramak zorunda kalmadan önceliklendirebilirsiniz.

Raporlar ayrıca yürütme meta verilerini de içerir: toplam süre, paralel verimlilik (sıralı yürütmeye kıyasla kazanılan zaman) ve kullanılan ortam yapılandırması. Bu, zamanla paket yapılandırmanızı optimize etmenize yardımcı olur ve uyumluluk gereksinimleri için denetim izleri sağlar.
Esnek geçersiz kılmalarla birleşik yapılandırma
Her Test Senaryosu kendi çalıştırma yapılandırmasına sahip olabilir: ortam, döngü sayısı ve diğer ayarlar. Birden fazla senaryoyu bir pakette grupladığınızda, hangi yapılandırmanın öncelikli olacağına karar vermeniz gerekir.
Varsayılan olarak, her senaryo kaydedilmiş yapılandırmasıyla çalışır; bu en sezgisel davranıştır. Özellikle ortam ayarları için, paket senaryoların devralabileceği birleşik bir ortam seçici sağlar. Bu, tüm regresyon paketinizi tek bir değişiklikle hazırlık ortamından üretim ortamına geçirmenizi sağlar.
Tam kontrol isterseniz, tüm senaryo seviyesi ayarlarını geçersiz kılan özel bir yapılandırma belirleyebilirsiniz. Bu seçenek, genel yolu basit tutmak için gelişmiş ayarlarda mevcuttur.

Test Paketleri ve Dizin Toplu Çalıştırmaları
Apidog zaten dizin seviyesinde toplu çalıştırmaları destekliyor. Test Paketleri farklı bir amaca hizmet ediyor.
Dizinler, senaryoları fiziksel yapıya göre düzenler. Bir senaryo bir klasöre aittir.
Test Paketleri, senaryoları mantıksal kurallara göre düzenler. Bir senaryo aynı anda birden fazla pakete ait olabilir.
Örneğin: Bir P0 ödeme test senaryosu hem "Ödeme Modülü Regresyonu"nda (ödeme etiketiyle işaretlenmiş tüm P0/P1 senaryoları) hem de "Tam Duman Testi"nde (sistem genelindeki tüm P0 senaryoları) yer alabilir. Bu esneklik, farklı senaryolar için yeniden kullanılabilir test yürütme birimleri oluşturmanıza olanak tanır—her commit'te tetiklenen duman testleri, sürümlerden önceki tam regresyon ve üretimde zamanlanmış sağlık kontrolleri gibi.
Yetenek | Amaç | En Uygun Olduğu Yer |
|---|---|---|
Test Senaryosu | İş akışı orkestrasyonu | Bireysel test iş akışlarını tanımlama |
Dizin | Fiziksel organizasyon | Ekip işbirliği, senaryo yönetimi |
Dizin toplu çalıştırma | Hızlı yürütme | Keşifsel test, özel regresyon |
Test Paketi | Yeniden kullanılabilir yürütme birimi | Sürüm regresyonu, duman testleri, zamanlanmış izleme |
Sırada ne geliştiriyoruz
Paket iç içe yerleştirmeyi (diğer paketlerden paketler oluşturma) ve hatada otomatik yeniden denemeyi değerlendiriyoruz. Dinamik mod zaten çoğu bileşim ihtiyacını karşılıyor ve gerçek hataları yeniden denemelerle gizlemekten kaçınmak istiyoruz. Kullanım modellerine göre tekrar değerlendireceğiz.
Nasıl başlanır
Test Paketleri şimdi Apidog'da mevcut. Otomatik Test modülünden ilk paketinizi oluşturun, statik veya dinamik modu seçin, koşullarınızı tanımlayın ve çalıştırın. Kod birleştirme veya zamanlama üzerine paketleri tetiklemek için CLI kullanarak CI/CD hattınızla entegre edin.
Sohbete Katılın
Test Paketlerinin iş akışınıza nasıl uyduğunu duymak isteriz. Geri bildirimlerinizi topluluk kanallarımızda paylaşın. API mühendisleri ve Apidog ekibiyle bağlantı kurun:
- Discord: Gerçek zamanlı tartışmalar ve test stratejileri için topluluğumuza katılın
- X (Twitter): En son ürün güncellemeleri ve API içgörüleri için bizi takip edin
- LinkedIn: Profesyonel güncellemeler ve sektör perspektifleri için bizimle bağlantı kurun. Tüm bu güncellemelerin tam detaylarını Apidog Değişiklik Günlüğü'nde keşfedin! 🚀
Keyifli testler!
