テストエンジニアが機械学習してみた備忘録

広島とジト目が好きなテストエンジニアが機械学習に手を出した備忘録。

Google先生の基調講演の噂を聞いて (JaSST'18 Tokyo エア参加)

3/7と3/8はJaSST Tokyoが開催されます。

JaSSTソフトウェアテストシンポジウム-JaSST'18 Tokyo

JaSSTは自分がソフトウェアテストの道を志すきっかけになったと言ってもよいイベントで、 数年前までは毎年参加していましたが、今年はチーム内の別の方が参加するということで参加を見送りました。 正直、基調講演がGoogleなので是非聞いて見たい感はあったのですが。

で、昼休みになんとなくTwitter眺めていると…

なんかめっちゃ楽しそうなことになってる

何が起きた?

基調講演でGoogleのJohn Micco氏が登壇し、Googleでのテストの取り組みを話されたようなのですが、 雑にまとめると「Googleは全てのテストを自動化していてマニュアルテストはない」という話をしたようです。 JaSSTの参加者の大多数は主にマニュアルテストを主導するテストマネージャーやテストエンジニアだと思うので、多くの参加者の常識や根底を覆す話が冒頭にぶちかまされた模様。*1

jasst-tokyo.hatenablog.jp

話の概要だけであれば、上記の実行委員の記事にまとまっているようです。

自動テストのデータを収集して、分析して、フィードバックするというサイクルが回っていて、 どこかのツイートにもありましたが機械学習も導入しているみたいなので、 このブログを始めたきっかけとなった「機械学習やデータ分析をテストに活かせないか?」という問いに対する完成形の1つなのかなと感じました。

とは言え…

テストから見えてくる グーグルのソフトウェア開発

テストから見えてくる グーグルのソフトウェア開発

もうこの本に既に「めっちゃがんばって自動化してる」とか「自動テストを組む文化がある」的なことは既に書かれています。これはだいたい5年前に発売されている本なので、ざっと10年前ぐらい*2からGoogleは愚直にこの問題に向き合って取り組んできているのだなと思います。

ただ、エンジニアの質と量、そして投資できる金額も文字通り桁違いなので、 この話を聞いた企業や組織がちょっとやそっとの努力で追随できるものではなく、 「よし、うちもマニュアルテストを撤廃しよう!」なんて方向に動くべきではないことは明白かなと思います。

とは言え「どうせ違う世界の話なんだ」と諦めるのではなく、今からでも同じように愚直な努力を、まずは手の届く範囲からやってみることが大事なのかな、と一連の流れを見て感じました。

根本から考え方が違うというのはその通りで、目から鱗。 上述の通りいきなり考え方を全部変えるわけにはいかないけど、 マニュアルテストで抱えている問題は、視点を変えて自動テストというアプローチを試みることで、 問題を根本から解決したりゴリ押しで解決できるのかもしれない*3な、と。

プロダクトのテストを推進するだけじゃなく、中長期的な視点で手法や戦略の実験・研究みたいなこともやっぱやっていきたいなぁ…

*1:これが基調講演でどのセッションよりも先に来るという点がなかなかエグい

*2:確か2000年代後半くらいから取り組んでたとか書かれていた気がする

*3:例えば「マニュアルテストのテストケースが多くて、回帰テストを何回も回すわけにはいかない」という状況に対して、テストケースの削減とかリスクベースで優先度を検討するとかのアプローチが考えられるけど、自動テストで全部やればいいじゃない的な解決もありなのかもしれない。