テスト設計 第一部 ~ユニットテスト編~

テスト設計 第一部 ~ユニットテスト編~

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

どうも、今年の夏はユニットテスト漬けだった大友です。

というわけで、「ホワイトボックス」と「ブラックボックス」の二つの視点から、ユニットテストの作り方を考察していきたいと思います。

前回、続編を望むコメントは特に無かった模様ですが。。。
この程度、想定の範囲内だよっ!(切ない)

前回のおさらい

前回の記事で「ホワイトボックス」と「ブラックボックス」の利点欠点を取り上げました。

ホワイトボックステストとは、内部の処理をすべて網羅することで、「誤字や変数参照ミス」などのケアレスミスや「正しくキャッチされていないエラー処理」などの異常系が正しく動くかどうかの問題を発見するためのテストのことです。
そのため処理完了の結果、ストアされる値が正しいかどうか、戻り値が正しい値かどうか、という部分は感知できません。

逆にブラックボックステストは処理の中身や流れは見ず、入力値に対する出力結果が正しいかどうかのみを確認します。

アチラを立てればコチラが立たず。
さて、一体どうやってテストを作っていけばいいでしょうか?

ブラックボックスの視点からテストを作る

ではまず、手始めに「完成した処理を実際に動かしたら、想定した答えがちゃんと返ってくるか?」ということを確認しましょう。

超シンプルな例を一つ。
ブール値を引数に、各々対応した数値を返す処理があったとします。

この場合、以下のような感じで関数に引数を渡してあげれば、result変数にそれぞれ結果が返ってきますね。

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでもこちらから行うことが可能です。

あなたにおすすめ

仮想環境で『Ansible』を使ってサーバ構築... 最近、サーバ構築を実施する必要がありました。 まずは仮想環境を作り、サーバ構築を……と思ったのですが、私はインフラ周りの経験が浅く、色々困ったことが頻出してしまいました。 今回の記事では、私と同じような “サーバ構築ビギナー” ...
内線電話用の番号検索|Slack APPで作ってみた... ショーケース・ティービーではメール誤送信防止という観点から、社内連絡ではチャットツールを使用しています。 現在使用しているツールは「HipChat」。 <bitWave関連記事『情報漏えいしないための決定打!”Hip Chat”』>...
Amazon EC2|Red Hat Linux 7.3で“Muninインストール“や“パッケージ導... ナマステ~! 私はナラヤンです! 今回が初投稿になるのですが、実はこれまで何度か本bitWave上でも登場していました。 <bitWave関連記事『おもてなしの企業の社員が、ネパール人をおもてなししてみた!』> <bitWave関...
継続的インテグレーションツール『Jenkins』を触ってみた... こんにちは。M.Sです。 現在、『Jenkins』からSeleniumを実行するお題に取り組んでいます。 『Jenkins』ってなに? 身近な継続的インテグレーションとは 『Jenkins』はjavaで実装されたオープンソー...