XcodeによるSwiftプログラミング中級講座

テスト範囲の設定について

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
どのような範囲に対してテストを書くべきかを説明します。
講師:
04:09

字幕

このレッスンでは、ユニットテストをどのような範囲に対して書くべきかを説明します。ユニットテストを書くときにでてくる疑問が、テストの範囲をどこまでにするべきなのかということだと思います。そして何をテストの対象とするべきなのか、どんなテストを書くべきなのか、といった疑問がでてくると思います。ここで心に留めておいて欲しいことはですねユニットテストを作るそしてそれをクリアするように実装していく、というのは実は、テスト作成者という側面とコード実装者という側面をそれぞればらばらに見ないといけないということです。テストを作ってそれをパスしていくというのは一種のゲームですので、テストの作成者はこんなところまで調べたらぼろがでてくるんじゃないかな、というところまで頭を働かせて、考えてテストを書く。それに対してコードの実装者はなるべくコードを書かない。基本的にコードというのは、書けば書くほどバグがそこに入り込んでいくものですから、出来るだけ必要最小限の分量のコードで済むのであれば、それに越したことはありません。ですので、コードの実装者は必要最小限のコードのみを書くということでテスト成者は、意地悪に隅々までチェックするようなテストを書くというのが良いテストであって、コードの実装者はあまり行数を書いたから評価されるというわけではありませんので、出来るだけ短いコードでそのテストをパスできるようなコードを書く、これが良いコードだということです。 テスト作成者はとにかくコード実装者をいじめようと、コード実装者は出来るだけ手を抜こうとすることで良いアプリ開発が行えるというのが、テスト駆動開発の基本的な考え方です。ですので、テストを作るときにはとにかく頭をフル回転させてテストを書く。例えば int 型を、引数にとる関数があると、するともちろんその int 型の引数に対してですね、3 とか、 4 とか、そういったぱっと思いつくような値を渡してやるというのはもちろん必要なんですけど、そこに対して0 を渡した場合は本当にちゃんと動作してくれるのかとかですね、マイナスの値ならどうなるのか、int 型のものすごい大きな値、最大値とか最小値とか、あるいは最大値までいかなくても一万とか、一億とか、そういった値だったらどうかとかですね。それから何か関数の特性によってですね、結果がおかしくなりそうなマジックナンバー、これを指定するとおかしくなりそうだというような特定の数値は存在しないか、こういうことを考えながらテストを作る人はテストを書いていきます。もちろんですね、このテストに対してコードを実装していく人は、頭をフル回転させていかに短いコードでこのテストをパスするかと、そういうパズルを解いていくことになるわけです。 このユニットテストをどういうふうに用意するかといった時の一つの指標として覚えておいていただきたいのが、バグが起きたときの修正です。バグがでたらもちろんそれを修正しないといけないんですけど、テスト駆動開発においてですねバグが何故起きたのかということを考えたときに、それは十分なユニットテストが用意できていなかったんじゃないかということがまず最初に疑われます。ですのでバグが起きたときには、それが正しく修正されたかどうかということをチェックするために、そのテストをですね、抜けていたテストを追加するという作業を始めに行います。同じバグを二度と出さないという意気込みでユニットテストを作ってください。そしてユニットテストを書く範囲に対しても、事前にこのバグが起きるのをできるだけ防ごうということを念頭において、どうやったらバグが少なくなるのか、どうやったらバグが起きないかということを考えながら、ユニットテストを書く範囲を決めていただけるといいかと思います。このレッスンでは、ユニットテストを書く範囲について説明しました。

XcodeによるSwiftプログラミング中級講座

このコースではSwiftのプログラミングに慣れてきた方を対象に、より効率的にXcodeを使い、プロジェクトを管理するためのさまざまなテクニックを紹介します。各レッスンではブレークポイントやプロファイラを使った便利なデバッグ方法や、条件に応じてコンパイル対象のコードを書き分けるやり方など実際のアプリ開発で使える実践的なテクニックを解説します。

3時間01分 (27 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年10月29日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。