SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

まだまだ使える! WSH

まだまだ使える! WSHプログラミング ~ VBScriptのテストツールの紹介

  • X ポスト
  • このエントリーをはてなブックマークに追加

 Microsoft PowerShellが正式リリースされて約10年。WSH(Windows Script Host)はすでに過去の技術となってしまったのでしょうか。もはや、使われることはなくなったのでしょうか。おそらく多くの企業において、まだまだ現役のWSH。ここでは、WSHでテスト駆動開発を実現するためのツールを紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

1. はじめに

 Windows OSの次世代スクリプト環境ともてはやされたWindows PowerShell(以下、PowerShell)が正式リリースされて以来、すでに10年近い歳月が過ぎました。そのなかで、旧来のスクリプト環境であったWSH(Windows Script Host)は、Windows OSの定番スクリプト環境としての地位をPowerShellに取って代わられたのでしょうか? おそらく多くの企業において、そうはならなかったのではないでしょうか。

 その理由はいくつかあるかと思いますが、以下にあげる理由が大半でしょう。

PowerShellへの乗り換えが面倒

 WSHでも十分事足りるのに、なぜ新たな技術を学ばなくてはならないのか。実際、WSHで使用できるVBScriptやJScriptは、プログラム初心者にもなじみやすいVisual BasicやJavaに似ており、習得が容易である。反面、PowerShellでスクリプトを作成する場合、今まで見たこともない記述に抵抗がある。

PowerShellは日本語の扱いが面倒

 PowerShellを学び始めたはいいが、実際に使ってみるとテキストファイルの読み書きなどにおいて、日本語の扱いがWSHよりも面倒になった。PowerShellでは常に文字コードを意識する必要がある。

エクセルやワード、インターネットエクスプローラーなどを操作する際のCOMの挙動に不安がある

 また、COM操作の挙動が不安定である。Microsoft Office製品において、Quit()メソッドだけではプロセスが解放されなかったり、環境によってはインターネットエクスプローラーのCOMを操作できなかったりと様々。

PowerShellスクリプトを使うにはパソコンごとに設定を変更する必要がある

 Windows 7以降、PowerShellはOSに標準搭載されるようになったが、PowerShellの初期設定では、PowerShellスクリプトを実行することができない。設定の変更はパソコンごとに行う必要があるため、PowerShellスクリプトは不特定多数のパソコンで使用するには不向き。

 PowerShellには.NET Frameworkの豊富なライブラリを利用可能というメリットがありますが、そのメリットで上記の理由に目を瞑れるかと言われれば、そうではない方が多いのではないでしょうか。

 ということで、まだまだ現役で続投中のWSHです。

 前置きが長くなってしまいましたが、VBScriptのテストツールをVBScriptで開発しましたので、本記事でご紹介します。

 「VBScriptといえど、テスト駆動開発でなければ開発できない!」というプログラマー、システム管理者がいるようでしたら、ぜひともご活用いただければこれに越した喜びはありません。

2. 対象読者

  • WSH(VBScript)での開発を行っているプログラマー、システム管理者

3. 必要な環境

  • Windows OS全般

4. VBScriptのテストツール「VBS Tester」

 さて、「1. はじめに」でも述べましたが、この記事ではVBScriptでテスト駆動開発を行うためのツールを紹介します。

 「テスト駆動開発って何?」という方のために、テスト駆動開発について、簡単に説明しましょう。

  テスト駆動開発とはプログラム開発手法の一つで、まずはプログラムをテストするプログラムを作成するところから始めます(「プログラムをテストするプログラム」をテスト駆動開発したら、などという終わりなき考えが浮かんだ人もきっといることでしょう)。

 この、「プログラムをテストするプログラムを作成すること」を、テストファーストといいます。

 ここで紹介するVBScriptのテストツールは、「VBS Tester」というベタな名前を付けてあります。

 まずは、著者が所属する「フリープログラミング団体 いかちソフトウェア」のWebサイトから、「VBS Tester」をダウンロードしてください。以下のURLは、ファイルへの直リンクです。

 ダウンロードしたファイルはZIP形式で圧縮されています。解凍すると、次のようなフォルダ構成になっています。                                              

ダウンロードファイルのフォルダ構成
ファイル名 内容
sample_source\Sample1.vbs テストのサンプル用スクリプトです。このスクリプトファイルがテストの対象となります。
sample_source\Sample2.vbs テストのサンプル用スクリプトです。このスクリプトファイルがテストの対象となります。
Address.ini テスト結果をメールで受信するためのメールアドレスです。
TestSample1.inc 「sample_source」フォルダのSample1.vbsをテストするためのテスト用スクリプトです。
TestSample2.inc 「sample_source」フォルダのSample2.vbsをテストするためのテスト用スクリプトです。
VBS Tester ver.1.0.1.doc 「VBS Tester」の使い方を記載したドキュメントです。
VbsTester.vbs 「VBS Tester」本体です。

 「sample_source」フォルダには、「VBS Tester」の使い方のサンプルとして、テストを行うVBScriptファイルが2つ格納されています。

 Address.iniは、テスト結果をメール送信するための送信先メールアドレスを指定します。メールは、Microsoft Outlook(以下、Outlook)で送信します。

 TestSample1.incは、「sample_source」フォルダのSample1.vbsをテストするためのテストケースが記述されているVBScriptです。「VBS Tester」は、同一ディレクトリに存在する拡張子「inc」ファイルをテストケースの記述されているファイルとみなします。テストケースは、VBScriptで記述します。

 同様に、TestSample2.incは「sample_source」フォルダのSample2.vbsのテストケースです。

 VBS Tester ver.1.0.1.docは、「VBS Tester」の使い方を記載したマニュアルです。

 VBSTester.vbsは、「VBS Tester」の本体です。「VBS Tester」もVBScriptで作成されています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
VBS Testerの使い方

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
まだまだ使える! WSH連載記事一覧

もっと読む

この記事の著者

五十嵐貴之(イカラシ タカユキ)

1975年2月生まれ。新潟県長岡市(旧越路町)出身。フリープログラミング団体いかちソフトウェア所属。 著書・これならわかるSQL入門の入門(翔泳社)・Windows自動処理のためのWSHプログラミングガイド(ソシム)・いちばんやさしいデータベースの本(技術評論社)・SQLiteポケットリフ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9124 2016/04/09 17:59

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング