Be the first to like this
A talk I gave at the NYC Selenium Meetup http://www.meetup.com/NYCSelenium/events/215048092/
Refactoring a legacy application — an essential phase of the Software Development Life Cycle — cannot even be discussed without simultaneously discussing the art and science of Software Testing. In this lecture I will explore the pragmatic use of comprehensible, platform-independent tools for Black Box Web API Testing.
In the interest of refactoring and maintaining Web-delivered services, integration tests necessarily require the capability to play back a transaction frame by frame. In other contexts it may also be desirable to play back certain control loops within a longer transactional chain.
It is not technically challenging to create ad hoc solutions for these problems. Rather, it is the use of ad hoc solutions in test as a practice that creates unacceptable risk. Because almost-inevitably home rolled solutions will contain non-trivial undocumented domain-specific languages. The cure is generally worse than the disease.
Therefore in the interest of obviating the need for ad hoc solutions to the problem of test doubles for Web services, I will present what I think are some very simple, platform-agnostic implementations of the xUnit Test Patterns at the level-of-abstraction of Web APIs and Web services. Test Doubles are particularly useful in Web testing so I will go into detail with regard to
mockingspyingfaking andWeb API-level record-and-playback tools such as:Python’s SimpleHTTPServerMySQL ProxyCurl
I will also present a brief history of Web client spoofing for those unfamiliar with the practice.
Takeaways from this lecture include:
How to make tests faster by getting rid of dependencies on third party services.How to “game day” the condition where a third-party service goes down or gets hacked.Introduction/insight into a laundry list of Black-Box Testing tools for Web APIs and Web-delivered services.
Noah Sussman has been helping bricks-and-mortar businesses to leverage the Web since 1999. Thus he has had had ample opportunity to think about the discrepancies between how computers and people see the world. He lives in New York with his wife and two cats.