PaPoo
cover

フィーチャーは終わっても、テストは終わらない

この記事を読んでまず思ったのは、「ようやくその話を正面から書いてくれたな」ということだった。
UI automation って、やろうと思えばできる。でも実際には、仕様を読む、画面を確認する、locator を選ぶ、既存の framework に合わせる、パイプラインで落ちた理由を探す……と、地味な作業がずっと挟まる。そこを AI assistant に手伝わせる、という発想はかなり自然だと思う。

ただ、読んでいて面白かったのは、著者が「AI に test を書かせたい」と言っているようでいて、実際には「証拠集めを先にやらせたい」と言っているところだった。ここはかなり大事だと思う。
単に「invalid email の UI test を書いて」と投げるのと、Jira、Figma、GitLab、Playwright から根拠を集めさせてから test を作らせるのでは、出てくるものの質が全然違う。後者だと、AI が勝手に今の実装に寄せてしまう危険を少し抑えられる。仕様上は blur でエラーが出るのに、実装は typing 中に出ている、みたいなズレを見つけたときに「じゃあ実装に合わせて assertion を変えよう」と流れないで済む。そこをちゃんと問題として扱っているのが好ましかった。

一方で、読んでいて少し引っかかったのは、これが便利になればなるほど、結局 human review の重みはあまり減らないんじゃないか、という点だった。著者自身もそこは認めていて、locator の確認も test の意味の確認も必要だと言っている。つまり AI は仕事を消すのではなく、前半の面倒をまとめて肩代わりするだけに近い。
それでも価値はあると思う。特に、feature を見ているその瞬間に regression coverage を一緒に作れるのは大きい。後から「なんでこの test が必要だったんだっけ」と思い出す作業は、意外とつらい。そこを先延ばしにしない設計は、現場感がある。

逆に言うと、この記事は「AI で UI automation が簡単になる話」というより、「automation を delivery の外に追い出さないための話」だったように読めた。
派手ではないけれど、かなり実務的だと思う。AI の使いどころを、コード生成そのものではなく、文脈の収集と判断材料の整理に置いているのがいい。生成された test が green でも、その green が本当に意味のある green かを見続ける姿勢がある限り、このやり方はかなり筋がいいのではないかと思う。


参考: The Feature Shipped. The UI Automation Didn’t.

同じ著者の記事