ODK Testing Workshop 2017-11-08

(James Knight) #1

How to access:
The workshop will be broadcast live here on YouTube Live.

What is it?
A free testing workshop that covers the basics of writing tests for Android and submitting them to an Open Source project such as ODK Collect. We’ll cover how to test Activities, Views, and other classes, as well as what can be done when writing new code to make testing easier.

What all will be covered?

  • What should we test?
  • How can we design our app to be more testable?
  • JUnit tests for non-Android classes.
  • Robolectric tests for Views, Fragments, and other discrete Android components.
  • Instrumentation tests for general app behavior.
  • How to submit a PR to add our new tests to the project.

When is it?
Wednesday, November 8th
UTC 16:00 - 18:00 (PST 8AM, EST 11AM, CET 17:00, IST 21:30)

Will it be recorded?
Yep! We’ll record it on YouTube Live for all of the people who aren’t able to make it.

How long will it last?
Around 2 hours, although the last 30-45 minutes will be Q&A.

Will we cover Dagger, Rx, etc.?
Nope! This session will mainly be focused on the basics, specifically looking at how to add tests to existing code bases such as ODK Collect (although the same stuff applies to new projects as well). We’ll mention some of these libraries as tools to help make apps easier to test, but they won’t be covered during the session.

Project Management Committee meeting notes
ODK 1 Developer Calls
ODK 1 Developer Call - 2017-12-06
(James Knight) #2

If anyone has any specific topics they'd like to see covered feel free to mention them here!

(Hélène Martin) #3

I'm excited! I look forward to a decision on time so I can block it off on my calendar. @jknightco how are you thinking you'll decide that?

A great output would be a series of small, well-scoped Collect issues around testing that link to the video so it's easy for people new to Android testing to get started.

@Jason_Rogena we talked about this months ago and it's happening! Any topics you want to make sure are discussed?

Some people who come to mind as potentially interested in suggesting topics and/or participating (and who haven't liked the post already!) - @Akshay_Patel @alxndrsn @daveycrockett @Divya_Rani @ggalmazor @Grzesiek2010 @michal_dudzinski @mish24 @Ngumbau @srv-twry @Yura-L

(Guillermo) #4


This is going to be a great starting point to work with Android projects for me. I'm looking forward to this session :slight_smile:

My two cents:

  • I'd love to understand how much of an app can be tested in isolation and what implementation strategies can we follow to maximize this. How far does it make sense to go?
  • I think it will be very helpful to keep everything close to the actual codebase of Collect or any other real Android project. Real projects bring real problems and provide great opportunities to discuss trade offs.

I also wanted to contribute on the topic of testing with this video of Ian Cooper that I find to be most inspiring: https://vimeo.com/68375232

(Divya Rani) #5

I'm very excited to participate in this workshop! I think a topic on how to build local unit tests using mocking frameworks would be nice.:slightly_smiling_face:
Thanks for the mention @LN !

(James Knight) #6

Here are the two timeslots I think work for a majority of people involved. Don't stress if you're not available during either of these slots—we'll be recording the entire session live so you can watch it when you're able.

  • UTC 16:00 - 18:00 (PST 9AM, EST 12PM, CET 17:00, IST 21:30)
  • UTC 18:00 - 20:00 (PST 11AM, EST 2PM, CET 19:00, IST 23:30)

0 voters

(James Knight) #7

Let's go with the earlier slot then—its not too early for west coasters in the US nor too late for those of us in Asia.

(James Knight) #8

We'll definitely cover mocks, as well as how to restructure code to make things more "unit" testable. Thanks!

(James Knight) #9

These are definitely both topics we'll be covering. The first section of the workshop will talk specifically about how we can restructure existing projects to be more testable. We'll also be using existing Collect code for each example!

(James Knight) #10

A big reminder to everyone interested in the workshop that its being held tomorrow, November 8th at 16:00 UTC. You can find the time in your local timezone here: http://www.thetimezoneconverter.com/?t=16&tz=UTC%20(Coordinated%20Universal%20Time)

The workshop will be hosted on YouTube Live and I will add a link here later today.

Looking forward to everyone coming!

(Yaw Anokwa) #11

You can find the video from the testing workshop below!

(Narendra) #12

Apologies I was not able to watch this life now I will watch and ask if I have any question. Great work @yanokwa @jknightco.


(James Knight) #13

Thanks to everyone who was able to come! For those of you who missed it, Yaw posted the video above. Feel free to find me here, on the ODK Slack, or at james@saneandroid.com if you have any questions!