All about Android Production Level App Testing and Continuous Integration and What's New
Submitted by Kapil Bakshi (@kapilbakshi) on Sunday, 23 July 2017
This talk will help you by taking an example of a production level app involving good business logic .We’ll see how Espresso can help us write smooth UI tests and also how we can use Firebase Test Labs to run tests on cloud on different devices and achieve continuous integration using Circle CI and also what more can be achieved using AWS Device Farm with Jenkins.
We’ll also see how to properly unit test your app by taking an example of proper production level scenarios , how to use dagger 2 for dependency injection to make Unit Testing very smooth and Efficient.
We’ll also see how we can make Unit Testing efficient by using Roboelectric and how to can it be further optimised using MVVM Architecture, Repository Pattern and much more.
And Yes....!!! We’ll be seeing New Features of Android Test Support 1.0 Library on Our Production Level App. Yessss!!!! You heard it right..!!!!!
This talk is divided into the following 5 parts :-
1.) Important Testing GuideLines
-> Different types of Testing
-> Hero Hermetic to mitigate Flakiness
-> Unit Tests vs Integration Tests
2.) Deep Dive Into Eespresso
-> Why Espresso ?
-> Espresso Commands At a glance
-> Espresso Synchronization
-> Idling Resource
-> Custom Idling Resource
-> Espresso is Sad :( Flakiness All Around
-> Hypnotic Effect of Espresso Intents - Let’s Mock’em
-> Demo on a Production level App
3.) UI Automator
4.) Feel The Fire , Take Testing a Level Higher With Firebase Test Labs
-> Test on Multiple Devices
-> Robo Tests
-> Run From Android Studio
-> Get Very Detailed Reports
5.) Continuous Integration With Circle CI AND AWS Device Farm With Jenkins
-> What is Continuous Integration ?
-> Caching in Circle CI
-> Circle CI with Firebase Test labs using gCloud -> What’s more in AWS Device Farm
6.) What’s new in Android Test Support Library
-> Android Test Orchestrator
-> New Features Of AndroidJUnitRunner
-> Espresso 3.0 New Features
-> New Test Rules
Passion and Urge to improve your App’s quality, development and deployment processes :) :)
Laptop with Android Studio installed
Kapil Bakshi is a very passionate techie with an aim to embrace technology, imbibe every bit of it, transcend all the barriers and turn ideas into reality. His experience spans across edtech, fintech and logistics sectors where he has developed things from scratch taking them to a level where they have scaled drastically and have become a brand in their respective domains.
He has recently joined BlackBuck which is redefining the logistics landscape of India, making it reliable and efficient. Kapil is playing an important role there to improve quality of all apps, doing optimisations and helping the company scale to go much beyond.
Apart from Android, he has worked on Backend technologies as well and many times single-handedly built complex features which have proven to be very beneficial for business.
In Android, his areas of interest include testing, architectural best practices and security.