Shortening the feedback loop with in-memory integration testing
Too often, teams believe that whenever their systems interact with other applications or some infrastructure like a message queue or an email server, there's no other way to test than deploying on a full-fledged environment to get relevant feedback. The main issue with that approach is that feedback loop is not optimum, taking sometimes days or weeks to confirm that a single line of code is working as expected.
Since it's even difficult to perform efficient integration testing manually, most teams don't even try to automate this key stage of the software development lifecycle.
However nowadays, pretty much any external dependency can be replaced by an in-memory equivalent : we're not talking about mocking frameworks here, but about in-memory full implementation of standards, like SQL of course, but also messaging or emailing, which can give developers a very good level of confidence that their code is valid, before they even commit the code.
Outline/Structure of the Demonstration
- quick reminder of test pyramid concepts, and why integration testing is important - 8min
- reminder of common integration testing pitfalls - 10min
- context for our demo : a sample application using a remote web service, a queue, an email server - 3min
- demo - 15-20min
- wrapping up - 5min
The audience will get a bunch of new ideas on how to implement integration tests that can run on developers machine in few seconds, and how this can solve common problems in their current development lifecycle.
- we'll even be able to automate the content of logs generated by the application !
- the test scenario we'll demo follows BDD practices, so that even non technical stakeholders can get a clear picture of what is actually tested
Software Engineers, Devops Engineers, QA Engineers, Engineering Managers.. anyone wanting faster feedback during their development lifecycle !