18
Are you a knight for Android ? @Kazu_Cocoa at kyobashi.dex#1

20150907 kyobashidex

Embed Size (px)

Citation preview

Page 1: 20150907 kyobashidex

Are you a knight for Android ?

@Kazu_Cocoa at kyobashi.dex#1

Page 2: 20150907 kyobashidex

いざアサートせよ 緑色の光あれ 我等 Javaの騎士

Page 3: 20150907 kyobashidex

me |> Dict.get(:job) #=> Test Engineer me |> Dict.get(:from) #=> Cookpad me |> Dict.get(:platform) #=> Android/iOS/Web me |> Dict.get(:lang) #=> Java/Objc/Ruby/Elixir

Page 4: 20150907 kyobashidex

What is the bottleneck to keep quick feedback cycle?

• Plan >

• Design > Implementation > Checking > Testing >

• Release(users) > Feedback

Page 5: 20150907 kyobashidex

How large code base...

• プログラミング言語はJavaで、コメントも含めたアプリのソースコードの行数は約15万行です。

from Android版クックパッドアプリで採用している技術の現状確認 2015年版

http://techlife.cookpad.com/entry/2015/06/25/093507

Page 6: 20150907 kyobashidex

Test Approach presented at All stars

• https://speakerdeck.com/player/d3b57b5bd31b4aa68bb2985f6db9598c

Page 7: 20150907 kyobashidex

Test Pyramid based on official annotation

• https://speakerdeck.com/player/d3b57b5bd31b4aa68bb2985f6db9598c

Page 8: 20150907 kyobashidex

Test Pyramid for Web apps

• http://blog.perfectomobile.com/2015/06/30/use-the-mobile-test-pyramid-to-release-better-apps/

Page 9: 20150907 kyobashidex

Test pyramid for mobile apps

• http://blog.perfectomobile.com/2015/06/30/use-the-mobile-test-pyramid-to-release-better-apps/

Page 10: 20150907 kyobashidex

Solve bottleneck• In End2Ent testing like the pyramid, we should do

that manually like users in many cases…

1.How to check view layer quickly…

• Espresso

2.Appium/UI Automator

• How to do checking in model layer…

• make thin view / controller …

Page 11: 20150907 kyobashidex

How to check view layer quickly

1. Describe scenarios / codes

2. run them

3. judge results(automated)

4. judge ambiguous results(manual)

Test automation should include automated judgement.

Not only make manual test efficient.

Page 12: 20150907 kyobashidex

How to check view layer quickly

1. Describe scenarios / codes

2. run them

3. judge results(automated)

4. judge ambiguous results(manual)

Test automation should include automated judgement.

Not only make manual test efficient.

Page 13: 20150907 kyobashidex

One more thingsNon Functional

Page 14: 20150907 kyobashidex

MonitoringWith dumpsys.

Page 15: 20150907 kyobashidex

CPU

Page 16: 20150907 kyobashidex

Memory

Page 17: 20150907 kyobashidex

Awesome Test Tools https://github.com/hotchemi/awesome-android-testing

Page 18: 20150907 kyobashidex

いざアサートせよ 緑色の光あれ 我等 Android(Java)の騎士