Projektado de malsukcesaj kazoj per sencimiga prokurilo
Elektu HTTP-redaktojn, prokrastojn kaj interrompitajn interŝanĝojn laŭ la klienta konduto, kiun testo bazita sur prokurilo devas ekzerci.
Sencimiga prokurilo utilas kiam kliento devas renkonti respondon, kiun la normala servilo malofte produktas. Unue difinu la klientan konduton, poste elektu la intervenon, kiu produktas tiun staton.
„La peto malsukcesis“ estas tro larĝa testokazo. Valida HTTP-erara respondo, respondo, kiu neniam alvenas, kaj konekto interrompita duone de elŝuto postulas malsamajn aferojn de la aplikaĵo.
| Kazo | Konduto por ekzameni |
|---|---|
| Kompleta HTTP-erara respondo | Ĉu la kliento legas la staton kaj aplikas la celitan eraran politikon |
| Prokrastita respondo | Ĉu la uzanto povas nuligi kaj ĉu la tempolimo validas en la celita etapo |
| Neatendita kaplinia aŭ korpa kampo | Ĉu analizado kaj validigo malsukcesas klare |
| Interrompita interŝanĝo | Ĉu nekompletaj datumoj restas distingeblaj disde finita rezulto |
Uzu intervenon ĉe la ĝusta tavolo
Charles provizas haltpunktojn, kiuj paŭzigas peton aŭ respondon antaŭ plusendo. La interkaptita mesaĝo povas esti ekzamenata kaj redaktata, lasata trairi aŭ abortata. Ĝia ilo Rewrite aplikas ripeteblajn ŝanĝojn al kongruaj kaplinioj, URL-oj aŭ korpoj. Limigo regas bendlarĝon kaj aldonitan latenton.
Tiuj regiloj povas ekzerci la konduton de HTTP-kliento, sed bendlarĝa limo ne estas preciza modelo de hazarda perdo de IP-paketoj. Prokurilo povas kaŝmemorigi datumojn, reuzi konektojn kaj malfermi apartan suprenfluon. Elektu ret-malbonigilon kiam la postulata kondiĉo estas specife sub HTTP.
Konservu ĉiun kazon interpretebla
Kongruigu la celitan gastigan nomon kaj vojon mallarĝe. Komencu per normala interŝanĝo, ebligu unu ŝanĝon kaj registru, kio ŝanĝiĝis. Se ripeto atingas duan finpunkton, decida ĉu la sama regulo efiku tiun provon. Alikaze senkondiĉa reverkado povas transformi ĉiun reakiran vojon en la originan malsukceson.
Ĉe alŝuto aŭ pago-simila operacio, perdita respondo ne pruvas, ke la servilo malakceptis la peton. Inkluzivu tiun ambiguecon en la ripeta kazo anstataŭ aserti, ke ĉiu transporta malsukceso estas sekura ripeti.
Ekzameni aŭ redakti HTTPS-enhavon postulas, ke la kliento partoprenu la TLS-ekzamenan agordon de la sencimiga prokurilo. Prokurilo, kiu portas nur CONNECT, vidas ĉifritajn aplikaĵajn bajtojn. Uzu izolitan testan agordon kaj poste restarigu ĝian enkursigadon kaj fidsistemon, por ke postaj observoj priskribu la normalan klienton.