ume

プログラミングのテストについて

対象者

  • テストとはなんぞやっと思う人

  • なぜテストを書かないといけないのかと感じる人

目次

  1. テストとは.

  2. テストの必要性.

  3. テストの種類.

1. テストとは.

⇨自分の書いたコードが自分の想定通りに動作しているかを自分の代わりにpcに確かめてもらうもの.
例えば.
画面のsign up nowクリック⇨sign up ページに画面遷移できているか調べる場合

自分でサーバーを起動しこの緑のボタンをクリックして目視で切り替わっているかを確かめないといけない。

しかしテストがあるとpcが自分の代わりに画面がちゃんと切り替わってるかなどを確認してくれる。

テストの必要性.

⇨バグ修正がしやすい=開発効率が高まる.
テストなしに開発を進めた場合とテストありで開発を進めた場合を比較してみる.

テストなしパターン.
アプリを作成後に自ら目視で全てのページをクリックしちゃんと動作するか調べる必要がある。 Homeクリック⇨ページ遷移できてる。 Helpクリック⇨ページ遷移できてる。 めんどくさいし何よりエラーが出た場合どこに原因があるのか特定しにくい。 要は1つの機能を1と仮定し1つのアプリに10個の機能がある場合。 1〜10機能のどこかにエラーがありましたと言われているようなもの。

テストありパターン Helpクリック⇨ページ遷移できてる。など全てpcが瞬時にやってくれ、エラーが出たとしてもどこでどんなエラーが出たのかを教えてくれる。 要は1つの機能を1と仮定し1つのアプリに10個の機能がある場合。 1〜10機能のうち 5でエラーが見つかりました。 みたいな感じ

3. テストの種類

Rubyの場合 ①minitest ②RSpec

2つの共通点 * テストコードを実行し、期待通りにプログラムプログラムが動作することを検証すること。 ⇨ここで疑問「ならどっちでテスト書いても良いんじゃない?」 結論 [どっち使うかは目的による]

例えば私の例で言うと、今転職活動中でプログラミングを勉強しているので ①仕事で使われている技術を習得したい ⇨仕事を得た時にすぐに仕事についていけるように と言う目的であればRSpecを使う方が良いと思います.