CI/CDというキーワードを聞かない日がない今日この頃ですが、人力でのテスト方法が定着し、それを超える生産性が保証できないうちはチャレンジできない現場や、どうしても人間がテストを行わなくてはならない場面があります。
と知った風な口をききましたが、上記は私のケースで、ちょうど今、人力テストから自動テストへの過渡期にあり、両方のテスト方法が並存している状況にあります。
今回は、複数の人間がテストを行う場合に、気を使ったところを残していきます。
テストの条件
- サーバの数が、WEBサーバ、APサーバ、DBサーバ、その他通信先サーバなど合わせて、8サーバあり、1サーバにつき1コンテナとなっています。
- テスターは、各自のPCにてテストする必要があルため、コンテナの操作を行ってもらう必要がありそうです。
複数のコンテナを簡単に扱いたい
テスターにdockerコンテナを使ったテスト環境を構築してもらうために、どのようにして各自のマシンに構築してもらうかを考えました。
- テスターがdockerコマンドを打つ。
- 上記コマンドが記述されたバッチファイルやシェルスクリプトを配布して、テスターはバッチファイル等を実行する。
- composeファイルを配布し、テスターはdocker-composeコマンドを打つ。
考えたというか、結局上から順にやった結果、docker-composeが一番スマートでした。
頭のいい人が考えたものは違います。
例えば、WEB-AP-DBの環境を起動する場合、下記コマンドで行えてしまいます。
docker-compose -f [composeファイル] up -d
これだけで、下記が行えてしまいます。
- WEB,AP,DBのイメージのpull
- 各イメージからコンテナの作成
- 決められたコンテナの起動順
テスターはdockerの事は意識せずにテストに専念できますね!
ここまで書きましたが、わざわざ書くような記事ではなかったかなとも思います。