T-DASHを使ったAndroidアプリの自動テストに関する記事です。
Qiita Advent Calendar 2024 【今年もT-DASHを使ってみた! by T-DASH Advent Calendar 2024】の24日目の記事になります。
- T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その1)
- T-DASHのモバイルアプリの自動テスト機能をAmazon EC2で実行する手順(その2)
- 今度こそ!T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その3)
- 動かせるのか?T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その4)
- ファイナル!T-DASHを使ってGemini最新版を使ったAndroidアプリの生成AI自動テストを行う手順(その5)
今年のアドカレではT-DASHについて色々と検証を行いました。最近ちょうど自動テストツールの検証を行っているタイミングでしたので、タイミング的にとても良かったです。
そんな中、利用している中で「こんなことを実現できるとよりよいツールになりそう」というエンジニア視点のアイデアがあるのでこの記事で書き出していきたいと思います。T-DASHを開発されている皆さんや他の自動テストツールを開発している皆さんにも読んで頂けると嬉しいです。
T-DASHとは?
一言でいうとノーコードのテスト自動化ツールです。競合のツールとしてはMablやAutifyがあります。
T-DASHの特徴としては
日本語で書いたテストケースがスクリプトになる
というのが特徴となっています。この記事ではコストや機能で競合ツールと比較したわけではありませんが、月額4,840円というのはテスト自動化をノーコードで始めるにはお手軽な価格帯に設定されていると思います。
Github Actions連携
近年Githubの普及により、ソースコードの管理はGithubで行われている事が多いです、中でもGithub Actionsという機能があり、例えばソースコードのプッシュやPRの作成などのタイミングでシステムを実行できるようになります。API周りであったり、Webのアプリケーションの場合はGithub Actionsを連携させて自動テストを行うことが多いです。同様にモバイルアプリ環境においても自動テストがクラウド上にて実行できると良いと思いました。
Github連携すると開発サイドとして嬉しいことは、日々の開発のフローの中に自動テストが含まれるということになります。今までは検証を経てからではないとリリースまで止まってしまうということもありましたが、開発フローの中で自動テストが実行されることにより、迅速なリリースが実現できるようになります。
アクショントリガー&定期実行機能
自動実行を行う仕組みが提供されていると嬉しいです。
【アクショントリガー】
- Github Actionsでapkをビルド
- T-DASHにAPI経由でファイルを渡す
- T-DASHアプリではAPI経由でファイルが渡されたのを検知
- 新しいapkが配布されたらローカルPCにapkをダウンロード
- 最新のapkでリグレッションテストが自動的に始まる
- 自動実行結果をSlackに通知
ということが実現できるとアクショントリガーとして素晴らしいです
クラウドサービスの提供
今回の検証では私はAmazon EC2のWindowsインスタンスを作成し、実行することにしましたが、なかなかハードルが高い作業になります。ユーザーの裾野を広げるためにはテストする環境もクラウド上に用意し、ログインするとすぐに何処かで自動テストが実行できるようなサービスとして提供されると嬉しいです。
クラウドサービスとして提供しなかったとしてもAWS マーケットプレイス上にてT-DASH実行用のセットアップが行われた環境があると嬉しいです、そうすることで、AWSコンソール上での複雑な操作は不要になり、AWSモジュールを実行するだけで誰も今すぐに利用開始することが出来ます。
サンプルコードの提供
T-DASHの拡張として利用可能なサンプルコードの提供があると嬉しいです。カスタマイズをしてみようと思いましたがどこから手を付ければよいのかわからず、今回は見送ることにしました。おそらく、AppiumのPythonで実行するコードなどを見ればよく分かるのですが、とりあえず動いている状態のものがあるととても嬉しいです。
カスタムのマーケットプレイス
Pythonで自由にカスタマイズすることが出来ますが、これを例えばChrome拡張のようにマーケットプレイスとして提供し、他の方が作成したプラグインも簡単に利用できると良いと思いました。現在のT-DASHでは機能的に汎用的な部分が多いですが、一歩踏み込んだ実装を簡単に取り込めるようになるととてもサービスとしての価値が高まります。
Inspectorの拡張
xpath等の設定は手間がかかるもので、それをコピーして取得するのも手間がかかります。大量のテストケースを作成する場合は特にその作業自体が膨大なものになりますので、画面でポチポチと操作すると勝手にxpathが入ってくれるような仕組みになっていると嬉しいです。
クラウド化が実現できた場合
端末をリモートで使えるサービスがあると嬉しいです。テストをする場合、大量の実機を用意してテストを行っていきますが、古いバージョンまで検証しようとすると端末も増えて、自社で完結するには難しいということも多いです。その場合にクラウドを経由して必要な期間だけオンラインで確保できるような仕組みになっていると良いです。
まとめ
T-DASHは使い込むほどに新たな発見があるとても良いサービスです。基本的にはノーコードに特化しているのでエンジニアリングが不要で様々な環境や機能を利用できるようになるとより良いサービスになると思います。
またどこかで機会があればT-DASHを改めて検証してみたいと持っております。