yucatio@システムエンジニア

趣味で作ったものいろいろ

ソフトウェアのテストを書くのが嫌になる瞬間 第4位

ソフトウェアのテストを書くのが嫌になる瞬間、今回は第4位です。

テストを書くのが嫌になる瞬間 第4位 : テストの文脈を見ないで落ちたテストのみ修正しているのをみたとき

今回は10コマ漫画でお送りします。

なお、以下単に”テスト”と書いた場合は、テストコードのことを指し、CIツールなどで自動実行されるものを指します。また、単に"コード"と書いた場合には、プロダクションコードを指します。 また、単体テストよりもエンドtoエンドのテストを厚く書く職場で働いています。

f:id:yucatio:20181230165209p:plain:w300

f:id:yucatio:20181230165731p:plain

f:id:yucatio:20181230164527p:plain:w300

大体こうなるよね。

とにかく落ちたテストしか見ないのです。落ちたテストが書いてあるファイルは見てほしいし、少なくとも前後のテストケースくらいは確認してもらいたいものですが、見ないのです。ちゃんと元のテストコードには

説明 期待値
最小値 - 1 2 エラーが出る
最小値 3 登録できる
最大値 10 登録できる
最大値 + 1 11 エラーが出る

のように説明も書いてあるんですよ(上記だと期待値が適当ですが実際はちゃんと書いてあります)。全然読まれてない。

念のため書いておくと、下記のように直すのが正しいです。

説明 期待値
最小値 - 1 2 エラーが出る
最小値 3 登録できる
最大値 20 登録できる
最大値 + 1 21 エラーが出る

上記漫画の重症例はソフトウェアのテストを書くのが嫌になる瞬間 第1位と同じメンタリティですね。とにかくテストが通ればよいという考えのようです。

誰ですかテストは仕様書だと言ったのは。修正漏れたままマージされてしまったら、

説明 期待値
最小値 - 1 2 エラーが出る
最小値 3 登録できる
最大値 10 登録できる
最大値 + 1 21 エラーが出る

もしくは

説明 期待値
最小値 - 1 2 エラーが出る
最小値 3 登録できる
最大値 10 登録できる
最大値 + 1 11 登録できる

になりますよ。これ、"仕様分からないからソース見なきゃわかんない"に陥るパターンではないですか。

仕様変更での修正漏れは、レビューでもうっかりすると見逃すパターンです。書き換えられた部分は差分に出てくるのですが、書き換え忘れた部分は差分として出てこないからです。

とにかく私の周りでこのパターン多すぎてレビュー来るたびにげんなりします。どうすればよいのですか。教えてえらいひと。

第4位は以上です。その他のソフトウェアのテストを書くのが嫌になる瞬間は以下にまとめています。

yucatio.hatenablog.com

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

テスト駆動開発 [ Kent Beck ]
価格:3024円(税込、送料無料) (2018/12/28時点)