この記事は「テスト自動化ツールT-DASHの良い点・悪い点をレビューしてみた! by T-DASH Advent Calendar 2022」の18日目の記事です。
今年はアドベントカレンダーの存在をすっかり忘れてしまっていて、気がついたのが15日でもう半分以上終わっていましたとさ。今年は会社のアドベントカレンダーは諦めて、パブリックなアドベントカレンダーに参加しようと思い投稿します。
今年のシンプルウェイの目標の一つにテストの自動実行があったですが、目標達成ならず道半ばで頓挫してしまいました。原因はいろいろ考えられるのですが、典型的な原因としては
- 既存のUIテストが手動で行わており、既存のテスト運用を維持しながら自動化のための作業時間を十分に確保できなかった
- SeleniumかLaravel Duskでやろうとしていたので、テストをコード化できるエンジニアが限られてしまっていた
という点が挙げられるかと思います。
ところで、T-DASHというサービスを今回のアドベントカレンダーで初めて知りました。ノーコードでテストを作成・運用できるということで、上記の問題のソリューションになりそうだなと気がついたので、実際に触ってみてメリット・デメリットを考えながらうちの会社で使えそうか検討してみました。
メリット
日本語でシナリオを書ける
これがやはり最大のメリットですね。
テスト自動化って結局プログラム組むことなんですよね。でもプログラム書ける人はプログラマーとして開発チームにアサインしたいのですよ。そうするとテストエンジニアは非プログラマーの集まりになってしまうんですよね。
非プログラマーにテストの自動化コードを書かせるのは非常に障壁が高い! でも、日本語でシナリオを書けるというのはその障壁を取っ払ってくれるのではないかと思います。
また、日本語で書けるというのは既存のテストシナリオを移行しやすくもなります。シンプルウェイのUIテストはGoogle スプレッドシートで管理されているので、加筆・修正していくだけでT-DASHのインポート機能で取り込めそうです。
ツールがローカルPCで実行される
シンプルウェイの場合はプロキシが利用できることが重要です。一部のウェブシステムはクライアント企業のローカルネットワーク上に構築されているので、納品前のチェックはクライアント企業のネットワークにVPN接続しつつプロキシ通して通信する必要があります。
他のノーコードテストツールにクラウド上で実行されるものがありますが、これだと上記のシステムには使えないことになってしまうので、うちの会社にとってはアドバンテージです。
デメリット
機械的な起動に対応していない
シンプルウェイではタスクの自動化にJnekinsを使っているので、機械的にテストを始めたいのですよ。デプロイしたら即テストしたい。
テスト自動化が行えたら次はCI/CDに組み込むことを誰もが考えるのではないかと思います。そのためにはコマンドからテストを開始できるような仕組みが必要かなと思います。
ちょうど別のアドベントカレンダーに「T-DASHのテストシナリオ実行を自動化出来るかやってみた!」とうい記事が投稿されていますが、いまは無理やりな方法しかないのかなと垣間見えます。
Linux版が提供されていない・ヘッドレスモードで動かせない(?)
機械的な起動に関連しますが、CI/CDに組み込むならテスト実行用のマシンでバックグラウンドで実行したいのですよ。
テスト実行マシンにわざわざWindows用意するのもなぁという感じなので、Linuxで動かせるといいなと思いますね。内部的にはPython使っているみたいなので、不可な要望でもなさそうにも思いますが。
また、バックグラウンドで実行するなら画面が見える必要はないので、ヘッドレスモードで動かしたいですね。これはできるのかどうか調べきれていないので、あくまで憶測での要望ですが。
ブラウザの操作記録機能がない
他のノーコードテストツールの売りにブラウザの操作記録機能があるものがあるようですが、これはすごく魅力的な機能だと思います。
まだテストシナリオが整備されていないシステムでツールを利用したいと思ったとき、ブラウザの操作だけでシナリオが自動作成されてかつ日本語化できたら夢のようなのに!
ということで、ざっと一日T-DASHを使ってみて確認できたことからメリット・デメリットを挙げてみました。
うちの会社で使えそうか、ということについては、MAY(使うこともできる)ですかね。ノーコードテストツールを知ってから他の製品も調べてしまったので、ブラウザの操作記録機能がすごくいいじゃん!って思っているのですよね。
まだまだ新しいサービスのようなので今後の発展に期待したいところです。ブラウザの操作記録機能ぜひ実装お願いします!