各種オープンソースソフトウェアのうち、特に人気の高いOSSをピックアップ。実際の検証結果をまとめた本連載。今回と次回はサーバテスト自動化ツール「Serverspec」と「Infrataster」を紹介する。
前回の『サーバ構築・運用自動化ソフト4製品徹底検証』の冒頭でも述べたが、システムの複雑化や規模拡大に伴い、いかに運用負荷やコストの増大を抑止するかが多くの企業において急務となっている。こうした中、運用作業の自動化が進んでおり、サーバ構築・運用の自動化においては、前回ご紹介した「Chef」「Ansible」「Puppet」「Itamae」が広く活用されつつある。また、構築、メンテナンス作業後のテストについても自動化製品の採用が進んでいる。
今回は、そのサーバテスト自動化ソフトの中でも特に利用者の多い、「Serverspec」「Infrataster」の2製品をピックアップ。実際にWordPressをインストールしたサーバの、設定や挙動の自動テストを実施した。サーバテスト自動化ソフトの実行環境の構築手順、テストを実施するRubyスクリプトなどの作成方法も含めてまとめているので、可能であれば、実際に環境を構築して動かしてみてはいかがだろう。
現在、一部のIT企業では、“Excel方眼紙”で作成されたテスト設計に基づき、テスト実施者が手動でコマンドや画面操作を実行。そのテスト結果をスクリーンショットの形でExcelシートなどに張り付けて、エビデンスとして記録している例が多い。
実際のイメージは以下のような成果物となる。
以下はサンプルの一部。クリックで全容ページに飛ぶ。
以下はサンプルの一部。クリックで全容ページに飛ぶ。
実際にこの作業をしてみると、作業内容の割に非常に手間が掛かる。手作業であるため、コマンドの間違いやスクリーンショットの取り間違えなどミスも起こしやすい。とはいえ、テストケース設計自体は省略することができない作業だ。そこで、このテスト実施とエビデンス作成を、サーバテスト自動化ツールで省力化できないか、検証を実施する。
評価を行った2製品の特徴は以下の通り。今回は「Serverspec」の検証結果を紹介。「Infrataster」は後編で紹介する。
製品名 | ベンダー/コミュニティ | 特徴 | |
---|---|---|---|
1 | Serverspec | Serverspec.org | 宮下剛輔氏が開発。使用言語はRuby。主にテストスクリプトの処理をテスト対象のサーバ内で実行し、サーバの設定や動作を確認する機能を持つ |
2 | Infrataster | Infrataster | Itamaeの作者でもあるクックパッド 荒井良太氏が開発。主にテストスクリプトの処理をテスト実施サーバで実行し、テスト対象のサーバの外部から動作を確認する機能を持つ。先行製品であるServerspecの補完製品の位置付けでもある |
両製品の機能を図で表すと以下のようになる。
両製品が非常に良い補完関係にあることがよく分かるのではないだろうか。Serverspecがホワイトボックステスト、Infratasterがブラックボックステストの位置付けともいえるだろう。両製品を同一サーバにインストールして併存させることも可能だ。
実際には、Infratasterにもテスト対象のサーバ内部でコマンドを実行させる機能があるため、その機能を使えばServerspecと同等のテストを実施することも可能である。ただ今回は併用の検証は行わず、それぞれの製品で「手動でのテストケースと同じ網羅性を確保できるか」をテーマに検証を行った。
Copyright © ITmedia, Inc. All Rights Reserved.