システム本部デベロッパーエクスペリエンス室のQAエンジニア、伊藤由貴(@yoshikiito)です。
カカクコムのシステム本部では、システムテストの自動実行にmablというツールを使っています。
導入に至った経緯や活用方法などはFindy Toolsに掲載されているmablの導入効果・課題感レビューをぜひご覧ください🙌
複数チームでmablを使ううえでの課題
われわれシステム本部には7つの開発部があり、まだすべての部ではありませんが複数の部およびチームでmablを共同利用しています。
共同利用にあたって、いくつかの課題があります。
ひとつは、月間実行回数の制限をどう分け合うかです。
QAエンジニアとしては組織内での自動テストやツール活用はどんどん拡大していきたいのですが、mablは契約プランに応じて「月に*回のテスト実行」といった上限が決まっており、これを超過すると1実行あたりいくら、という形で費用が発生します。 そのため、複数チームで利用する場合は各チームがどのくらい使っているのかを常に把握しつつ、全体として月間実行回数を超えそうな場合は周知をする必要があります。
もうひとつは、チーム間でのテストやフローへの相互干渉をどう防ぐかです。
ひとつのワークスペースで複数のチームがそれぞれのサービスをテストすると、テストシナリオやテスト結果、そしてフロー(共通関数のようなもの)など他チームのものも見える状態になります。これらは、誤って編集や削除をしてしまうと困りますし、工夫をしないと自チームのものが埋もれて見えづらくなるという懸念があります。
これらの課題に対して、カカクコムのシステム本部ではいくつかの工夫をしています。
本記事では、mablの機能を活用したTipsについてご紹介します。
アプリケーションフィルターで表示を絞り込む
テスト対象(=アプリケーション)を登録すると、画面の右上からフィルタリングができます。
ここでアプリケーションを絞り込むことで、
- テスト
- テスト結果
- プラン
などの画面上の情報を該当アプリケーションに関するものに限定できます。 これによって、間違って他のサービスのテストを編集してしまった!などの事故を防ぐことができます。
システム本部内ではmablの利用開始時には私がデモ&説明をしています。説明の際にはこのフィルター機能に必ず言及し、基本的には担当サービスでのフィルターをオンにして使ってもらっています。
APIで実行回数を取得
以前このブログでもご紹介した、レポーティングAPIを用いてアプリケーションごとの実行回数を取得し、日次で利用者に対して通知しています。
参考:mablのアプリケーション毎の実行回数をレポーティングAPIで取得する - カカクコムTechBlog
mablのUI上でも各アプリケーションの実行回数を見ることはできるのですが、 「直近◯日間」といった単位でしか見ることができないので、現状APIで取得するしかないかと思います。
エコーと説明の編集でテスト内容を把握しやすくする
テスト手順に沿ってUIを操作すると記録してくれるのがmablのメリットですが、記録をしただけの状態だとテストステップの内容がわかりづらくなっています。
↑こんな感じです。
そこで、
- エコーステップで見出しを設定
- ステップの説明を編集する
の2つの工夫でテスト内容の把握がしやすくなります。
まずはエコーステップの見出し設定です。
mablトレーナーを起動して、ステップの追加から「エコー」を選択します。
自由な文字列を設定できますが、ここでMarkdown記法の見出しのように#
, ##
, ###
の3つを設定できます。
たとえば # 見出しの文字を入力
と入力してOKを押すと、大きな文字での見出しが挿入できます。
この見出しを使うと、テストシナリオ中の一定の操作のまとまりごとに区分けできるので、テスト全体として何をしているのかの流れが追いやすくなります。
また、この他にも各ステップの説明内容を変更するのも、可読性向上に有効です。
たとえば上記画像中には、
2 Set viewport size to width 1920 and height 1080
というステップがあります。
ウィンドウサイズを1920*1080にする操作なのですが、この説明をダブルクリックすると編集ができます。
自動設定されたステップでも読めば理解できますが、日本語で書いてあげると、より「誰でも理解できる」状態になります。
1つ注意なのは、このステップの説明部分はEnterキーを押下するとその瞬間に確定してしまうので、Enterを押さずに入力しなければなりません。Enterを押すとその時点で確定されるので、その場合は再度ダブルクリックして編集しましょう。
これらの工夫で、テストシナリオ・ステップの可読性があがります。可読性が上がると、チーム内でのやりとりが効率化されるほか、他チームで該当アプリケーションに詳しくない人が見てもわかりやすくなります。結果として、複数チームでmablを使う際に「他ではどんなテストを自動化しているんだろう」と参考にしやすくなるでしょう。
まとめ
今回は複数チームでmablを使う際のTipsとして、
- アプリケーションフィルターで対象を絞る
- APIで実行回数を取得し、チームごとの実行状況を可視化する
- テスト内容を把握しやすくする
をご紹介しました。
mablのようなツールは、社内で実績が出ると横展開して皆で効率化したくなりますよね。その際に既存のユーザーと新規ユーザーとがスムーズに共存できるような機能がmablには備わっています。
これから導入する方や、複数チームに広げていきたいという方はぜひ参考にしてみてください。
また、カカクコムのシステム本部ではmablなどのツールを活用しつつ、さまざまなアプローチで品質向上に取り組んでいます。開発組織全体に対して広く関わりたい方、組織立ち上げフェーズからJoinしたい方などぜひご応募ください!