Hata ayıklama proxy'siyle hata senaryoları tasarlamak
Proxy tabanlı bir testin sınaması gereken istemci davranışına göre HTTP düzenlemelerini, gecikmeleri ve kesintiye uğrayan alışverişleri seçin.
Hata ayıklama proxy'si, istemcinin normal sunucunun nadiren ürettiği bir yanıtla karşılaşması gerektiğinde yararlıdır. Önce istemci davranışını tanımlayın, sonra bu durumu üreten müdahaleyi seçin.
«İstek başarısız oldu» çok geniş bir test senaryosudur. Geçerli bir HTTP hata yanıtı, hiç ulaşmayan bir yanıt ve bir indirmenin ortasında kesilen bağlantı uygulamadan farklı şeyler ister.
| Senaryo | İncelenecek davranış |
|---|---|
| Eksiksiz bir HTTP hata yanıtı | İstemcinin durumu okuyup amaçlanan hata politikasını uygulayıp uygulamadığı |
| Geciktirilmiş bir yanıt | Kullanıcının iptal edip edemediği ve zaman aşımının amaçlanan aşamada geçerli olup olmadığı |
| Beklenmeyen bir başlık veya gövde alanı | Ayrıştırma ve doğrulamanın açıkça başarısız olup olmadığı |
| Kesintiye uğramış bir alışveriş | Eksik verilerin tamamlanmış bir sonuçtan ayırt edilebilir kalıp kalmadığı |
Doğru katmanda müdahale kullanın
Charles, bir isteği veya yanıtı iletmeden önce durduran kesme noktaları sunar. Yakalanan ileti incelenip düzenlenebilir, geçirilebilir veya iptal edilebilir. Rewrite aracı eşleşen başlıklara, URL'lere veya gövdelere yinelenebilir değişiklikler uygular. Bant genişliği sınırlaması bant genişliğini ve eklenen gecikmeyi denetler.
Bu denetimler bir HTTP istemcisinin davranışını sınayabilir, ancak bir bant genişliği sınırı rastgele IP paket kaybının kesin bir modeli değildir. Bir proxy veri tamponlayabilir, bağlantıları yeniden kullanabilir ve ayrı bir üst akış bağlantısı açabilir. Gerekli koşul özellikle HTTP'nin altındaysa bir ağ bozma aracı seçin.
Her senaryoyu yorumlanabilir tutun
Amaçlanan ana makineyi ve yolu dar biçimde eşleştirin. Normal bir alışverişle başlayın, tek bir değişikliği etkinleştirin ve neyin değiştiğini kaydedin. Bir yeniden deneme ikinci bir uç noktaya ulaşırsa, aynı kuralın o denemeyi de etkileyip etkilememesi gerektiğine karar verin. Aksi halde koşulsuz bir yeniden yazma her kurtarma yolunu özgün hataya dönüştürebilir.
Bir yükleme veya ödemeye benzer işlemde, kaybolan yanıt sunucunun isteği reddettiğini kanıtlamaz. Her taşıma hatasının yinelenmesinin güvenli olduğunu iddia etmek yerine bu belirsizliği yeniden deneme senaryosuna dahil edin.
HTTPS içeriğini incelemek veya düzenlemek, istemcinin hata ayıklama proxy'sinin TLS inceleme kurulumuna katılmasını gerektirir. Yalnızca CONNECT taşıyan bir proxy şifrelenmiş uygulama baytlarını görür. Yalıtılmış bir test yapılandırması kullanın ve ardından yönlendirmesini ve güven ayarlarını geri yükleyin, böylece sonraki gözlemler normal istemciyi tanımlasın.