自動テストはどのように進化したのか? 自動テストと寄り添ってきたAutifyが考える「これからの自動テスト」とは
【13-B-2】自動テストの世界に、この5年間で起きたこと
Autifyが正式リリースされて丸5年が経過。現在は「Autify NoCode Web」と名称が変わったが、変わったのは名称だけではない。5年前のユーザーペインをどう解決し、自動テストはどのように変化したのか。リリース前夜から5年間にわたってAutifyの進化を見てきた、Autify クオリティエバンジェリストの末村拓也氏が紹介した。
正式リリースから5年、Autifyが解決した3つの課題
Autifyは2016年、米サンフランシスコで近澤良CEOら創業メンバーによって創業。日本支社は東京・中央区東日本橋にオフィスを構えている。2019年から、テスト自動化ツール「Autify」を正式リリースした。今年で丸5年が経過し、2024年6月より「Autify NoCode Web」と名称を変更し、さらに多くのエンジニアから愛されているソリューションへと進化している。
Autify NoCode WebはAIを用いたノーコードテスト自動化ツール。特徴は大きく2つ。一つは「ノーコードなので誰でも簡単にエンドツーエンド(以下、E2E)テストが作れること」(末村氏)。もう一つはAIが自動でメンテナンスをしてくれること。
3分でわかるAutify NoCode
3分でわかるAutify NoCodeでAutify NoCodeのより詳しい情報を手に入れることが可能です!詳細はこちら
末村氏は、Autifyがリリースされた当時のソフトウェアテストに対する課題を3つ挙げて、Autifyの特長を語った。
第1の課題は「テストコードの作成が面倒」。ここでのテストコードとは、E2Eでユーザー自身のジャーニーが端から端まで達成できるようなテストができること。この当時、自動テストの技術はそれほど成熟しておらず、ソフトウェアの外向けの振る舞いをテストしなければならないはずが、「idやclassなどの内部構造を要素探索のキーにするのが一般的で、エンジニアはテストコードを書くたびに、毎回、DevToolsと格闘していた」と末村氏は明かす。
第2の課題は「テストコードのメンテナンスが大変」。E2Eのテストは開発が全て完了し、統合されたシステムに対して実施される。そのためステージングなどの統合環境で実行されることが多かった。「開発が全部完了してからテストコードを回そうとしたら、変更した箇所にテストコードが追いついていないことに気づき、駆け込みで修正を余儀なくされてしまうことになる。そういうメンテナンスの問題があった」と末村氏は話す。
これらの2つの課題に対して、Autifyが提供したソリューションの一つがノーコードだ。ノーコードは、ユーザーがUIを操作するのと同じ感覚でテストを作ることができる。そこで同社では、「Autify Recorder」というレコードアンドリプレイ(レコードアンドプレイバックとも言う)型ツールを提供し、操作した内容が自動で記録されていくというアプローチを採用した。「スクリーンショット付きで見やすかったため、UI自動テストにおいて大きなアドバンテージだった」と末村氏は話す。その一方でこのアプローチは、「不安定になりがち」という批判を抱えていたという。
それを解消するために同社が提供したのがメンテナンスAIである。レコーデイング時のタグ名、アクセシブルロール、idやclassなどの内部属性、文言、その他さまざまなメタ情報を元に、DOM上の一番近い要素を探索するというようなアプローチを採用した。
第3の課題は「環境構築と運用が大変」。エンジニアがやりたいのは、ただブラウザを起動してユーザーがやりたいことをそのままテストすること。それに対して、複数のブラウザを動かす環境やSeleniumなどの自動化ドライバー、テストフレームを動かすサーバ、CircleCIなど、いろいろなものを準備する必要があった。E2E自動テストの仕組みを見ればわかるが、「E2E自動テストは本質的に複雑」と末村氏は言う。本当に見つけたいバグは、Webサイトとブラウザの互換性のバグなのに、「自動テストフレームワークのデバッグからはじめないといけないこともあった」(末村氏)。
この課題に対して、Autifyが掲げたのが「Out of the box」。Autify NoCode Webではまさしく「箱から出してすぐに」クラスブラウザテストができる。「ユーザーが契約したら10分以内にクロスブラウザテストを定期実行できるようになる」と末村氏は言い切る。
この記事は参考になりましたか?
- Developers Summit 2025 セッションレポート連載記事一覧
- この記事の著者
-
中村 仁美(ナカムラ ヒトミ)
大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
提供:オーティファイ株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
