ys memos

Blog

OSSにプルリクを出す際の単体テストを作る流れ


test

2021/06/14


私は,一度 OSS に新機能のプルリクを出したことがある.

その時,最初は新機能のみをプルリクに出していたのですが,OSS の保守性を高めるために,モジュールの単体テストをセットで追加する必要があるとのこと.

テストがあれば,バグの再現が可能なテストを追加して,バグを洗い出したり,コードの変更があったときにもテストに通過を維持することで,新たなバグを埋め込みづらくする事ができるようである.

ちなみに,私が開発した機能は C++で記述し,テストには Google Test を用いた.


実際に行った開発の流れは以下のようになる.

  1. 追加する機能を決定
  2. 機能を追加
  3. 目視で必要な機能を満たしているか確認
  4. 機能が満たすべき要件を洗い出す(入出力)
  5. 入出力を文字にする(簡単な入出力・境界条件など)
  6. 使うユニットテストフレームワークを決定
  7. テストを書く
  8. テストを通過するか確認

入出力を作る時,特殊な入力が考えられる場合は,できるだけ網羅するようにテストを書いたほうが良い.

また,アルゴリズムに対するテストを考える際に,真逆の処理を行うコードを書いて,お互いの入出力が一致するかを確認するという手段もある.


これからは,自由に書く自分のコードでもできるだけテストを書くように心がけたい.(特に書き捨てではなく継続的に更新する予定のコードは)


関連タグを探す