4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

テストレポート用ツールのTesultsを触ってみたところ、ものすごく簡単に自動テストの結果をダッシュボード化できた

Posted at

image.png

自動でのシステムテストを実行した結果をどう集計し、チームで見られる状態にするのか、悩みどころです。
(特にSeleniumなど特定のダッシュボードが無いツールの場合)

ということで、たまたま見つけた

Test automation reporting for teams

とうたっているTesults - Test automation reporting app, dashboard and toolingを触ってみました。

まだ深く突っ込んだ使い方はしておらず、本記事中では

  • アカウントを作り
  • ダッシュボードに自動テストの結果を流してみたうえで
  • 気になる点をドキュメント上で調査

までを行っています。

※見ればわかりそうなところは画像等省いていきます。

アカウント作成

まずはTesults - Test automation reporting app, dashboard and toolingの画面にある"Try free now"を選択します。

  • メールアドレス
  • パスワード
  • 名前

を求められるので入力。

送られてきたメールのリンクをクリックして本登録するタイプでした。

プロジェクト作成

スクリーンショット 2022-04-15 233436.png

「プロジェクト」と呼ばれる単位のものを作成します。

image.png

上は公式サイトで表示されている画像ですが、一番左上の「Galaxy Mapper」がプロジェクトに相当し、その下に"Target"という概念でiOS-debugやらiOS-releaseやらが存在しています。

ここではプロジェクトを作ればよいので、Create a projectのリンクを選択します。

スクリーンショット 2022-04-15 233610.png

名前はなんでも良さそうです。pytest-trialにしました。
※後で確認したら日本語でもいけました

スクリーンショット 2022-04-15 233621.png

そしてプランを選べと言われるのでFreeを選択。

スクリーンショット 2022-04-15 233740.png

無事プロジェクトの作成が完了し、tokenが発行されます。

このあと、テスト結果をTesultsに送るためにこのトークンが必要になるので、控えておきます。
※regenereateも可能です

テストの実行環境の設定

ここからはテストの実行環境、今回はローカルでpytestを使うパターンで設定します。

公式サイトによると、かなり幅広い言語・フレームワーク・ツールに対応しています。

image.png

私は会社で使っているから、という理由でpytestを選びました。

言語やフレームワークごとの環境構築方法は

Tesults - Getting Started

に書いてあるので基本従えばOKです。

pytestの場合

  1. pip install tesults
  2. pip install pytest-tesults

だけでした。テストコード自体には手を入れずに、このあとの実行までできました。

テストの実行と結果の反映

準備ができたので、自動テストを動かしてみます。

実行結果をTesultsに反映させるのは簡単で、前項で控えておいたtokenを使って、

pytest --tesults-target eyJ0eXAiOiJ...

のようにテストを実行するだけ、です。

もちろんコレは一番愚直な方法で、Tesults - pytest Test Frameworkによると、例えばpytest.inipyproject.tomlなど、フレームワークごとに一般的な設定ファイルの書き方を使い、トークンを別で持たせておくことももちろんできます。

テストの実行後、Tesultsに結果を反映する処理が走ります。
うまくいっている例が以下。

============================================ 1 failed, 7 passed in 18.46s ============================================= 
Tesults results uploading...
success: True
message: Success
warnings: []
errors: []

Tesultsを見てみると、結果が入っています。

スクリーンショット 2022-04-17 224814.png

pytestのparametrize(データ駆動テスト的なもの)をやったので、テストのNameがヘンになってしまいました。

スクリーンショット 2022-04-17 224830.png

個別のケースの結果を見ていくと、エラーログ等が出ていることがわかります。

この他にも、

image.png

Associated Bugs、Cost、Taskなどの項目に対し、実行後任意の設定が可能なようです。

その他の機能や気になったこと

エビデンス(画像やログファイルなど)は残せるのか

If you want to save files such as logs and screen captures, provide the absolute path to the top-level directory where this data is saved for the running test run. Files, including logs, screen captures and other artifacts will be automatically pushed to Tesults.

(Google翻訳)ログや画面キャプチャなどのファイルを保存する場合は、実行中のテスト実行のためにこのデータが保存される最上位ディレクトリへの絶対パスを指定します。ログ、画面キャプチャ、その他のアーティファクトを含むファイルは、自動的にTesultsにプッシュされます。

と記載があり、フォルダ構成を指定することでアップが可能なようです。

マニュアルテストとの統合

まだ試していませんが、手動テストもあわせて管理できるようです。

Tesults - Manual Results Guide

正直手動テストケースをこのツールに登録して一緒に管理することで何か幸せになるイメージが湧いてません。

おわりに

Allureなど、自動テストのレポートをグラフィカルに出してくれるものはこれまでもあったものの、いまひとつ盛り上がりに欠ける感がありました。

このTesultsは、これまで自分が触ったツールの中では最も、導入部分が易しいように感じました。

ドキュメントもサッパリしている()し、設定も少ない。でも対応しているフレームワークやツールが多いということで、
クラウドサービスで自動テストの結果を集約することがOKなチームであれば、検討の余地は充分あるのでは、と感じました。

自分でももう少し突っ込んで使ってみたいところです。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?