これからは、コレ!旬なIT技術やこれから主流となりつつあるIT技術に関する情報をご紹介します。

2016年07月01日

テスト駆動インフラ
構築したサーバの検証を自動化する

目視と手動によるサーバ構成のテストには限界が

今日、仮想化技術やクラウドの普及により、サーバをより早く、大規模に構築できるようになりました。サーバ構築自体のスピードは上がりましたが、構築後に行うテストはまだまだ手動で行うことが多く、このフェーズに時間や人手が掛かっているのが現状です。
このような問題を解決するために、プログラムによってテストを自動化しようという考え方、「テスト駆動インフラ※」が注目されています。

※インフラ(インフラストラクチャー)とはITシステムを構築するための設備やソフトウェアを整備した環境のこと。

テスト自動化のメリット

通常、サーバ構築が完了すると、目的通りの環境が正しく構築できているか、テストを実施します。従来のテストでは、コマンドを実行し、その結果を想定値と比べたり、設定ファイルを開き、指定した値が入力されているかどうかを確認したりと、一つひとつ手作業で入力し、目視で確認する方法がとられていました。作業者の手元にはテスト項目書があり、その項目書と構築したサーバとを見比べてチェックしていくのです。このような手作業のチェックでは、どんなに注意してもミスや漏れなどのヒューマンエラーが起こり得ますし、時間も大幅に掛かってしまいます。

テスト項目書を使った手作業によるテスト
図1 テスト項目書を使った手作業によるテスト

ヒューマンエラーや作業工数を減らすために、自動でテストを行う方法として注目を集めているのが、今回ご紹介する「テスト駆動インフラ」です。これは、テスト項目をプログラム化し、サーバ構成を自動的にチェックする方法です。テスト項目をプログラム化する労力は必要ですが、実際のテストでのヒューマンエラーが減るのはもちろん、視認性が上がるためサーバの構成ミスを早く発見できます。また、一度作成したプログラムは何度でも利用できるため、サーバ台数が増加した場合も効率よくテストが行えます。手動テストではテスト項目書に沿って、同じ操作をサーバ台数分だけ実施しなければならず、テスト作業者の集中力維持にも限度がありますが、プログラムを使用すれば、操作は一度で済むため負担になりません。

プログラムを使った自動テスト
図2 プログラムを使った自動テスト

最後に

新しい技術が日々誕生し、それに伴って、技術を支えるサーバも複雑化してきています。このような複雑な環境を人手のみで適切にテストするのは、ますます困難になっていくでしょう。テスト期間の短縮によるコスト削減や安定した品質へと繋げるために、従来のような手動テストから「テスト駆動インフラ」の考え方を用いた、サーバの自動テストが普及していくのではないでしょうか。


2016年7月

ITの可能性が満載のメルマガを、お客様への想いと共にお届けします!

Kobelco Systems Letter を購読