20
ANDROID TESTING THAT DOESN’T SUCK GITHUB:REBOOTD @COMPUTERISTCO getting started…

Android Testing Talk by Rebootd v1

Embed Size (px)

Citation preview

Page 1: Android Testing Talk by Rebootd v1

ANDROID TESTING THAT DOESN’T

SUCK

GITHUB:REBOOTD@COMPUTERISTCO

getting started…

Joshua Coffman
Introduction, my background, invite comments and discussion.
Page 2: Android Testing Talk by Rebootd v1

TESTING?

@computeristcogithub:rebootd

Unit Tests?Integration Tests?UI Tests?

Joshua Coffman
Tell story of why I volunteered to do this.Ask audience about their testing experience and tools.
Page 3: Android Testing Talk by Rebootd v1

TESTING?

Helps solving problemsFind problems fasterFaster development speedCleaner code

@computeristcogithub:rebootd

Page 4: Android Testing Talk by Rebootd v1

TESTING?

Helps solving problemsFind problems fasterFaster development speedCleaner code

BUT I WON’T DO IT IF IT SUCKS

@computeristcogithub:rebootd

Page 5: Android Testing Talk by Rebootd v1

TOOLS

@computeristcogithub:rebootd

Page 6: Android Testing Talk by Rebootd v1

TOOLS

jUnit

@computeristcogithub:rebootd

Page 7: Android Testing Talk by Rebootd v1

TOOLS

jUnit Espresso

@computeristcogithub:rebootd

Page 8: Android Testing Talk by Rebootd v1

TOOLS

jUnit Espresso

UIAutomator

@computeristcogithub:rebootd

Page 9: Android Testing Talk by Rebootd v1

TOOLS

jUnit Espresso

UIAutomatorMonkey

@computeristcogithub:rebootd

Page 10: Android Testing Talk by Rebootd v1

TOOLS

jUnit Espresso

UIAutomatorMonkeyRobotium

@computeristcogithub:rebootd

Page 11: Android Testing Talk by Rebootd v1

TOOLS

jUnit Espresso

UIAutomatorMonkeyRobotium

Robolectric@computeristcogithub:rebootd

Page 12: Android Testing Talk by Rebootd v1

HOW DO I MAKE IT EASY

@computeristcogithub:rebootd

• Base classes• Mocking• DI• OSS• Gradle scripts• Build Server

Just say no to “friction burn” image search

Joshua Coffman
Talk about base classes, utils, and leveraging OSS.If you are getting tired of doing it, either automate it or change it.Also, automate it regardless. Use scripts, gradle, and any tools you find helpful.Story/warning: don’t look up “friction burn” on google images.
Page 13: Android Testing Talk by Rebootd v1

MOCKING

@computeristcogithub:rebootd

Joshua Coffman
explain mocking for beginnersshow code snippet.Explain unit testing versus integration testing.
Page 14: Android Testing Talk by Rebootd v1

DEPENDENCY INJECTION

@computeristcogithub:rebootd

Joshua Coffman
Explain DI, how and when to use it.Warning about complexity.
Page 15: Android Testing Talk by Rebootd v1

RUNNING YOUR TESTS

@computeristcogithub:rebootd

Joshua Coffman
Gradle script and build server.
Page 16: Android Testing Talk by Rebootd v1

WATCH OUT FOR…

@computeristcogithub:rebootd

• flavors• unsupported api features

Page 17: Android Testing Talk by Rebootd v1

BUILD SERVER INTEGRATION

@computeristcogithub:rebootd

Page 18: Android Testing Talk by Rebootd v1

WHAT ELSE?

@computeristcogithub:rebootd

UI Testing and build servers?Appium?Monkey Runner?UI Automator?Ranorex?Selendroid?

Joshua Coffman
discuss ui testing, get input on more material, offer to present at their company or group.
Page 19: Android Testing Talk by Rebootd v1

LINKS AND REFERENCES

@computeristcogithub:rebootd

Code:https://github.com/rebootd/ComputeristReader

GDE’s:https://github.com/chiukihttps://github.com/donnfelkerhttps://github.com/mwolfson

Articles & Sampleshttps://github.com/googlesamples/android-testinghttp://www.meetup.com/DenverDroids/events/224537126/http://blog.sqisland.com/2015/10/how-i-prepared-my-keynote.htmlhttp://www.donnfelker.com/materials-from-hdc09-testing-with-mocks-talk/http://www.donnfelker.com/integration-testing/

Joshua Coffman
discuss ui testing, get input on more material, offer to present at their company or group.
Page 20: Android Testing Talk by Rebootd v1

TO BE CONTINUED…

@computeristcogithub:rebootd

Resources:http://slides….https://github.com/rebootd/ComputeristReader

Contact:http://computerist.cohttps://github.com/rebootdhttps://twitter.com/computeristco

Ask me about presenting

for your group