Thoughts on Testing a Backend Release

Tom Kadwill
Tom Kadwill’s Blog
1 min readJun 2, 2017

One of the interesting problems that startups face is deploying software. Startups want to deploy software as quickly and frequently as possible. Startups need to develop for multiple platforms; iOS, Android and Web. Manually testing a backend release on all of these devices is slow. Getting over this bottleneck requires a bit of a leap of faith. The leap is to understand that if all the backend APIs are tested and all the tests are green then nothing should break on the frontend. If the backend has good code coverage then QA don’t need to manually test on every device.

This takes QA out of the critical path. QA should be freed-up to work on defining acceptance criteria, helping write automated tests and exploratory testing. This idea comes from Jez Humble’s book Continuous Delivery. Backend services should be tested via API driven tests and frontend clients should have UI acceptance tests to verify that the system is working end to end.

To make this leap as comfortable as possible, the backend should have great test coverage, good documentation and comprehensive logging / error reporting. It also requires a change in the mindset of the business. 100% test coverage gives you a high degree of confidence but it will not eliminate all bugs. Good logging and error reporting ensure that you’ll catch bugs early and a fast pipeline ensure that you can ship fixes quickly.

--

--