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で作成されています。