【単体テストができなかった自分が、進め方のフローをつかむまで】

アイキャッチ画像

はじめに

今回は、単体テストはテストケースに沿って確認すれば進められると思っていましたが
実際には確認観点や期待結果を理解していないと、結果の判断に迷い手が止まることがありました。
そんな経験を通して見えてきた「進め方」についてまとめます。

1. 単体テストに対するこれまでの認識

単体テストは、実装した機能が正しく動くかを確認する工程であり
テストケースに沿って実行すればよい作業だと考えていました。
そのため、用意された手順をこなすこと自体が目的になっていました。

2. テストで手が止まる原因

テストの目的や確認観点を理解しないまま進めていたため、結果が正しいか判断できず
手が止まることがありました。
また、「なぜこのテストをしているのか」が分からない状態で実施していたため
異常な結果に気づきにくい状況でした。

3. 指示ベースのテストに依存していた状態

テストケース通りに実行することはできていましたが、自分でテスト観点を考えたり
ケースの抜け漏れに気づくことはできていませんでした。
そのため、仕様を理解した上でのテストではなく、単なる作業になっていました。

4. 単体テストで難しかったポイント

特に難しかったのは、どこまでテストすべきかの判断でした。
正常系だけで終わってしまうことも多く、異常系や境界値の観点が不足していました。
また、入力値のパターンによる処理分岐を網羅的に確認できていませんでした。

5. エラー対応で感じた課題

不具合が発生した際に、どの処理で問題が起きているのかを特定できず
原因の切り分けに時間がかかっていました。
ログの確認や変数の値の追跡も不十分で、結果として場当たり的な修正になることがありました。

6. 見えてきた単体テストの進め方

こうした経験から、単体テストは以下の流れで進めることが重要だと分かりました。

① 対象機能の仕様と処理内容を理解する。
② 入力・処理・出力の観点で整理する。
③ 正常系・異常系・境界値のテストパターンを洗い出す。
④ 条件分岐ごとに網羅的にテストケースを確認する。
⑤ 小さな単位でテストを実施し、結果を仕様と照らし合わせる。
⑥ 不具合発生時はログ・変数・処理フローを追って原因を特定する。
⑦ 再現確認を行い、修正の妥当性を確認する。

7. 単体テストに対する意識の変化

単体テストは単なる動作確認ではなく
「処理単位で仕様どおりに動作していることを保証する工程」であると理解するようになりました。

まとめ

単体テストは処理単位で品質を担保する重要な工程です。
結果だけでなく、その理由や根拠を説明できる状態にすることで、テストの質は大きく向上します。