Kompira Greac の通信量測定を Kompira Enterprise でやってみた

こんにちは。株式会社フィックスポイントのよしだです。

今回の勉強会では、QA業務のテスト作業について画期的な方法で結果を得ることができたため、試行錯誤した道のりも含め発表がありました。

具体的には、弊社新製品 Kompira Greac の通信量測定を、これまた弊社製品の Kompira Enterprise を活用して行った、という内容です。

フィックスポイントの Values にも掲げられている「真剣にサボろう」を体現したエピソードにもなっていますので、テスト実施者のちょっとした心情も併せてご紹介します!

はじめに

テストの過程の話に入る前に、今回のテスト内容について触れておきます。

今回の目的は、リモートアクセスサービスである Kompira Greac の1セッションに何人ユーザが参加するとどのくらい通信量が発生するのか、を測定することでした。

ちなみに、本記事にて登場する Kompira Greac や Kompira Enterprise 等、フィックスポイントの製品については下記リンクより確認できますので、詳細を知りたい方は是非ご覧ください😊

www.kompira.jp

それでは、実際にどのような過程を経てテストの自動化を成し遂げたのか、見ていきましょう!

初回(挫折)

前項にも記載した通り、このテストでは一つのセッションに対して、たくさんの人が参加している状況を作る必要がありました。

最初はひとりで複数ユーザ分の操作を行ってセッションに参加し、その場合の通信量を測ってみることにしました。

ところが、この方法はすぐに頓挫することとなります。

理由は、担当者の使用している一般家庭の NW 回線と PC にかなり負荷がかかってしまい、目標人数まで到達できなかったためです。ご近所にも迷惑がかかりますしね。

f:id:aqui_jasmine:20220315133909p:plain

本来の目的を果たせなかったため、この方法で行うことは諦めることとなりました😔

2回目(人力時代)

2回目を実行するにあたり、前回の反省を生かして NW が強い環境にてテストを行うことにしました。

そのつよつよ NW がある場所といえば会社…つまり出社しての作業です。

たしかに実際出社して試してみると、想定通りの動きが確認できました。

しかし、やはりリモートワークが基本となっている当社としては、もっと気軽に出社せずに実施したいと考えました。
さらに当時は8月、テスト実施者としても、真夏の太陽を浴びての出社はあまり積極的にしたくありませんでした。

そこで、出社せずとも同じ動作ができるよう、下記の仕組みを考案したのです。

  • セッション参加は1人(担当者)以外、一般家庭よりはだいぶ強力な社内 NW 内に配置したサーバを経由して行う

  • 実施者は Greac ではない画面を遠隔操作できるサービスを使用し、上記 サーバ に接続した上で、複数ユーザ分の操作を行う

f:id:aqui_jasmine:20220315134958p:plain

これにより、テスト実施者の手元 PC では1ユーザ分の操作のみとなり、残りの部分は社内の別サーバと NW が担当してくれているため、出社したときと同じテストができるようになりました🎉

3回目(Kompira Enterprise時代)

2回目での試みにより、出社はせずともテストは可能となりましたが、ここでもいくつかの難点が挙げられました。

  • 手動で複数ユーザ分の操作を行うのが煩わしい
  • 通信量測定と解析のためのコマンドを手動で打つのが面倒
  • Excel のグラフで結果を集計するのに手間がかかる

総じて「めんどくさい」という感想で括れるものなのですが、このままでは終わらせませんでした。

そうだ、自動化しよう

ここで登場するのが、Kompira Enterprise です。

Enterprise を活用したことにより、Webブラウザでセッションたくさん開くところから通信量測定用のコマンドを実行して結果回収、その後の集計までををまるっと自動化することに成功しました。

さらっと一文で書いてしまいましたが、実際に行ったことは以下の通りです。

  • 複数ユーザの操作

    1. playwright(ブラウザを自動操作するライブラリ) を使用してセッション参加を自動化で行うためのスクリプトを作成
    2. 1を Kompira Enterprise のリモートコマンドで実行
      • 2のマシン(今回は ubuntu)には ssh で接続
  • 通信量測定用のコマンドを実行と結果回収

    1. 上記のブラウザ操作が終わったころを見計らい、Kompira Enterprise で Kroker に ssh 接続
    2. 結果解析用のコマンドを実行。結果の文字列を回収
  • 結果の集計

    1. 回収してきた文字列を解析し、Kompira Enterprise のオブジェクト DB に保存
    2. 1を python を使って適当にグラフに変換
      • 今回はmatplotlib&pandas を使用
    3. オブジェクト DB のデータを表に成形、グラフ画像を貼り付けた wiki ページを作成

f:id:aqui_jasmine:20220315135041p:plain

ご参考までに実際の画面も記載しておきますね。

  • テスト開始指示を出すフォーム

f:id:aqui_jasmine:20220315135317p:plain

  • フォーム実行後、全部終わると結果へのリンクが表示される

f:id:aqui_jasmine:20220316103431p:plain

  • クリックするとレポートに飛ぶ

f:id:aqui_jasmine:20220315135149p:plain

このような流れで出社もせず、ボタンひとつで通信量測定を実行・結果集計まで見られるようになりました。

ちなみに、これらは3時間くらいで作成できたそうです!

非エンジニアからすると本当にすごいとしか言いようがないです😳

参加者の反応

今回の発表を聞いた参加者の反応です。

やはり社内からもすごい!素晴らしい!といった声が挙げられていますね。

また、冒頭でも記載したとおり、まさしく Values の「真剣にサボろう」を成し遂げた例だと感じた方も多くいたようです😊

f:id:aqui_jasmine:20220304144454p:plain

最後に

今回は、テスト作業を見事自動化した例についてご紹介しました。

ご紹介したまでのものに加えて、終了通知を Slack にする、といった進化も考えているそうです♪

本記事にて自動化への興味が少しでも湧きましたら幸いです😌





株式会社フィックスポイントでは、一緒に働いてくれるメンバーを募集しています!

詳細は、こちらをご覧ください。