Tuesday, March 29, 2016

A fun day with APIs

While my article on things I've learned on exploratory testing APIs (spoiler: self-confidence, we know more than we give ourselves credit for!) is being reviewed and finalized, I needed to write a bit about some recent discoveries of how much I love legacy and history.

I was thinking back to APIs I've run into, some today:
  • APPC (Fixed length messaging) on mainframes
  • Text parameters over COM 
  • Complicated XML over SOAP request-response combinations
  • URL-like REST services
  • public classes in various libraries
  • protocol implementations based on a RFC
The detail I was realizing that for me, the technology was never the key. The developers I would work with would seem to twist themselves in weird ways to emphasize how we needed a complete rewrite for a better technology.  I was enjoying myself with the ideas of forgetting the technology and just taking it as it is, considering how we could make the best out of what we have - what feedback would be relevant. 

I find I bring two things into the discussions around APIs right now as a tester:
  1. Feedback brings in discipline. We remove stuff we don't use. We clear up the names. We're more specific about the changes we communicate outside. 
  2. We talk more of why than just the how. We go back to the sources of requirements to question things we take for granted. I suspect we keep learning again and again that thinking of the purposes of use we will end up with simpler solutions. 
I still don't care of all the details behind. But if we made it, we surely can test it too. And enjoy ourselves while at it.