IT ニュース&コラム 2018/ 1/29 通巻755号 技術版 ソフトウェアデザイン館 Sage Plaisir 21  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ■■ テスト プログラムに必須のコメントのフォーマット ■■ テスト プログラム(以後、テスト)をどのように作成したらよいか分から ない方もいらっしゃると思いますが、全てのテストは4つのステップの 構成になっています。 それは、 ・準備(Set up) ・テスト対象の実行(Test Main) ・期待した出力と合っているかチェック(Check) ・クリーン(Clean) です。 よって、テストのコードは、次のコメントを付けるべきです。 /* Set up */ : /* Test Main */ : /* Check */ : /* Clean */ : テストによっては、Set up や Clean で行う処理がないことがありますが、 そのときは、Set up や Clean を書かなくても構いません。 大事なのは、上記の4つ種類のうち、どの種類のコードであるかが示される ことです。 たまに、Set up や Clean がないときは、ないことを示すために、 Do Nothing というコメントを要求する人もいますが、ナンセンスです。 必要な Set up がなければ、テストは失敗しますし、 必要な Clean がなければ、テスト終了時に余分なファイルが残って バージョン管理ツールでコミットするときに気づきます。 もしくは、 次のテストが開始できなくなります。 Test Main と Check が1つのコードになることがあります。 その場合、Test Main と Check の両方が含まれていることが分かるように、 次のようなコメントをします。 /* Test Main and Check */ : vbslib には、テストを自動実行する「テスト プロンプト (Test.vbs)」 があります。 Test.vbs という名前のファイルに、Test_build, Test_setup, Test_start, Test_check, Test_clean の5つの関数を 定義すると、テスト プロンプトから、それらの関数を呼び出します。 Test_build は、Test_setup を実行するのに必要な環境のビルド (コンパイル)などを行います。 しかし、現在では5つの関数の分類に従ってテストは作られていません。 Test_start 関数に、/* Set up */, /* Test Main */, /* Check */, /* Clean */ がすべて入るようになりました。 なぜなら、Set up で 作成したオブジェクトを Test Main で使うようなことが普通にある からです。 関数を分けてしまうと、作成したオブジェクトを渡すことが 大変になってしまうからです。 Set up, Test Main, Check, Clean に分けると、テスト内容を知ることが 簡単になります。 テスト対象は Test Main に書かれており、 期待する出力は Check に書かれているからです。 もし、この分け方を していなければ、何をテストしているのか分からなくなります。 たとえば、準備をしているコードを見て、何のチェックをしているのだろうと 悩んでしまったらもう開発コストが爆発します。 何もチェックしていないの ですから。 http://www.sage-p.com/vbslib/vbslib.htm http://www.atmarkit.co.jp/ait/articles/0708/17/news078.html http://www.itmedia.co.jp/im/articles/0303/07/news001.html ■■ 注目ニュース 一覧 ■■ ◇ コインチェック、580億円分のネムが不正流出。取引再開や補償は未定。 https://japan.cnet.com/article/35113798/ https://www.businessinsider.jp/post-161079 … 仮想通貨の問題は、アカウントを特定できても個人を特定できないこと。 ◇ アマゾンエコー、人気スキルはやっぱりアレでした。 https://internet.watch.impress.co.jp/docs/imreboot/news/1103281.html … radiko.jp とピカチュウトークが上位2つ。 ◇ Visual Studio Community 2017。WindowsやAndroidiOS端末向け統合開発環境。 https://forest.watch.impress.co.jp/library/software/vbexedition/ … 2018年に公開。 ◇ Firefox 58では、飛んでくるパケットごとにコンパイル、実行中に裏でコードを最適化して動的に入れ替え。 http://www.publickey1.jp/blog/18/firefox_58webassembly_1.html … ページをダウンロード中からコンパイルが始まるストリーミング コンパイレーション。 ◇ 小学生向けのオンラインプログラミング学習 QUREO。CAが2月19日から提供へ。 https://japan.cnet.com/article/35113503/ … 2020年から始まるプログラミングの授業とは別の学習塾的なサービス。 ◇ Microsoft、教育版マインクラフトと Office 365 に新機能。 http://www.itmedia.co.jp/news/articles/1801/23/news056.html … マインクラフトに元素の周期表を入れてみた。 ◇ マイクロソフト、Mac版Microsoft OfficeのソースコードをWindows版のソースコードと一本化実現。 http://www.publickey1.jp/blog/18/macmicrosoft_officewindows.html … まずはリポジトリを1つに。 ◇ 無料でさまざまなウェブサービスを連携させ定期的に実行できる Automate.io を使ってみた。 https://gigazine.net/news/20180125-automate-io/ … 定期的に実行できる IFTTT。 ◇ これから開発されるFirefoxの新規機能は、HTTPSにしか対応しない。新規のCSSプロパティなども対象。 http://www.publickey1.jp/blog/18/firefoxhttpscss.html … 開発者は、テスト環境に https が必要に。 ◇ Facebook、新しい時間単位、フリックを発表。 https://japan.cnet.com/article/35113535/ … 1フリックは、705,600,000 分の1秒。 いろいろな短い時間の最小公倍数。 ■■ ソフトウェアデザイン館 Sage Plaisir 21 ■■ ホームページ >>> http://www.sage-p.com/ メルマガ >>> http://www.mag2.com/m/0000083983.html ブログ >>> http://blog.livedoor.jp/sage_p/ ツイッター >>> http://twitter.com/Ts_Neko ダウンロード >>> http://www.sage-p.com/freesoft.htm サポート掲示板 >>> http://www.sage-p.com/kg_ban09/z6037C8.cgi 東日本大震災 >>> http://www.sage-p.com/saigai.html メール >>> ts-neko◇sage-p.com ←◇を@に変えてください 緊急メールは件名に「うどんメール」を付けてください。 このメルマガの登録・解除 - http://www.mag2.com/m/0000083983.htm