Droidcon Boston '19: Test the Untested: Our Journey from Zero Coverage to Automated Testing
Do you fear changes in a legacy code base? Do you have zero test coverage and don’t know how to regain safety in your work? Come to this talk and get insights from the devs of a million client SDK who solved these problems without a whole rewrite.
What you'll learn
Do you fear changes in the shape of a monster legacy code base? Do you have zero test coverage and don’t know how to regain safety in your day-to-day work? Come to this talk and get insights from the developers of a million client SDK who solved these problems without a whole rewrite. A code base which grows over years often leads to an ad-hoc architecture and plenty of dark corners where no developer wants to go. If this code base is untested it can slow down implementation speed dramatically. It may prevent developers from making necessary changes as they fear to break something. So most changes are limited to small operations which do not increase the overall quality of the code base. We faced such problems in our Android SDK and introduced architectural components and abstractions to support testability and regain safety for future changes. I will present how we fought this giant legacy code monster: from introducing architectural patterns to a critical codebase, which runs on millions of devices around the world, techniques for testing legacy code without breaking it, to how we support our engineers with CI tools and automated device tests. I will show which obstacles we had to pass and where we are now.