メドピア開発者ブログ

集合知により医療を再発明しようと邁進しているヘルステックカンパニーのエンジニアブログです。読者に有用な情報発信ができるよう心がけたいので応援のほどよろしくお願いします。

「はじめて学ぶソフトウェアテスト技法」読書会を開催しました

こんにちは。メドピアのお手伝いをしている@willnetです。平日朝はだいたいジョギングをしているのですが、梅雨から夏にかけてジョギングしづらい日々が続くので変わりに何をすべきか考え中です。

今日は社内読書会で読んだはじめて学ぶソフトウェアのテスト技法の話を書きたいと思います。

メドピアでは、サーバサイドのテストにRSpecを利用しています。RSpecの設定や使い方などは検索すればたくさんの記事を目にすることができます。

しかし、いざテストコードを書く際にどう設計すべきなのか(具体的になにをどのように、どれくらいテストするのか)はツールの使い方と比べて検索などで調べるのが難しく、他のテストコードを参考になんとなく雰囲気で書いてしまう事が多いのではないかと思います。その結果、テストケースに抜けがでたり、逆に過剰なテストケースを作ってしまいCIの時間が伸びたりしてしまいます。

そこで、そんなテスト設計の基礎を学ぶ書籍として「はじめて学ぶソフトウェアのテスト技法」を選び、毎週の読書会で読み進めてきました。

読書会の進め方は普段と同様に、音読でキリのいいところまで読み、その後感想を話し合う形式で行いました。この本は章単位で話が独立しており、また1章も短めなのでこの方式に向いていました。

感想

特に序盤が参考になりました。この本は5つのセクションに分かれていますが、最初のセクションである「ブラックボックステスト技法」は次のような章構成になっています。

  • 同値クラステスト
  • 境界値テスト
  • デシジョンテーブルテスト
  • ペア構成テスト
  • 状態遷移テスト
  • ドメイン分析テスト
  • ユースケーステスト

これらのワードは、それなりに経験のあるエンジニアであれば一度は目にしたことがあるのではないでしょうか。このセクションを読むと、どのようなテストケースを作ると、少ない労力で大きな成果を得られるかの指針を理解することができます。

次のセクションのホワイトボックステストでは、カバレッジを測る方法(いわゆるC0, C1, C2)の概要が理解できます。

後半のセクションは、ウォーターフォールによる開発や、大規模な開発環境を前提としている記述が多く見られます。この本が書かれたのは2000年代前半(原著の初版は2003年12月31日発売)なので当然ではありますが、web開発におけるテストに直接影響するものは少ないので時間がない人は前半2つのセクションを読むだけでもよいかもしれません。とはいえ、テスト設計を広く知るためには後半のセクションも必読なので時間があればぜひ読んでみてほしいです。

まとめ

どのようにテストを設計したらいいのかわからない、という人に「はじめて学ぶソフトウェアのテスト技法」はオススメです!


是非読者になってください


メドピアでは一緒に働く仲間を募集しています。 ご応募をお待ちしております!

■募集ポジションはこちら

https://medpeer.co.jp/recruit/entry/

■開発環境はこちら

https://medpeer.co.jp/recruit/workplace/development.html