テスト

【課題】カウンターの要件定義と機能実装をする【TDDを実践する】

どうも、つよぽんです!

今回は演習課題の紹介記事となります。

今回の課題は、前回記事「TDD(テスト駆動開発)での開発スタイルとは【テストファースト】」で解説した「TDD」な開発フローで実装を進めていただきます。

また、この課題で確認する知識は以下のとおりです。

確認する知識
  1. テストを実行するのに必要な環境を用意する
  2. テストツールを使ったテストの書き方・実行方法
  3. TDDな開発フロー

今回の課題の完成形は以下の画像の通りです。(画像をクリックすると別タブで開きます。)

今回の課題の完成形今回の課題の完成形

今すぐ課題に取り組みたい方は以下の記事から課題ページにアクセスして、早速取り組んでいただけたらと思います。

あわせて読みたい
【エクササイズ】カウンターの要件定義と機能実装をする【テスト】今回はテストコードを実装する演習課題を用意しました。また、今回はTDDな開発スタイルで機能の実装を進めていただきます。TDDでは「要件定義」をテストコードとして先に記述します(失敗するテストの作成)。その後、テストが成功するように機能を実装して要件を満たしていきます。...

この記事の想定読者は次のとおりです。

想定読者
  • 必要なテストツールが分かっている方
  • テストコードの書き方・実行方法が分かっている方
  • TDDが何かを分かっている方

現時点で上記の知識が身についていないとしても、今回の記事で上記内容を学習できる記事を紹介していくので問題ありません。

今回の課題をクリアするために参考になる記事は次のとおりです。忘れてしまっているものがあれば記事を読み返しふり返ってみましょう。

【Node.JS】テストツールの種類とインストール方法を覚える

テストコードを書くには「テストツール」が必要となります。

テストツールも大きく分けると「テストフレームワーク」と「アサーションライブラリ」の2つがあります。

テストツールを使ったテストコードの作成と実行までの流れとしては、次のような感じとなります。

  1. テストフレームワークで決められた形でテストコードを記述する
  2. アサーションライブラリを使って、値の比較をするコードを書く
  3. テストフレームワークのコマンドを使ってテストコードを実行する

詳しくは以下の記事でも説明しているので、もっと詳しく知りたい方は以下の記事を参考にしていただけたらと思います。

あわせて読みたい
【Node.JS】テストツールの種類とインストール方法を覚える今回はNode.jsで使うテストツールの種類と、テストツールをインストール方法を解説します。JavaScriptのテストツールはいろいろとありますが、今回は「mocha」「power-assert」を使います。npmでテストツールをインストールする際は「-D」オプションを忘れないようにしましょう。...

【Node.js】テストコードの書き方と実行方法【基本型】

前の章でも説明しましたが、テストコードは「テストフレームワークによって決められた形で記述」します。

今回は、テストフレームワークに「mocha」というツールを紹介していますが、基本的にテストフレームワークはどれも書き方は似ています。

つまり、1度テストコードの書き方を覚えてしまえば、他のテストフレームワークを使っても、すぐに使えるようになるということです。

具体的なテストコードの書き方」は以下の記事でまとめています。

また、「具体的なテストコードの実行方法」も同じく以下の記事で説明しているので、詳しく知りたい方は以下の記事を参考にしていただけたらと思います。

あわせて読みたい
【Node.js】テストコードの書き方と実行方法【基本型】今回はmocha, power-assertを使った「テストコードの書き方」と「テストの実行方法」を解説します。mocha, power-assert以外にも様々なテストツールはありますが、基本的な書き方と実行方法はどのテストツールも同じなので、今回の内容を覚えれば別のテストツールもすぐ使えるようになるでしょう。...

TDD(テスト駆動開発)での開発スタイルとは【テストファースト】

TDDとは「Test Driven Development」の略で、日本語では「テスト駆動開発」と呼ばれています。

この「TDD」とは、開発スタイルの1つをあらわしています。

その開発スタイルとは「先に失敗するテストを書いて、後からテストを成功させるための機能を実装する」というものになります。

先にテストを書くことを「テストファースト」と呼ぶこともあります。

ここでテストを「要件定義」とみなすと、「先に要件定義を行ってから、後から要件を満たす機能を実装する」と言いかえることもできます。

先に要件を満たすということは、行き当たりばったりの実装ではなく、ちゃんと設計をしてから実装を行うことになるので、大きめのアプリケーションを実装する際には、実装が破綻する可能性が下がります

具体的なTDDでの開発フローは以下の記事でも解説しているので、そちらも参考にしていただけたらと思います。

あわせて読みたい
TDD(テスト駆動開発)での開発スタイルとは【テストファースト】今回はTDD(テスト駆動開発)について解説します。TDDな開発フローは「テストファースト」つまり、失敗するテストを先に書いていく実装スタイルとなります。そして、失敗するテストを成功するように実装を進めていくことで、最終的にはアプリケーションが完成していく感じになります。...

まとめ

あらためて、今回の課題をクリアするために必要な知識を解説した記事を以下にまとめておきます。

上にまとめた記事内容をふりかえり、今回の演習課題で取り組む知識の定着のためにも、ぜひチャレンジしましょう!^^

今回の課題で定着させたい知識
  1. テストを実行するのに必要な環境を用意する
  2. テストツールを使ったテストの書き方・実行方法
  3. TDDな開発フロー

頭では理解してても実際に手を動かしてみて手が進まないところがあれば、それは理解が不十分だということを意味します。

練習問題をやっててわからないところ、質問したいところがあればお気軽に以下からご連絡いただけたらと思います^^

あわせて読みたい
【絶賛受付中】プログラミング・Webの相談お気軽にどうぞ!
【絶賛受付中】プログラミング・Webの相談お気軽にどうぞ!プログラミングやWebで困っていることに対して何でも質問受け付けています。「こんなこと質問しても大丈夫かな」と思っている方のために過去にどんな質問があったのか一例で挙げているので参考にしていただけたらと思います。...

それでは、課題頑張ってください!

【3つの特典付き】Webエンジニアに必要な基礎スキルを体系的に効率良く身につけたいですか?

LINE登録で無料特典を受け取る

次のような方向けに、学習をサポートするコンテンツを無料プレゼントしています。

  • Webエンジニアになりたいけど何から学習を始めれば良いかわからない
  • 今まで独学で頑張ってきたけど、独学に限界を感じてきた
  • プログラミングは出来るけど、大きめのコードが書けない

「プレゼント詳細が知りたい」「プレゼントを受け取りたい」といった方は、以下のボタンをクリックして詳細ページをご確認ください。

無料特典を受け取る

 

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です