Test ortamı doğrulama için bir kez canlı servise bağlanır ve sonra bağlantıyı kesmek unutulur. Bir ay sonra otomatik çalıştırma canlı serviste onlarca gerçek hesap oluşturur, ödeme geçidi de deneme siparişi için gerçek para çeker. Kaza çalıştırmanın kendisinde değil, test ortamı ile canlı ortamın yapılandırma düzeyinde ayrılmamış olmasındadır. Bunun nasıl olduğunu ve otomatik çalıştırmanın canlı bir olaya dönüşmemesi için nelerin kontrol edilmesi gerektiğini ele alalım.

Tipik kaza: test çalıştırması canlı hesapları nasıl oluşturur

Senaryo hemen hemen her zaman aynıdır: test ortamının yapılandırması canlı ortamdan kopyalanır, değerlerin bir kısmı değiştirilir, ancak API adresi ya da erişim anahtarı unutulur. Çalıştırmalar aylarca sorunsuz sürer; ta ki biri kayıt veya ödeme uç noktasına dokunana kadar. O zaman canlı veritabanında test_user_1 gibi test adlı gerçek hesaplar, ödeme geçidinde ise deneme siparişleri için gerçek çekimler ortaya çıkar.

Kaza hemen fark edilmezse durum daha da kötüleşir: bu hesaplar canlı ortamda haftalarca kalır, analitiğe girer, dönüşüm metriklerini bozar ve olay incelemesi sırasında gerçek kullanıcılarla karışır.

Test ortamı ve canlı ortam yapılandırmalarının anahtar ve adreslere göre ayrılması

Hafızaya güvenmemenin sağlam yolu yapılandırmaları fiziksel olarak ayırmaktır: test ortamının kendi erişim anahtarları, kendi API adresi, kendi geri çağrı alan adı olmalıdır. İçinde «test/canlı» anahtarı bulunan ortak bir yapılandırma dosyası kazaların çoğunun kaynağıdır, çünkü bu anahtar dağıtım sırasında unutulabilir ya da karıştırılabilir.

Anahtar biçimini dokümantasyonla karşılaştırmak gerekir; örneğin numara kiralama API dokümantasyonu ile: test ve canlı anahtar çoğu zaman görsel olarak neredeyse ayırt edilemez, aradaki fark yalnızca önekten ya da anahtarın verildiği kişisel hesap bölümünden anlaşılır.

Çalıştırmalar için ayrı numara ve e-posta kutusu havuzu

Böyle bir çalıştırmanın gerçek numaralara ve e-posta kutularına ihtiyacı vardır; bunlar olmadan SMS alma ya da doğrulama e-postası test edilemez. Hata, bunları ortak canlı havuzdan almaktır: çalıştırmalarla meşgul edilen numara satıştan düşer, çalıştırmadan sonra da kimsenin açmayı planlamadığı bir canlı hesaba bağlı kalabilir.

Doğru düzen, daha teslim aşamasında «test» durumu atanmış ayrı bir havuz ve ona ait ayrı bir kayıt defteridir: canlı kaynaklarla aynı alanlar, yani ortam, tarih, durum. Böyle bir kayıt defterinin genel olarak nasıl kurulduğu numara, e-posta ve IP envanteri makalesinde anlatılmıştır.

Test ortamının yanlış yere baktığının belirtileri

Her yapılandırma sürümünden önce kontrol etmeniz gereken birkaç işaret var: test ortamının günlüklerinde canlı alan adı ya da API üzerinden rotasyon havuzundan gelen canlı adres görünüyor; canlı analitikteki sayaç otomatik çalıştırmayla eş zamanlı artıyor; canlı destek e-postasına test adlı otomatik mesajlar geliyor; yalnızca deneme çalıştırmasının sürmesi gereken bir anda canlı cüzdandaki bakiye elle bir işlem yapılmadan azalıyor.

Bu belirtilerden herhangi biri, çalıştırmaya «canlı ortamda atla» koşulu eklemek yerine onu hemen durdurmak için yeterli bir nedendir.

«Test anahtarı canlı ortamda var olmamalı» kuralı ve ilk çalıştırma öncesi kontrol listesi

En güvenilir kural her türlü izlemeden daha basittir: test ortamının anahtarı canlı ortamda fiziksel olarak bulunmamalı, canlı anahtar da test ortamında bulunmamalıdır. «Varsayılan olarak kapalı» değil, tam olarak yok — o zaman hatalı çağrı canlı servise gitmek yerine yetkilendirmede başarısız olur.

İlk otomatik çalıştırmadan önce dört şeyi kontrol etmek gerekir: test ortamı yapılandırmasındaki API adresi ve erişim anahtarı canlı ortamdan kopyalanmamış olmalı; çalıştırma için kullanılan numara ve e-posta kutusu havuzu ayrı olmalı ve test olarak işaretlenmeli; hata fark edilene kadar yüzlerce isteğe yayılmasın diye test ortamında işlem sayısı sınırı belirlenmeli; çalıştırma günlükleri de yalnızca elle istek yapıldıktan sonra değil, hemen erişilebilir olmalı.

Sıkça Sorulan Sorular

Test ortamının canlı ortama bakmadığını hızlıca nasıl kontrol edebilirim?

Açıkça fark edilir tek bir test çağrısı yapın; örneğin benzersiz adlı bir kaynak oluşturun ve canlı panelde görünüp görünmediğine bakın. Görünüyorsa yapılandırma karışmıştır.

Kısa bir çalıştırma için canlı numaralar kullanılabilir mi?

Hayır: kısa bir çalıştırma bile canlı havuzdan bir kaynağı meşgul eder ve temizleme başarısız olursa kaynak zamanında satışa geri dönmez.

Test çalıştırması canlı hesaplar oluşturduysa ne yapmalıyım?

Onları ayırt edici bir özelliğe göre dışa aktarın; ad öneki ya da olağan trafik dışındaki oluşturulma tarihi gibi. Sonra elle silin veya devre dışı bırakın, ardından nedeni ortadan kaldırın: ortak anahtarı ya da ortak API adresini.

Test için canlı verilere zarar verme riski olmadan ayrı bir gerçek numara ve e-posta kutusu havuzuna ihtiyacınız varsa, numara ve e-posta kiralama bölümünde kaynaklar tek tek verilir ve varsayılan olarak başkalarının ortamlarıyla kesişmez.