8/10 developers don’t really know how to test their apps and write testable code. From practically writing code to test genuine production level scenarios with different approaches to incredibly optimising your tests cases, we will also see what’s new in Android Test Support Library 1.0 and how to test on multiple devices.
-> Important Testing GuideLines
-> Espresso and Robolectric (In and Out ,Crisp and To the point)
-> Making Code highly Testable using MVVM , Repository Pattern and Data binding and Dagger 2
->Genuine production level Scenarios Testing Demoes :-
-> Common mistakes made by developers resulting in inefficient test driven development which leads to de-prioritisation of TDD :( :( .
-> Will be showing This with the following three approaches using Dagger 2 : a.) Using Robolectric (JVM based without needing a device or emulator) b.) Using Espresso (Unit Instrumentation Tests) c.) Testing the ViewModel (Purely JVM based)
-> Performance Analysis of these testing techniques ; which one to choose and when
-> Testing on Multiple Devices
-> Espresso 3.0 New Features
-> New Features Of AndroidJUnitRunner
-> Lots and Lots of Code Snippets
Target Audience And TakeAways:- This talk would be highly beneficial to people at all levels of expertise in the following ways :-
Beginner :- As I'll be covering TDD from scratch, how to write testable code, mistakes which people make when starting TDD, beginners from very start, would get into a habit of writing high quality code which is configurable, testable and highly maintainable.
Intermediate :- As the talk would be covering topics like Different patterns to write testable code, genuine production level scenarios, different approaches to test apps and different frameworks, intermediate developers would get a direction as to how they can further shape their TDD.
Advance : People with advance testing skills would be able find out what's new is there for them . With topics like new "Features of Espresso 3.0" and "AndroidJUnitRunner" and what all options are available to test on multiple devices, they can add more efficiency to their Test Driven Development.