WebのUIテストツールでMablというのを知ったので、調べた
調べると、Mabl はただ単にWebのUIテストツールというだけではなく、デプロイしたり、デプロイ環境を変えたりすることができることから品質エンジニアリングプラットフォームという位置付けられるらしいが、ソフトウェアテストの自動化に焦点を当てているのでUIテストツールという認識でも間違ってはなさそう
主な特徴
- ローコードアプローチ: Mablはローコード環境を提供しており、プログラミングの専門知識がなくてもテストを作成できるため、開発者だけでなくQAエンジニアやビジネスアナリストも利用しやすい
- クラウドベース: Mablはクラウドベースのプラットフォームであり、インフラストラクチャを管理する必要がなく、スケーラビリティと柔軟性を提供する
- 自動テストの記録と再生: ユーザーはウェブアプリケーションの操作を記録し、それを基に自動テストを作成できる
- AIと機械学習の活用: AIと機械学習を活用して、テスト結果の分析や問題の特定を行い、テストのメンテナンスを容易にする
- CI/CDとの統合: CI/CDパイプラインと統合されているため、開発プロセスの一部として自動テストを実行することができる
もう少しコアな機能の話は@sumirenさんの記事を参考にする
記事で気になったのは実行環境で、mablには、mabl Cloudというクラウド上でテストを実行するのと、自分のPCやCI環境内で動かすローカル実行があるらしい
個人情報やセキュリティが気になる場合はより閉じた環境になるローカル実行を使うという判断になりそう
あとは、自動修復が気になったので追加で調べた
Mablの自動修復機能とは、AIを活用してテストの信頼性を向上させ、テストメンテナンスの負担を軽減するための機能
主な機能は以下
- AIによるオートヒーリング: AIを利用して、UI要素の変更に対応するためのオートヒーリングを実現。これにより、手動でテストを更新する際に起こりうるヒューマンエラーを排除する
- 高度な自動修復: AIを活用して、UI要素の意味と目的を理解し、アプリケーションが大幅に変更された場合でも堅牢な自動修復を提供する。例えば、ボタンのテキストが変更された場合でも、意味的に類似したテキストを持つ要素を特定し、自動修復を行うことができる
- クラウドとローカルでの実行: 自動修復はクラウド環境だけでなく、ローカル環境でも機能する。ローカル実行でも、同じモデルと設定を使用して自動修復を試みる
まだどんな感じに修復されるのかわからないが、書いてある通りならすごい便利そう
cypressやplaywrightとの違い
MablとCypress、Playwrightの主な違いは以下
Mabl
- ローコードプラットフォーム: Mablはローコードの自動テスト作成を可能にし、AIを活用してテストの自動修復を行うことができる
- AI機能: AIを活用して、テスト結果の分析や問題の特定を行う
- クラウドベース: クラウド環境での実行が可能で、インフラ管理の手間を省ける
Cypress
- JavaScriptベース: CypressはJavaScriptを使用してテストを記述
- リアルタイムリロードとデバッグ: テストのリアルタイムリロードやデバッグ機能が充実している
Playwright
- マルチブラウザ対応: Chromium、Firefox、WebKitなど複数のブラウザをサポートし、クロスブラウザテストに強みがある
- 強力な自動化機能: 複雑なユーザーインタラクションやネットワーク操作をシミュレート可能
- コードベースのテスト作成: コードベースのテスト作成をサポートし、開発者向けの柔軟なテスト環境を提供
MablはローコードとAI機能とクラウドベースというところに強みがありそう