Alper Mermer Lead Consultant, ThoughtWorks

BIO: I’ve been testing software for more than 10 years. I’ve worked in number of sectors such as Finance, Telco, Banking, Retail etc where i had the oppurtunity to practice both Exploratory Testing and Automated Test implementations. I’m the founder of the QA community Test Hive in which we hold regular meetups and workshops both in Istanbul Turkey and Manchester UK. I’m currently working as a Lead Consultant in ThoughtWorks UK.

Presentation followed with panel discussion: Testing Microservices in Isolation: Unique Data Management, API Journeys and Mocking [ENG]

In this talk we’re going to explore ways to implement and automate our tests in in a microservices environment. We’re going to focus on the isolation of our tests.
First part is going to be about unique data management. In order to have a repeatable and independent test execution we have to do two things; make every test manage its own data (its own data only) and make those data unique and dynamic so that there are no conflicts in test execution. In a hermetic test environment where all the tests are executed in a seperate entity (container, box, vm etc…) it’s much easier to manage data locally but in most of the real corporate world your tests will have to share some data structure with other tests and applications. We’re going to talk about how to manage those environments. I’m going to show some code pieces as examples here for the implementation of data management.
Second part is going to be about defining API journeys and Mocking. We’re going see how we can build service journeys by mocking the external service implementations. While it’s always beneficial to have a fully functional end to end service testing in place, time constraints and asynchronous development of services might force you to test things with mocks. We’re going to touch on what is a Journey Test and how to implement mock services for those journeys using Mountebank. This section is going to include sample codes from a demo API service and Mountebank itself.