Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Testing and CI in Android
Search
Soham Mondal
October 14, 2016
Technology
3
280
Testing and CI in Android
Talk on Testing and Continuous Integration/Delivery at Devfest-Blrdroid 2016
Soham Mondal
October 14, 2016
Tweet
Share
More Decks by Soham Mondal
See All by Soham Mondal
Building Unstoppable Products v1.1
soham
0
97
Product Design as Your Competitive Edge
soham
0
120
Building Unstoppable Startups: Product Design as Your Competitive Edge
soham
0
150
Best Practices For Designing Apps For India - Devfest Bangalore 2022
soham
0
550
How (and Why) to be a data driven startup - THub Rubrix
soham
0
180
GFS - Startup School 2022
soham
0
650
Designing Experiences For Indian Users - T-Hub
soham
0
360
Designing_Products_For_Novice_Internet_Users_-_I.pdf
soham
0
140
Designing Products for Novice Internet Users - Opportunities & Problems
soham
1
240
Other Decks in Technology
See All in Technology
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.5k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
290
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
550
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
170
サンドボックス技術でAI利活用を促進する
koh_naga
0
200
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
170
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
130
Obsidian応用活用術
onikun94
1
480
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
11
4.7k
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
440
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
173
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
The Language of Interfaces
destraynor
161
25k
Designing Experiences People Love
moore
142
24k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Code Reviewing Like a Champion
maltzj
525
40k
Transcript
Testing and CI in Android Soham Mondal https://speakerdeck.com/soham/testing-and-ci-in-android
You know it’s a good event if the first talk
of the day is on Testing
Soham Mondal - Founder, Triveous - Creator, Voice Recorder -
Google Expert: UX - Organizer at Blrdroid - Android/UX consultant
- What is Testing? - Testing principles - Types of
Tests - Unit testing/Instrumentation Testing - Architecture - Continuous Integration - Live Demos Agenda
What is testing? Testing is an investigation conducted to see
if a product satisfies its requirements or not
Testing Principles - Isolation - Integration - Scenarios
Unit Testing What are you testing?
Unit Testing - Objective of Unit Testing: What are you
testing? - Business logic - No external dependencies - Options: Roboelectric, JUnit - Unit testing on android studio - Mockito/PowerMock
Instrumentation Testing What are you testing?
Instrumentation Testing - Objective: What are you testing? - User
Behavior/Dependencies/Integration - Options: Robotium, Espresso - Why is espresso generally better? - Espresso test recorder in android studio
Types of Tests - Unit tests - Integration tests -
End to end tests http://googletesting.blogspot.in/2015/04/just-say-no-to-more-end-to-end-tests.html
Unit vs End-to-End Tests http://googletesting.blogspot.in/2015/04/just-say-no-to-more-end-to-end-tests.html - Fast - Reliable -
Isolates Failures - Real User
Architecture - MVP - MVVM - Unit testing the presenter
http://hannesdorfmann.com/mosby/mvp/
Continuous Integration
https://infinum.co/the-capsized-eight/articles/a-ruby-on-rails-continous-integration-process-using-semaphore-github-codeclimate-and-hipchat
Why - Integrate - Build your code properly: Environment, Breakage
- Everyone is on the same page - Run your tests - Code Coverage - Deploy: Continuous deployment - Build faster Solve problems quickly
Options - Travis CI - Circle CI - BuddyBuild -
Jenkins
Cloud
None
None
Self-hosted
None
Running instrumentation Tests
None
None
None
Continuous Deployment
None
Demo: Travis and Unit Tests Soham Mondal https://github.com/s0h4m/toggle
Demo: Jenkins+Spoon and Instrumentation Tests Shivaraj Patil
Q&A @s0h4m |
[email protected]
More espresso - Espresso-Intents and Intent Stubbing - Espresso-Contrib for
DatePicker, RecyclerView, Drawer actions, Accessibility checks, CountingIdlingResource - Idling resources - Code coverage
None
None