2018年に「テスト自動化とお掃除ロボット」というタイトルで発表をしました。

たまに掘り起こしてセルフ引用するのですが、スライドとして書いておくよりもブログ記事のほうが使い勝手が良さそうなので記事化することにしました。

テスト自動化のルンバ効果、とは

掃除・片付けの視点:ルンバを買うと部屋がきれいになる

ルンバを買うと家がキレイになる、という話があります。

ロボット掃除機なので当たり前だろ、と思われるかもしれませんが、そうではありません。

もともと部屋が片付いている人はルンバを買って動かせば自動でホコリやゴミを集めてくれるので部屋がキレイになりますが、(私も含めて)そういう片付いた部屋の人ばかりではありません。むしろ床にモノが置いてあったりして、汚いというよりは散らかっている部屋の人もそこそこ居るのではないでしょうか。

そういう人がルンバを買ったところで、すぐには部屋をキレイにできません。モノが置いてあってそもそもルンバを走らせられないから、です。

じゃあどうするかというと、せっかく数万円かけて買ったルンバをなんとか使うために、部屋を片付けます。モノを床からどけてルンバが走れる空間を生み出します。

・・・と、このように、ルンバを買って走らせるために人間が頑張るから結果的に部屋が片付いてきれいになる!というのをこの記事では「ルンバ効果」と呼んでいます。

一方テスト自動化の視点では

このルンバ効果はテスト自動化においても同じことが言えるよね!というのが上に貼ったスライドで言っていることです。

テストを自動化する理由には色々ありますが、例えば

  • テストの手間を省きたい
  • 楽をしたい
  • 人手だとうまくできないテストをしたい

などが挙げられます。

ただ、最終的には品質向上につなげたい、という狙いがあります。

とはいえ、テストを自動化すればそれで達成できるわけではありません。

  • テスト対象にバグが多い
  • 工数が足りない
  • 周囲の協力が得られない
  • テストそのものがイケてない

など問題が多いことでテスト自動化がそもそもできない(≒とてもルンバを走らせられない)状態だと、意味がありません。

じゃあどうするかというと、テスト自動化ができるよう、上述のものを含めた様々な問題を人間ががんばって取り除きます。テスト自動化ができる状態を生み出します。

・・・と、このように、テスト自動化をするためにテストを含め開発プロセスの様々な点を見直したり改善したりして、色々な状況が良くなる!というのを、テスト自動化のルンバ効果と勝手に名付けました。

(スライドの中ではあえて商標のルンバを出さずに「お掃除ロボット」と言っています。)

私の元ツイートに対する@suhahideさんの引用RTがきっかけ、が正しい。