2019年5月15日、名古屋時代に交流のあったソフトウェアテスト・エンジニアの方々と飲む機会がありました。
そのうちの一人が教えてくれた持論で「テストは品質保証のためにあるのではない。テストは『事実 』 を示すものでしかない。問題はそのテストが『誰のためにどんな事実を指し示す』ために実施するものなのか?である。」という言葉が非常に印象に残ったので、ここに残しておくことにしました。
ソフトウェア開発における「テスト」というのは、 (少なくとも私の経験上) 「リリースする上での関門」と捉えられることが多く、とかく開発部隊とテスト部隊が対立する構造になりがち、とも言われています。
上記の言葉を言った人(テストエンジニア)によると、本来ソフトウェアテストというのは開発チームのために現在のパフォーマンスを可視化することで、この先チームがどのように活動すべきかの判断材料を提供することに価値がある、ということです。
つまりは、ソフトウェアテストは開発と対立するものではなく、お互いに補完し合う車の両輪のような関係性ということです。
これはソフトウェア開発に限った話ではなく、「誰に向けての」「何のための」「どのような事実を」「いつのタイミングで」提供できるか? というのは、ビジネス全般において非常に重要な要素であると考えます。
私自身はソフトウェア開発自体に直接関わることがなくなって久しいのですが、誰のための「事実(データ)」なのか?それを使って何をすべきなのか?を改めて意識する良いキッカケが得られた気がします。