
mablの「Experience Japan 2021」というイベントのキーノートで、mabl創業者兼開発トップのDanと、アトラシアン者のPOが「データとインサイト」について話しているのを聞いて、テスト自動化というものを次の段階に進めるとそうなっていくんだろうなぁと感じました。そのための最初の一歩として、mablのBigQuery統合を試してみました。
BigQuery統合とは? – BigQuery Integration

mablはさまざまなツールと統合(Integration)できます。統合とは、CI/CDのパイプラインや、開発プロセスに組み込むことです。
たとえば、前述の「Experience Japan 2021」のM3さんのセッションでは、「CI/CDや開発プロセスに組み込まれたテスト自動化は生き残り、それ以外は自然消滅してしまう傾向がある」と、とても興味深い内容を示唆されていました。
統合は、テスト自動化だけでなく、開発プロセス内のアクティビティを、より精度高く、より確実に行うために、必要不可欠なアクションと言えます。
BigQuery統合は、数ある統合の中のひとつです。継続的にデータを蓄積し、その活用を支援します。
BigQuery統合を設定する(BigQuery側の設定)
BigQuery統合の設定はとても簡単です。ただ、BigQuery側の準備がいくつか必要になります。

まず、BigQuery用のプロジェクトを作成します。ここでは「mabl-data」というプロジェクトIDにしました(プロジェクト名ではない)。
次に、mablがBigQueryにアクセスできるように、専用のサービスアカウントを編集者権限で追加します。詳細は公式ヘルプのBigQuery統合(日本語訳しておきました)もご確認ください。
次に、BigQueryがSandboxになっていないかを確認します。mablのBigQuery統合は、Sandboxでは動かないので、支払情報を追加し、アップグレードを完了させる必要があります。
BigQuery統合を設定する(mabl側の設定)

mabl側は、Settings > Integrations から設定を行います。作業はとても簡単です。
BigQuery側で命名したプロジェクトIDを入力し(ここでは mabl-data)、出力先のデータセット名を入力します(ここでは mabl_export)。テーブルのプレフィクスとして「mabl」を入力し、保存すれば完成です。
「Redact Personal Information Fields (e.g. emails)」というのは、個人情報部分をどうするかの設定です。詳細は公式ヘルプのBigQuery統合を確認ください。

設定が終わるとステータスが「Pending」になります。試しにテストをクラウド実行すると・・・

上記のようにステータスが「Success」に変わりました。
もし、BigQuery統合をSandboxにつないでしまった場合、接続失敗というステータスが表示されます。その場合は、一度、mabl上からBigQuery統合を削除して、BigQuery側のアップグレードを済ませてから、再度、BigQuery統合の設定を進めてください。
BigQuery上でデータを確認する

BigQueryをのぞいてみると、テーブルが自動作成されているはずです。

データもこのように保存されています。
データスタジオを使ってデータからインサイトを得る

データを活用しインサイトを得るためには、BIツールなどを利用します。ここではBigQueryと相性のいいデータスタジオを利用しています。
まずは、データスタジオで利用するBigQueryのデータを選びます。ここでは mabl_journey_run というテスト実行結果テーブルを選んでいます。それ以外にもPlanごとの実行結果テーブルや、テスト失敗時の原因分析情報テーブルも選べます。それぞれのテーブルの詳細は、公式ヘルプのBigQuery統合をご確認ください。

ピボットテーブルを使い、縦軸はテストとその結果、横軸に実行日時を設定し、テスト結果ステータスごとで、失敗したテストは赤、成功は緑・・・というように書式設定してみました(参考: データポータルで条件付き書式ルールを使用する)。
こうすれば、どのテストが不安定かがひと目で分かり、対策をうつ判断や、自動テストを諦める判断ができます。いろんな切り口で情報をまとめ、「品質ダッシュボード」として日々確認していく方法も取れます。

単純にテストの成功率を知りたいのであれば、mablのカバレッジページから確認もできます。

「データとインサイト」は、テストや品質にも活用できます。テスト自動化においてはテスト実行結果がデータとして収集でき、可視化してインサイト(示唆)を得ます。

それらのインサイトから人間が判断をします。AIやMLの文脈でよく言われる「人間にしかやれないことをやる」わけです。
データとインサイトの活用で、テスト自動化や品質活動はさらに一歩前進します。