Navrhování případů selhání s ladicí proxy
Vyberte úpravy HTTP, zpoždění a přerušené výměny podle chování klienta, které má test založený na proxy prověřit.
Ladicí proxy je užitečná, když má klient narazit na odpověď, kterou běžný server zřídka vytvoří. Nejprve definujte chování klienta a potom zvolte zásah, který tento stav vyvolá.
„Požadavek selhal“ je příliš široký testovací případ. Platná chybová odpověď HTTP, odpověď, která nikdy nedorazí, a spojení přerušené v polovině stahování žádají od aplikace různé věci.
| Případ | Chování k prozkoumání |
|---|---|
| Úplná chybová odpověď HTTP | Zda klient přečte stav a použije zamýšlenou chybovou politiku |
| Zpožděná odpověď | Zda může uživatel zrušit a zda se časový limit uplatní v zamýšlené fázi |
| Neočekávané pole hlavičky nebo těla | Zda analýza a validace selhávají jasně |
| Přerušená výměna | Zda neúplná data zůstávají rozlišitelná od dokončeného výsledku |
Použijte zásah ve správné vrstvě
Charles nabízí zarážky, které pozastaví požadavek nebo odpověď před předáním. Zachycenou zprávu lze prozkoumat a upravit, propustit nebo přerušit. Nástroj Rewrite uplatňuje opakovatelné změny na odpovídající hlavičky, adresy URL nebo těla. Omezování šířky pásma řídí šířku pásma a přidanou latenci.
Tyto ovládací prvky mohou prověřit chování klienta HTTP, ale limit šířky pásma není přesným modelem náhodné ztráty IP paketů. Proxy může ukládat data do vyrovnávací paměti, znovu používat spojení a otevřít samostatné spojení proti proudu. Zvolte nástroj pro zhoršení sítě, pokud je požadovaný stav výslovně pod HTTP.
Udržte každý případ interpretovatelný
Zaměřte zamýšleného hostitele a cestu úzce. Začněte běžnou výměnou, zapněte jednu změnu a zaznamenejte, co se změnilo. Pokud opakování dosáhne druhého koncového bodu, rozhodněte, zda má stejné pravidlo ovlivnit i tento pokus. Bezpodmínečné přepsání může jinak proměnit každou cestu obnovy v původní selhání.
U nahrávání nebo operace podobné platbě ztracená odpověď nedokazuje, že server požadavek odmítl. Zahrňte tuto nejednoznačnost do případu opakování, místo abyste tvrdili, že každé selhání přenosu lze bezpečně opakovat.
Prohlížení nebo úprava obsahu HTTPS vyžaduje, aby se klient zapojil do nastavení kontroly TLS ladicí proxy. Proxy, který přenáší pouze CONNECT, vidí šifrované bajty aplikace. Použijte izolovanou testovací konfiguraci a poté obnovte její směrování a nastavení důvěry, aby pozdější pozorování popisovala běžného klienta.