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:
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.
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:
- 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.
- 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.