開発

自然言語で操作するE2E試験基盤e2e登場

自然言語でウェブと携帯用件を操作する試験基盤e2eが公開。記録再生でモデル呼び出しを抑える設計だ。

9分で読める SINGULISM 編集チームが確認・編集

自然言語で操作するE2E試験基盤e2e登場
Photo by Mohamed Nohassi on Unsplash

自然言語で目的を記述すると代理機能が応用を操作する end-to-end 試験基盤 e2e が公開された。 GitHub Trending の tester-army の報道では、ウェブ用件と携帯用件を同一の記法で駆動できる点が示されている。 検証は位置指定子と表明を同一試験内に置く方式である。 開発者は振る舞いの指示と結果の確認を分離して記述できる。

e2e is an end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent drives the app to reach it.

上記は公開文書が掲げる定義である。 応用の画面遷移を手続き的に書き下す必要はない。 目的を言葉で与え、到達結果を符号で確かめる構成だ。 従来の自動操作と意味的判定を組み合わせた設計である。

公開された用例では、請求設定画面を開いた後に代理機能が上位案への変更を実行する。 請求の按分表示を意味的に確認し、状態表示の文言を厳密に表明する。 操作の柔軟性と判定の厳密性を両立させる意図が読み取れる。 受入試験の記述量を抑える狙いがある。

自然言語で操作する試験の仕組み

代理操作と位置指定による検証を同一試験に置ける点が特徴である。 試験は応用を開く処理、代理による操作、代理による確認、厳密な表明で構成される。 画面の細部が変わっても目的文が有効な場合は追従できる。 文言の一致が必要な箇所は位置指定子で固定できる。

代理による操作は、利用者の言葉に近い粒度で記述する。 例えば案の変更や請求の事前表示の確認を一文で指示する。 実装者は要素の選択や待機を逐一記述しない。 操作の成否は後段の表明で裏付けられる。

意味的確認と厳密な表明の併用は保守性に寄与する。 画面文言の揺れは意味的確認が吸収する。 料金状態や権限状態など確定すべき値は厳密に比べる。 曖昧さを残さない二層の検証である。

この発想は配布試験基盤の整備とも重なる。 GNOME OS Test Center、Apple TestFlightに着想が示したように、試験の配布と実行を切り離す動きが続いている。 e2e は記述と実行の分離を自然言語層で進めるものだ。 試験資産の再利用性を高める方向である。

記録再生でモデル呼び出しを削減する仕組み

後段の表明で検証された代理手順は動作が記録される。 次回実行では応用に変更がない限り記録を再生する。 再生時はモデル呼び出しを行わない設計である。 費用と所要時間の削減を狙った仕組みだ。

代理手順を含まない試験は最初からモデルを必要としない。 通常の位置指定と表明だけの試験は従来通り実行できる。 意味的操作が必要な箇所だけ代理機能を使う分担である。 全体の実行費用を見積もりやすくする配慮である。

モデルは利用者が持ち込む方式である。 契約中の加入、API 鍵、局所モデルを使える。 特定の基盤への閉じ込めを避ける設計だ。 組織の方針に合わせて選択できる。

判定の実行には限定された意味動作のための機構が用意される。 @e2e-dev/decision は有界な意味動作と意味表明を担う。 無制限な生成ではなく範囲を区切った実行である。 試験の再現性を確保する意図があると見られる。

ウェブと携帯両対応の実行基盤構成

ウェブ用発動機構は Playwright を経由して動作する。 Chromium と Firefox と WebKit に対応する。 複数閲覧器での挙動差を同一試験で確かめられる。 表示崩れや機能差の検出に役立つ構成だ。

携帯用発動機構は模擬器と仮想器で動作する。 iOS の模擬器と Android の仮想器に対応する。 agent-device を経由して操作する構成である。 実機群を用意しない段階の検証に向く。

遠隔実行の選択肢も用意されている。 @e2e-dev/kernel はウェブ用に代行される閲覧器を提供する。 @e2e-dev/eas は携帯用に代行される模擬器と仮想器を提供する。 局所資源が乏しい場合でも並列実行しやすい。

GitHub 向けの報告機能も提供される。 @e2e-dev/github は結果を引合要求の注釈として投稿する。 変更ごとに結果を可視化できる。 査読と試験結果の突合せが容易になる。

