Utforme feiltilfeller med en feilsøkingsproxy
Velg HTTP-endringer, forsinkelser og avbrutte utvekslinger ut fra klientatferden en proxybasert test skal prøve ut.
En feilsøkingsproxy er nyttig når en klient må møte et svar som den vanlige serveren sjelden produserer. Definer klientatferden først, og velg deretter inngrepet som frembringer den tilstanden.
«Forespørselen mislyktes» er et for bredt testtilfelle. Et gyldig HTTP-feilsvar, et svar som aldri kommer og en tilkobling som brytes midt i en nedlasting krever forskjellige ting av programmet.
| Tilfelle | Atferd som skal undersøkes |
|---|---|
| Et fullstendig HTTP-feilsvar | Om klienten leser statusen og bruker den tiltenkte feilpolicyen |
| Et forsinket svar | Om brukeren kan avbryte, og om tidsavbruddet gjelder på det tiltenkte trinnet |
| Et uventet header- eller bodyfelt | Om parsing og validering feiler tydelig |
| En avbrutt utveksling | Om ufullstendige data forblir mulige å skille fra et ferdig resultat |
Bruk et inngrep på riktig lag
Charles tilbyr bruddpunkter som stopper en forespørsel eller et svar før det videresendes. Den avskjærte meldingen kan undersøkes og redigeres, slippes gjennom eller avbrytes. Verktøyet Rewrite bruker gjentakbare endringer på samsvarende headere, URL-er eller bodies. Begrensning styrer båndbredde og tilført latenstid.
Disse kontrollene kan prøve ut atferden til en HTTP-klient, men en båndbreddegrense er ikke en presis modell for tilfeldig tap av IP-pakker. En proxy kan bufre data, gjenbruke tilkoblinger og åpne en egen oppstrømstilkobling. Velg et verktøy for nettverkssvekkelse når den nødvendige tilstanden er spesifikt under HTTP.
Hold hvert tilfelle tolkbare
Match den tiltenkte verten og stien snevert. Begynn med en normal utveksling, aktiver én endring og registrer hva som ble endret. Hvis et nytt forsøk når et annet endepunkt, avgjør om samme regel skal påvirke det forsøket. Ellers kan en ubetinget omskriving gjøre hver gjenopprettingsvei om til den opprinnelige feilen.
Ved en opplasting eller en betalingslignende handling beviser et tapt svar ikke at serveren avviste forespørselen. Ta med den uklarheten i gjentakelsestilfellet i stedet for å hevde at enhver transportfeil er trygg å gjenta.
Inspeksjon eller redigering av HTTPS-innhold krever at klienten deltar i feilsøkingsproxyens TLS-oppsett. En proxy som bare fører CONNECT, ser krypterte programbytes. Bruk en isolert testkonfigurasjon og gjenopprett rutingen og tillitsinnstillingene etterpå, slik at senere observasjoner beskriver den normale klienten.