Bu sayfada
Yeşil test eksik bir kuralı gizleyebilir. Bu örnek senaryoda ajandan mağazayı e-posta platformuna bağlaması isteniyor. Test sunucusu kişi güncellemesini kabul edip düzgün bir 200 döndürüyor. Ajan görevini bitiriyor ve test geçiyor.
Gerçek hedef sistemin ek bir kuralı var: kişi güncellemesi özel özelliği ayarlamadan önce özellik tanımlanmış olmalı. Test sunucusu bu kuralı modellememiş. Yeşil sonuç, test dünyasındaki ajan hakkında bir şey kanıtlar. Canlı dünyadaki eksik kural hakkında hiçbir şey kanıtlamaz.
Simülasyonun temel ödünleşimi budur. Tehlikeli veya pahalı işlemleri tekrarlanabilir kılar. Ayrıca davranışı ilk sistemden sapabilecek ikinci bir sistem yaratır.
Taklit sistem işlem testini mümkün kılar
İşlem yapan ajanı test etmek için ona hedef, ortam ve gözlemlenebilir son durum verin. Simüle edilmiş ajan ortamlarına ilişkin kaynak tartışması, bu yapıyı tarayıcı ve bilgi işi görevleri bağlamında anlatır. Ortam, doğrulayıcının ajanın geride bıraktığını bilinen doğru sonuçla karşılaştırmasını sağlar.
Entegrasyonda taklit sistem az sayıda hedef işlemi sunabilir: alanları listele, kişi oluştur, kişiyi güncelle ve bir kişiyi geri oku. Tanımlı FNAME alanı ile bulunmayan CUSTOM_TIER alanını içeren test kaydı tutabilir. Test, ajandan eşleme önermesini isteyip tanım oluşmadan CUSTOM_TIER kullanan yazmayı reddedebilir.
Her çalıştırma aynı durumdan başladığı için taklit sistem yararlıdır. Her seferinde tek koşulu değiştirebilirsiniz: eksik alan, reddedilen izin, eski şema sürümü, belirsiz tanımlayıcı. Ajanın çağrı sırasını ve oluşan durumu model veya istemler arasında karşılaştırabilirsiniz.
Bu, ajanın ne yapacağını soran yalnızca metin tabanlı sorudan güçlüdür. Kontrollü dünyada gerçekte ne çağırdığını test eder.
Test kaydına hazır yanıtların yanı sıra her çağrı öncesi ve sonrası durum verin. Ajan kişiyi iki kez oluşturursa ikinci çağrı, test etmek istediğiniz yinelenen kayıt davranışını göstermelidir. Yazdıktan sonra alanı okursa okuma saklanan durumu döndürmelidir. Aksi hâlde ajan makul bir istek göndererek testi geçebilir; test ise işlem sırasının amaçlanan kaydı üretip üretmediğini hiç öğrenmez.
Gerçeğe uygunluk testin parçasıdır
Makul bir itiraz şudur: “Sağlayıcının test ortamı varsa neden başka bir tane kuralım?” İhtiyaç duyduğunuz vakayı destekleyip veriyi güvenli tuttuğunda sağlayıcının test ortamını kullanın. Yerel taklit sistem, deterministik sıfırlama, kasıtlı hata veya sağlayıcı test ortamının kuramadığı çağrıları sınama gerektiğinde yerini hak eder. Bakım maliyeti de vardır. Modellediğiniz her kural yanlış olabilir veya eskiyebilir.
Resmî Brevo kişi API’si, kişi özelliklerinin hesapta bulunması gerektiğini ve tanımlanmış türle uyuşmayan değerlerin yok sayıldığını belirtir. Her hatalı değeri reddeden taklit sistem, belgelenmiş bu vakadan farklı davranır. Ajanı gerçekte gelmeyecek hata yanıtını beklemeye alıştırabilir.
Taklit sistemin hangi sağlayıcı davranışlarını kapsadığını yazın. Gerçek API’ye veya desteklenen test ortamına karşı küçük bir sözleşme yoklaması kümesi tutun. Yoklama fark bulduğunda taklit sistemi güncelleyin ve farkı ortaya çıkaran vakayı ekleyin. Simülasyon sağlayıcının modelidir, sağlayıcının yerine geçmez.
Aynı disiplin zaman için de geçerlidir. Her yazmayı anında görünür yapan taklit sistem, çok erken okuyan iş akışını kaçırabilir. Her yazmayı geciktiren taklit sistem, sağlayıcının üretmediği hatalar uydurabilir. Zamanlamayı yalnızca test edilen kararı etkiliyorsa modelleyin; kalanını simülasyon dışında olarak işaretleyin. Geçen testin anlamı o zaman kesindir: bu ajan, modellenen kurallar altında bu işlemleri tamamladı.
Tajo’nun Brevo bağlayıcı kılavuzu aynı pratik sorunu satıcı açısından anlatır: başarılı bir isteğe rağmen alan hedef kayıtta bulunmayabilir. Test ancak HTTP yanıtını değil alanı denetliyorsa yararlıdır.
Simüle edilmiş hedef sistem ajanı modellenen kurallarla test eder. Sözleşme yoklamaları, sınırları belirli önizlemeden önce bu kuralları canlı hedefle karşılaştırır.
Güvenli provadan sınırları belirli kanıta geçin
Başarılı simülasyonu küçük canlı önizleme izlemelidir. Beklenen hedef durumları açık birkaç kayıt seçin. Normal kayıt, eksik isteğe bağlı alan ve iletişim izni pazarlama kullanımını yasaklayan kayıt ekleyin. Hedef sistemin gerçekte ne sakladığını doğrulayın. Sonucu yalnızca istek yükünden çıkarmayın.
Sentetik önizleme ile hedef kontrolü farklı soruları yanıtlar. Tajo eşleme önizlemesi, hedefe yazmadan dönüşümü sınar. Aşağıdaki önerilen görünüm sonraki sınırı gösterir: uygulanmış güncellemenin de hedefteki durumu kontrol edilmelidir. Bu adımı beklemede göstermek, provanın kanıt sayılmasını önler.
Tamamlanan yazma da kanıt gerektirir
Müşteri senkronizasyonu bitti mi?
Yazma uygulandı. Doğrulama bekliyor.
Hedefteki durum henüz kontrol edilmedi.
Senkronizasyon etkinliği
- İstek kabul edildi
- Güncelleme uygulandı
- Hedef kontrolü bekliyor
Örnek çalıştırma · 14:32 UTC
Bildiklerimiz
- Sağlayıcı yanıtı
- Kabul edildi
- Yazma sonucu
- Uygulandı
- Hedeften yeniden okuma
- Bekliyor
Başarılı çağrı son durumu kanıtlamaz.
Tajo etkinlik akışından esinlenen önerilen düzen. Bu çizim doğrulama durumu ekler; hedeften yeniden okumanın mevcut olduğunu iddia etmez.
Önizlemenin dar kapsamı ve açık durdurma koşulu olmalıdır. Hata geniş etkinleştirmeyi durdurup tam uyumsuzluğu göstermelidir: alan tanımı, tanımlayıcı, tür, izin veya zamanlama. Geçen önizleme gelecekte her kaydın aynı davranacağını kanıtlamaz, ancak seçilen vakalarda sözleşmenin bugün çalıştığını gösterir.
Bu sıra iki soruyu ayırır. Simülasyon “Dünyayı kontrol ettiğimizde ajan tasarlanan kurala uyuyor mu?” diye sorar. Canlı önizleme “Tasarlanan kural bu sağlayıcı hesabına uyuyor mu?” diye sorar. İki soru birbirinin yerine geçemez.
Reverse ETL kılavuzu son işin neden çok sayıda kayıtta tekrarlandığını açıklar. Bu tekrar, simüle edilen sözleşmeyle gerçek sözleşme arasında kalan uyumsuzluğu büyütür.
Sıfırlayabildiğiniz dünyada prova yapın. Sonra sıfırlayamadığınız dünyayı inceleyin.
Sık Sorulan Sorular
Simüle edilmiş hedef sistem neyi test edebilir?
Ajanın beklenen çağrıları seçip seçmediğini, izinlere uyup uymadığını, bilinen hataları ele alıp almadığını ve simülasyon içinde beklenen durumu bırakıp bırakmadığını test edebilir.
Neyi kanıtlayamaz?
Sağlayıcı modelinin eksiksiz olduğunu gösteremez. Belgelenmemiş davranışlar, zamanlama ve hesaba özgü ayarlar simülasyondan farklı olabilir.
Başarılı simülasyondan sonra ne yapılmalı?
Gerçek hedef sistemde sınırları belirli bir önizleme veya küçük ölçekli deneme yürütün, ardından geniş etkinleştirmeden önce oluşan durumu inceleyin.