実行環境の多様化は計算基盤の変化とも関係する。 Intel PISA導入 Nova LakeでLEO既定化は実行形態の既定値が見直される事例である。 試験基盤も局所と遠隔を使い分ける方向にある。 Intel Thermald 2.5.12、ARMに初期対応のように命令体系の広がりも進む。 多様な環境での検証需要は増している。

導入手順と利用状況送信の扱いの詳細

導入は npx e2e init から始める。 対話形式で発動機構とモデル提供者を選択する。 設定文書と雛形試験が自動生成される。 詳細は公開の早道文書にまとめられている。

e2e 本体は SDK と実行器と CLI を含む。 試験の記述、実行、初期化を同一包で扱う。 文書は e2e.tester.army/docs で公開されている。 本体包は全文書を同梱し、符号化代理が離線で読める。

文書を node_modules/e2e/docs に置く手法は特徴的である。 外部接続なしに代理が仕様を参照できる。 社内網での利用や再現環境での参照に向く。 文書駆動の開発様式と相性が良い。

CLI は匿名の利用状況データを送信する。 対象は実行した命令や発動機構、失敗位置などである。 試験内容や応用内容、資格情報は含まない。 無効化は npx e2e telemetry disable か E2E_TELEMETRY_DISABLED=1 で行う。

送信項目の一覧は Telemetry 文書で公開されている。 何を送るかを事前に確認できる。 組織の審査を通しやすい開示である。 既定で有効な点には注意が必要だ。

開発段階と利用上の留意点の整理

e2e は 1.0 到達前の積極的開発段階にある。 API と設定は副版の間で変わる可能性がある。 長期運用の試験資産には覆いを設ける工夫が要る。 版固定と変更履歴の追跡が欠かせない。

開発母体は TesterArmy である。 同社は自然言語試験を引合要求ごとや定時に実行する基盤を手がける。 e2e はその基盤の中核を切り出した位置付けである。 許諾は Apache-2.0 である。

貢献方法は CONTRIBUTING.md にまとめられている。 質問の場として Discord が案内されている。 脆弱性の報告は公開討議ではなく SECURITY.md に従う。 連絡先として security@tester.army が示されている。

運用では記録再生の無効化条件の把握が重要になる。 応用の変更で再生が破棄され再びモデルが動く。 費用と時間の変動要因になる。 変更頻度が高い画面では影響を見積もる必要がある。

意味表明の合否基準も運用で定める必要がある。 厳密な表明と意味的確認の境界を設計する。 料金や権限など確定値は厳密に比べる。 説明文の揺れは意味的確認に任せる分担が有効だ。

編集部の見解

短期的には、受入試験の自動化対象が拡大すると見る。自然言語による操作記述は、画面遷移の試行錯誤を減らす効果がある。既存のPlaywright資産と併用する事例が増えると評価する。

長期的には、試験保守の主戦場が記録再生の安定性に移ると見る。意味的判定の導入は、厳密な表明と柔軟な確認の使い分けを促すと評価する。携帯端末群での実行基盤が整えば、端末断片化への対応が進むと言えそうだ。

残る論点は、判定の再現性と責任分界である。模型が関与した合否を工程がどう承認するのかが問われている。記録再生の無効化条件を誰が定義するのかも論点になると見る。

参考

よくある質問

e2eは従来のPlaywrightによる試験と何が違うのか
目的を自然言語で指示し代理機能が応用を操作する点が異なる。結果は位置指定子と表明で厳密に確かめる。後段で検証された手順は記録され、次回は再生実行で model 呼び出しを抑える。
e2eの実行にモデルは必須なのか
代理手順を含まない試験はモデルを必要としない。代理操作や意味的確認を使う場合のみモデルが必要になる。契約中の加入やAPI鍵、局所モデルを持ち込んで使う方式だ。
e2eは商用利用や長期運用に向くのか
許諾はApache-2.0で商用利用できる。ただし1.0前の開発段階でAPIと設定が変わる可能性がある。版固定や変更履歴の管理、記録再生の無効化条件の把握が運用上の要点になる。
出典: GitHub Trending

コメント

← トップへ戻る