ଡିବଗିଂ ପ୍ରକ୍ସି ସହିତ ବିଫଳତା କେସ ଡିଜାଇନ କରିବା
ପ୍ରକ୍ସି-ଆଧାରିତ ପରୀକ୍ଷଣ ଯାହା କ୍ଲାଏଣ୍ଟ ଆଚରଣ ଯାଞ୍ଚ କରିବ, ସେହି ଅନୁସାରେ HTTP ସମ୍ପାଦନା, ବିଳମ୍ବ ଏବଂ ବାଧାପ୍ରାପ୍ତ ବିନିମୟ ବାଛନ୍ତୁ।
ସାଧାରଣ ସର୍ଭର ଯାହା କ୍ୱଚିତ ଉତ୍ପାଦନ କରେ ଏପରି ପ୍ରତିକ୍ରିୟା କ୍ଲାଏଣ୍ଟ ସାମ୍ନା କରିବାକୁ ପଡ଼ିଲେ ଡିବଗିଂ ପ୍ରକ୍ସି ଉପଯୋଗୀ ହୁଏ। ପ୍ରଥମେ କ୍ଲାଏଣ୍ଟର ଆଚରଣ ନିର୍ଦ୍ଧାରଣ କରନ୍ତୁ, ତାପରେ ସେହି ଅବସ୍ଥା ସୃଷ୍ଟି କରୁଥିବା ହସ୍ତକ୍ଷେପ ବାଛନ୍ତୁ।
“ଅନୁରୋଧ ବିଫଳ ହେଲା” ଅତି ପ୍ରଶସ୍ତ ପରୀକ୍ଷଣ କେସ। ଏକ ବୈଧ HTTP ତ୍ରୁଟି ପ୍ରତିକ୍ରିୟା, କେବେ ନ ଆସୁଥିବା ପ୍ରତିକ୍ରିୟା ଏବଂ ଡାଉନଲୋଡ ମଝିରେ ବିଚ୍ଛିନ୍ନ ହୋଇଥିବା ସଂଯୋଗ ଆପ୍ଲିକେସନଠାରୁ ଅଲଗା ଅଲଗା ଜିନିଷ ଦାବି କରେ।
| କେସ | ଯାଞ୍ଚ କରିବାକୁ ଥିବା ଆଚରଣ |
|---|---|
| ସମ୍ପୂର୍ଣ୍ଣ HTTP ତ୍ରୁଟି ପ୍ରତିକ୍ରିୟା | କ୍ଲାଏଣ୍ଟ ସ୍ଥିତି ପଢ଼େ ଏବଂ ଉଦ୍ଦିଷ୍ଟ ତ୍ରୁଟି ନୀତି ଲାଗୁ କରେ କି ନାହିଁ |
| ବିଳମ୍ବିତ ପ୍ରତିକ୍ରିୟା | ଉପଭୋକ୍ତା ବାତିଲ କରିପାରିବେ କି ଏବଂ ଉଦ୍ଦିଷ୍ଟ ପର୍ଯ୍ୟାୟରେ ସମୟସୀମା ଲାଗୁ ହୁଏ କି ନାହିଁ |
| ଅପ୍ରତ୍ୟାଶିତ ହେଡର କିମ୍ବା ବଡି ଫିଲ୍ଡ | ପାର୍ସିଂ ଏବଂ ବୈଧତା ସ୍ପଷ୍ଟ ଭାବରେ ବିଫଳ ହୁଏ କି ନାହିଁ |
| ବାଧାପ୍ରାପ୍ତ ବିନିମୟ | ଅସମ୍ପୂର୍ଣ୍ଣ ତଥ୍ୟ ସମ୍ପୂର୍ଣ୍ଣ ଫଳାଫଳଠାରୁ ଅଲଗା ରହେ କି ନାହିଁ |
ସଠିକ ସ୍ତରରେ ହସ୍ତକ୍ଷେପ ବ୍ୟବହାର କରନ୍ତୁ
Charles ଏପରି ବ୍ରେକପଏଣ୍ଟ ଦିଏ ଯାହା ଅନୁରୋଧ କିମ୍ବା ପ୍ରତିକ୍ରିୟାକୁ ଆଗକୁ ପଠାଇବା ପୂର୍ବରୁ ଅଟକାଇ ଦିଏ। ଅଟକାଯାଇଥିବା ସନ୍ଦେଶକୁ ଯାଞ୍ଚ ଓ ସମ୍ପାଦନା କରାଯାଇପାରେ, ଯିବାକୁ ଦିଆଯାଇପାରେ କିମ୍ବା ବାତିଲ କରାଯାଇପାରେ। ଏହାର Rewrite ଉପକରଣ ମେଳ ଖାଉଥିବା ହେଡର, URL କିମ୍ବା ବଡିରେ ପୁନରାବୃତ୍ତି ଯୋଗ୍ୟ ପରିବର୍ତ୍ତନ ଲାଗୁ କରେ। ଥ୍ରଟଲିଂ ବ୍ୟାଣ୍ଡୱିଡଥ ଏବଂ ଅତିରିକ୍ତ ଲେଟେନ୍ସି ନିୟନ୍ତ୍ରଣ କରେ।
ଏହି ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ HTTP କ୍ଲାଏଣ୍ଟର ଆଚରଣ ପରୀକ୍ଷା କରିପାରେ, କିନ୍ତୁ ବ୍ୟାଣ୍ଡୱିଡଥ ସୀମା ଅନିୟମିତ IP ପ୍ୟାକେଟ କ୍ଷତିର ସଠିକ ମଡେଲ ନୁହେଁ। ପ୍ରକ୍ସି ତଥ୍ୟ ବଫର କରିପାରେ, ସଂଯୋଗ ପୁନଃ ବ୍ୟବହାର କରିପାରେ ଏବଂ ଅଲଗା ଅପଷ୍ଟ୍ରିମ ସଂଯୋଗ ଖୋଲିପାରେ। ଆବଶ୍ୟକ ଅବସ୍ଥା ସ୍ପଷ୍ଟ ଭାବରେ HTTP ତଳେ ଥିଲେ ନେଟୱାର୍କ କ୍ଷୟ ଉପକରଣ ବାଛନ୍ତୁ।
ପ୍ରତ୍ୟେକ କେସକୁ ବ୍ୟାଖ୍ୟାଯୋଗ୍ୟ ରଖନ୍ତୁ
ଉଦ୍ଦିଷ୍ଟ ହୋଷ୍ଟ ଏବଂ ପଥକୁ ସଂକୀର୍ଣ୍ଣ ଭାବରେ ମେଳାନ୍ତୁ। ସାଧାରଣ ବିନିମୟରୁ ଆରମ୍ଭ କରନ୍ତୁ, ଗୋଟିଏ ପରିବର୍ତ୍ତନ ସକ୍ରିୟ କରନ୍ତୁ ଏବଂ କଣ ବଦଳିଲା ଲେଖନ୍ତୁ। ଯଦି ପୁନଃ ପ୍ରୟାସ ଦ୍ୱିତୀୟ ଏଣ୍ଡପଏଣ୍ଟରେ ପହଞ୍ଚେ, ସେହି ନିୟମ ସେହି ପ୍ରୟାସ ଉପରେ ପ୍ରଭାବ ପକାଇବା ଉଚିତ କି ନୁହେଁ ନିର୍ଣ୍ଣୟ କରନ୍ତୁ। ନଚେତ ଏକ ଅବିଚ୍ଛିନ୍ନ ପୁନଃଲେଖନ ପ୍ରତ୍ୟେକ ପୁନରୁଦ୍ଧାର ପଥକୁ ମୂଳ ବିଫଳତାରେ ପରିଣତ କରିପାରେ।
ଅପଲୋଡ କିମ୍ବା ଦେୟ ଭଳି କାର୍ଯ୍ୟରେ, ହଜିଯାଇଥିବା ପ୍ରତିକ୍ରିୟା ପ୍ରମାଣ କରେ ନାହିଁ ଯେ ସର୍ଭର ଅନୁରୋଧକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରିଛି। ପ୍ରତ୍ୟେକ ପରିବହନ ବିଫଳତା ପୁନରାବୃତ୍ତି ପାଇଁ ସୁରକ୍ଷିତ ବୋଲି ଦାବି କରିବା ପରିବର୍ତ୍ତେ ସେହି ଅସ୍ପଷ୍ଟତାକୁ ପୁନଃ ପ୍ରୟାସ କେସରେ ଅନ୍ତର୍ଭୁକ୍ତ କରନ୍ତୁ।
HTTPS ବିଷୟବସ୍ତୁ ଯାଞ୍ଚ କିମ୍ବା ସମ୍ପାଦନା ପାଇଁ କ୍ଲାଏଣ୍ଟ ଡିବଗିଂ ପ୍ରକ୍ସିର TLS ଯାଞ୍ଚ ସେଟଅପରେ ଅଂଶଗ୍ରହଣ କରିବା ଆବଶ୍ୟକ। କେବଳ CONNECT ବହନ କରୁଥିବା ପ୍ରକ୍ସି ଏନକ୍ରିପ୍ଟେଡ ଆପ୍ଲିକେସନ ବାଇଟ ଦେଖେ। ଅଲଗା ପରୀକ୍ଷଣ ବିନ୍ୟାସ ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ପରେ ଏହାର ରାଉଟିଂ ଓ ବିଶ୍ୱାସ ସେଟଅପ ପୁନଃସ୍ଥାପିତ କରନ୍ତୁ, ଯାହାଫଳରେ ପରବର୍ତ୍ତୀ ପର୍ଯ୍ୟବେକ୍ଷଣ ସାଧାରଣ କ୍ଲାଏଣ୍ଟକୁ ବର୍ଣ୍ଣନା କରିବ।