“~ility testing”, not “no-functional testiong”

“~ility testing” is preferred than “non-functional testing” since “non-functional testing” indicate only others.

I agree with the opinion because “non-functional test” already have many kind of test.

UberがRuntime Validationを実現するRaveのv2を公開していた

HOW UBER ENGINEERING VERIFIES DATA AT RUNTIME WITH THE ANNOTATIONS YOU ALREADY USE を公開していた。
彼らが、Androidでよくある問題(NPEとか)に対して、model層の例えばAPIの結果をvalidationし、その結果が期待していないものなら必要な例外を投げて、意図しない値を不用意に使わないようにするとか、NPEになるようなExceptionの発生を抑制してしまおうとか、そういう話のようですね。この判定はRuntimeに行われます。

それにより、意図しないデータが帰ってきたとか(例えばnonnullなはずなのにnullがAPIで得られたとか)に対して必要な処理を実施できるようになる、と。


( reference from: https://eng.uber.com/rave/ )

https://github.com/uber-common/rave が対象となるリポジトリ。

Ecceptionを一様にCrashlyticsにnon-fatalで送るとか、クライアントのエラーログをサーバに蓄積するとかも良いですが、こういう形でそのエラーを区別できるようになると監視なども捗って良さそう。

Netflixの複雑なマイクロサービスに対するテスト自動化

とても面白い。

Netflixの、マイクロサービス環境下におけるテストの複雑さを解決しようと取り組んでいたことの内容と、その1年の成果が書かれている。

here

読んでいてもとても面白く、テストエンジニアという立場からすると純粋にとても挑戦的に面白い内容だと思った。

また、社内の利用をより簡単に、利用者に負担をかけない取り組みも良いですね。
カッコ良い。

「続・日本人の英語」を読んだ。

続・日本人の英語を読んだ。

前回読んだ日本人の英語に引き続きですね。

特に文体が変わったとかもなく、なぜそう英語で表現するか、日本語からの英語訳、その逆などで一方の言語では表現できないこと、その逆などが説明されています。

個人的に、使役動詞に関するところの認識が一部想像してたことと異なるところがあり、学びになりました。

確か、あと実践編があった。

[iOS][EarlGrey]Run tests quickly

Small, small tips to enhance conducting speed for EarlGrey.
In many cases, iOS can’t handle animation speed such as Android even UI Test cases.

EarlGrey available changing animation speed except for UIScrollView. here

// Swift
let kMaxAnimationInterval: CFTimeInterval = 5.0
GREYConfiguration.sharedInstance().setValue(kMaxAnimationInterval, forConfigKey: kGREYConfigKeyCALayerMaxAnimationDuration)

// Swift
GREYTestHelper.enableFastAnimation()

https://github.com/google/EarlGrey/blob/master/docs/faq.md

In XCUITest case:

# swift
UIApplication.sharedApplication.keyWindow.layer.speed = 100

Watch “Test-Driven Development on Android with the Android Testing Support Library”

pick and past some key images to the following.

  • A famous test pyramid

20170519024718_img20170519-17-x25i39_720

  • Development Lifecycle for UI Component

20170519025016_img20170519-11-107pbac_720

  • Development Lifecycle for non-UI, especially unit level, Component

20170519025038_img20170519-17-1lny2qd_480

  • Robolectric

20170519030006_img20170519-14-1lgebza_720

  • Espresso’s lifecycle

20170519031440_img20170519-17-wz5rvd_480

  • Boundaries between M level and L level

20170519031901_img20170519-17-hireh1_720

Previously, I’ve published blog for test strategy for mobile.
This video is similar to the article 🙂

[iOS]Input multibyte strings with EarlGrey

Usually, we use grey_typeText to input words into text fields.
On the other hand, we can’t input multibyte strings such as Japanese with the method.

In this case, we can use grey_replaceText instead.

https://github.com/google/EarlGrey/issues/31