Thoughts on Using Charles Proxy for Exploratory Session Recording

Hi there!

Recently I have found myself utilizing Charles Proxy to record my exploratory testing sessions, in addition to good old note taking. I have found it useful for the following things:

  1. Exploring defects in order to provide more precise info on bug reports.
  2. Providing more data to developers on bugs found.
  3. Retracing my steps when I have found something interesting and I want to recreate it.

I have used it so often that I have thought about standardizing the use of it across my different teams in order for them to partake of the benefits I have found in using Charles Proxy.

(Please keep in mind that I understand that if the tool is not properly configured, it may disguise a bug that would have otherwise been found. For example, if it is set up not to allow caching, etc. I also understand that this does not apply to all contexts of exploratory testing. )

So I was wondering…

  • Is anyone using this tool for the purpose I mentioned above?
  • What are your thoughts on using a proxy tool such as Charles Proxy?
  • And if you have used them, in what contexts have you used them?

I use it all the time. My most used features are:

  • Rewrite tool. Rewrite any response details to create your own test data on the fly - want to see what happens if an API call returns a 500, or an error response? You can do it.
  • Map Local. Same as above but many many changes needed? Create that JSON file and have it used instead of the actual API response
  • Map Remote. UAT is down but Prod server is up. Cool, I’ll map the request to prod for the time being - the data may be slightly different but I can continue testing unimpeded - no more blockers for me.
  • Breakpoint. Need to see what happens when the server takes a long time to respond? Waiting for timeouts to occur? Hold up the request with a breakpoint and let it continue when you are ready.

Lots of other cool stuff but those are the things I use the most.