天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

『ソフトウェアテストをカイゼンする50のアイデア』読書会を聴く会に参加してきた

connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

miwaさん咳さんよしたけさんの3人で、「ソフトウェアテストカイゼンする50のアイデア」の本を読んで、読んでいる様子やその感想を見ていくという会です。miwaさんが一文字一文字音読して、区切りのいいところでみんながそこに対して話し合うというスタイルで進んでいきました。(今日はP55〜を読んでいきました)

会の様子

コンソール

咳さんmiwaさんはコンソールと聞くとハードウェアをまず思い出してしまうため、これは何なんだろう?というのをまず改めて確認していきました。(おそらくVSCodeのターミナルみたいなログを見るために必要な端末のイメージという話になりました)

咳さん的には、かつてのコンソールと比べると大分意味が変わっており、へえーとなったという話がありました。

ログがないプロダクトを作るのが難しい

前回出ていた咳さんがログを書かないという話を受けて、ログを書かずにプロダクト(今回の場合は簡単なツール)を作ろうとよしたけさんがチャレンジしたけれど、かなり難しかったという話がありました。

その話を受けて、改めて咳さんがなぜログを書かないかの話があり、以下の点を教えてくれました。

  • 自分がログを書いてしまうと他の人もログを書き出してしまい、結果的にログでトレースすることは難しくなる(プロダクト全体が乱れる)
  • 自分が書いたところは、ログを見なくてもどんな動きをするのか検討がつく。作り始めで一時的に検討がつかないということはあり得るかもしれないけれど、完成品に近づくにつれて必要なくなるはずだし、完成品になったタイミングでは完全員把握できるようになっているはず
  • 誰かに使われるもの(=ライブラリ)を書いていると思ったとき、相手の立場になってログを書くことってできるのか?相手にとって邪魔なログしか基本的には吐けないのでは?

本番ログで事前に異常を検知する難しさ

とあるアプリをテストしているときに、ログが二重起動してしまっていてログに対して全然信用ができなかったという話がありました。

また、本書ではログのグループ分けが推奨されていましたが、咳さん的には数年運用したプロダクトでログのグループ分けが機能しているところを見たことがない*1そうで、あまりログのグループ分けって機能しないよね、という話をしてくれました。

会全体を通した感想

ログの話は前回聞いて自分もすごく興味深いトピックだったので、追加で聴けて満足でした。

個人的な感覚としてはよしたけさんが話していた内容に近いイメージをコンソールやコンソールの活用方法に対して持っていたため、元々そういう意味ではなかったと話を聞いて、驚きました。

*1:最初は一個一個正確にレベル定義がされるが、徐々に「これも重要じゃない?」という話になりがち