私の前回の記事では、ソフトウェアが本番稼働に至るまでの体系的なプロセスについて紹介し、どのタイプのテストを、どのタイミングで実施すべきか、その理由と共に説明しました。今回は、各タイプのテストの具体的な実施方法について解説していきます。 各テスト レイヤーの実施に役立つ、モッキングとスタビングの手法やテスト駆動開発を取り上げます。その前に、前回の記事で紹介した「テスト ピラミッド」のコンセプトをおさらいしておきましょう。これを知っていると、タイプ別のテストの違いと、効果的な実施タイミングを理解しやすくなります。 単体テストまたはコンポーネント テスト (下図で示すピラミッドの最下層) は、低コストですばやく実行できるテストです。この種のテストを、できるだけ多く実施するようにしましょう。単体テストをすべてやり尽くした場合にのみ、結合テストや UI レイヤー テストなどの、(時間とリソースの両方
![ソフトウェア テストの手法 - パート 1: モッキング、スタビング、コントラクト テスト](https://cdn-ak-scissors.b.st-hatena.com/image/square/2822224adee99fe7d2bcbc02b100bbf5b61a4796/height=288;version=1;width=512/https%3A%2F%2Fimages.ctfassets.net%2Fil1yandlcjgk%2F37dwORuiv9pBYwJxBfZlsk%2F7eea2c7d75ccf57f1026cf7edd232e35%2FCover-TestDefs-Part1.jpg)