# テストコードが必要な理由

### テストコードとは

自分が実装したコードに不具合がないかどうかをテストするコードになります。

今回実装してくのは単体テストと呼ばれるテストになります。

一度実装すると不具合をキャッチしやすくなるので、後の追加や変更が楽になります。

### テストコードって何でいるの?

第一章でrubyファイルを修正して実行させるのって凄く面倒ではありませんでしたか？

それがコマンドを一回叩くだけで全てチェックできるならどうでしょうか。

テストには確認工数の削減・デグレの探知と色々な観点からメリットがあります。

次のページから実際にテストファイルを作成しテストコード実装の１歩を踏み出しましょう!

{% hint style="warning" %}
**失敗談・テスト未実装編**

営業会社のICT部署のスタートアップチーム(当時自分含め２人)に参加し、機能を開発していた時があります。

そのチームで働き始めた最初の1年間はテストコードなしで常に機能をリリースしていました。

リリースする前に手動テストを実施するのですが、やはり漏れが発生します。

工数がない状態での手動テストは危ういもので、リリースするたびに不具合を連発していました。

連発する不具合を管理することも難しくなっていき中には放置されているものもある悲惨な状態でした。

ある程度、機能が揃ってきた頃にテストコードの実装が始まり徐々にリリース時の不具合が減ってきました。

この経験から言えますが自動テストは間違いなく必要です。
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kashiwara.gitbook.io/rubydesurufurusukuratchibe/tesutokdo/tesutokdogana.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
