著者
宮下 剛輔 栗林 健太郎 松本 亮介
雑誌
研究報告インターネットと運用技術(IOT)
巻号頁・発行日
vol.2014-IOT-24, no.15, pp.1-6, 2014-02-20

システムの大規模・複雑化に伴い,サーバの構築・運用を効率化するために,サーバの状態をコードで記述する手法が数多く提供されている.それらの手法を効率良く扱うプロセスとして,テスト駆動開発の手法をサーバ構築に応用した Test-Driven Infrastructure が提案されている.このプロセスを支援するテストフレームワークもいくつか登場しているが,あるものは特定の構成管理ツールに依存,またあるものは OS 毎の違いを自ら吸収しなければならないなど,汎用性に難がある.そこで,本論文では,特定の構成管理ツールや OS に依存することなく,サーバの状態を汎用的かつ可読性の高いコードでテスト可能なテストフレームワークを提案する.提案手法では,汎用性を高めるために,これまでの OS や構成管理ツール固有の振る舞いを整理して一般化し,運用業務で発生するコマンド群,特に確認作業に関するコマンド群を体系化・抽象化した汎用コマンド実行フレームワークを定義する.続いて,テストコード記述の抽象度を高め可読性を上げるために宣言的かつ自然言語に近い記法で汎用コマンド実行フレームワークを操作できる制御テストフレームワークを定義する.これにより,管理者が OS や構成管理ツールの違いを気にすることなくサーバの状態を容易にテストできるようになり,サーバの運用・管理コストを低減できる.また,フレームワークを用途別に分離して定義することにより,制御テストフレームワークを独自の記述に変更する事も容易である.提案するテストフレームワークを serverspec と名付けた.
著者
宮下 剛輔 栗林 健太郎 松本 亮介
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.61, no.3, pp.677-686, 2020-03-15

システムの大規模・複雑化にともない,サーバの構築・運用を効率化するために,サーバの設定状態をコードで記述する手法が数多く提供されている.それらの手法を効率良く扱うプロセスとして,テスト駆動開発の手法をサーバ構築に応用したProvisioning Testingという手法が提案されている.この手法を支援するテストフレームワークもいくつか登場しているが,あるものは特定の構成管理ツールに依存,またあるものはOSごとの違いを自ら吸収しなければならないなど,汎用性に難がある.シェルコマンドを直接記述する必要があり,可読性に難があるものも存在する.そこで本論文では,生産性や保守性を向上するために,サーバの設定状態を汎用的かつ可読性の高い宣言的なコードでテスト可能なテストフレームワークを提案する.提案手法では,汎用性を高めるために,OSや構成管理ツール固有の振舞いを整理して一般化し,運用業務で発生するコマンド群を体系化・抽象化した汎用コマンド実行フレームワークを定義する.続いて,テストコード記述の抽象度を高め可読性を上げるために宣言的な記法で汎用コマンド実行フレームワークを操作できる制御テストフレームワークを定義する.これにより,管理者がOSや構成管理ツールの違いを気にすることなく,可読性の高いコードでサーバの設定状態を容易にテストできるようになり,サーバの運用・管理コストを低減できる.提案するテストフレームワークをServerspecと名付けた.提案手法の評価は,生産性,保守性に加え,拡張性,実装公開後の影響の4つの観点で行った.