🙄

テストドキュメントを日本語で書くべきか英語で書くべきか

2022/08/24に公開

背景

  • テストドキュメント(RSpec)を書く際に、テストケースを日本語で書くべきか英語で書くべきかについて議論があった。
  • その際の論点について、社内用にまとめてみる。

テストケースを英語で書くメリット

  • 将来的に英語圏の人が入社した際のキャッチアップがしやすくなる
  • RSpecなど英語で書くと見通しが良いものに関しては、英語で読む際見やすい
    • describe, it などの構文と一緒に英語が出てくると確かにわかりやすい

テストケースを英語で書くデメリット

  • テストケースの書き手の英語力が低い場合、以下の問題が起こる
    • テストケースの仕様が不明確になり、読み手が仕様を理解しづらい
    • 英語でテストケースを作成するために、辞書を引いたりする無駄な工数が発生する
  • レビュワーの英語力が低い場合、以下の問題が起こる
    • 仕様の理解ができないため、意図を確認するための質問が増える。
    • 仕様が理解できないため、最悪の場合面倒くさくなって間違っているテストケースにLGTMを出してしまう可能性がある
    • 文法的/語彙的問題とは関係なく、テストケースの修正を提案する際も、本人の語彙力がないためものすごく英語について調べてフィードバックしなければならない。工数がもったいない。
    • 英語のテストケースに対してレビューを入れる際に、日本語で書いておけば発生しないような「英語の文法的/語彙的問題」に対してコメントを入れる必要が出てくるので、無駄な工数が発生する
  • 後でテストドキュメントを読んで仕様をキャッチアップするエンジニアの英語力が低い場合、以下の問題が起こる
    • 仕様書を見ても、何をやっているか理解できないため仕様のキャッチアップがしづらい。時間がかかるか理解ができないか、などの可能性がある。

結局、英語と日本語どちらのほうがよいか?

  • 特別な事情がない限り日本語が良さそう
    • RSpecなどの、英語に合わせた言語のメリットを活かす以前に、英語を使うことでテストケースの品質が下がるのであれば、まず日本語で正しい仕様を書く方が優先順位は高い。
    • エンジニア採用、ただでさえ開発できる人採用するのでも難易度高いのに、英語が流暢であることをJDに入れる必要が出てきてさらに難しくなる。
    • 開発効率を考えたときに、テストケース書くために英語を時間かけて書くのは工数もったいなすぎる(しかも書き手ではなく読み手にも負担がかかる)
  • 特別な事情=以下の通り
    • 前提:ソフトウェア開発に必要な専門用語までREAD, WRITEできるメンバーしかチームにいない場合
    • 将来的にグローバルで採用する予定のある企業の場合

Discussion