Test-Driven Development on Android 

Get familiar with and comfortable writing apps for the Android platform by practising Test-Driven Development. From a practical example, you will see how TDD can help write code with more confidence. We’ll see different TDD styles, and witness that regardless of the style applied you can refactor the production code with full confidence that its behaviour remains the same. You will learn a lot about tests, and testing tips and tricks and how to guide and evolve the design by satisfying the demands of the tests. You will learn how to write and leverage test-doubles, and how to write contract tests to make sure that those test-doubles behave the same as the production code. By the end of the course, you should be able to write simpler and more maintainable code. 

Course Objectives

In this master codelab, you’ll explore:

  • What are the benefits of TDD? 
  • Different TDD styles (London school and Chicago school)
  • Refactoring - Change the structure/design of the code with full confidence that its behaviour remains unchanged
  • Evolutionary Design - Let the structure/design of the code evolve naturally, based on the demands of the tests, rather than introducing unnecessary structure for the sake of it.
  • Contract Tests - Make sure the test implementation of the boundary interfaces (test-doubles) behaves the same as the real implementation that mostly integrates/talks with the outside world 
  • Test-Doubles - What are test-doubles, what are all the possible kinds of them, which test-double should we leverage and utilize at which situation. 
  • UI testing - Verifying UI using automated tests.

Meet the instructor

Jovche Mitrejchevski

Course Instructor

More courses by the instructor