Benjamin Bischoff氏は、開発者にとって、新しいツールは古いツールよりずっと興味深いという。新たなテクノロジーやアプローチが学べ、仕事道具の幅が広がる機会が得られるからだそうだ。しかし、何十年も前からあるツールを使えば、時間と予算を節約できる。ツールを評価する際には、ツールにいきなり飛びつくよりも、解決すべき問題を理解することが重要である。
Benjamin Bischoff氏は、QA Challenge Acceptedで、時代に左右されないテストツールを使う意義について講演する。このカンファレンスは9月28日にブルガリアのソフィアで開催される。
Bischoff氏は講演で、新しいツールを選り好む際に働くバイアスについて議論する。
例えば、「サンクコスト効果」があります。これは、多くの時間とお金を投資した場合、新しいツールを使いたくなることを意味します。これには、ツール自体や教材に費やす予算だけでなく、トレーニングの時間も含まれます。そのため、欠点に目をつぶり、賢明な判断ではないが、そのツールを使い続けてしまうことがおこりうるのです。
Bischoff氏によれば、何十年も前からあるツールを使う主な理由は慣れである。すでに使い慣れたツールであれば、そのツールを使うことでトレーニングの時間と予算を大幅に節約でき、また目標達成もより早くなる。加えて、新しいツールにはない、これらのツールの潜在的な問題点についての理解も深まる。
新しいツールは、本番で使用すると突然限界が生じ、大幅な追加作業が必要になることがあります。
Bischoff氏は、適したツールを見つけるには、どのツールがどの状況に最適かを明らかにすべく、徹底した情報収集と概念実証の作成を提案している。
APIテストツールを探していたとき、異なるツールで概念実証を3種類作成、比較しました。当時の私は、Karateフレームワークに好意的な印象をもってはいませんでした。しかし最終的には、このフレームワークを使ったスピーディーで上々な成果に納得させられました。今思えば、私に十分な知識がなかったゆえの偏見に過ぎませんでしたが、それも概念実証の段階で変わりました。
Bischoff氏によれば、充分な疑いの目を持つことを忘れずにいると、目のくらむのような謳い文句に動じない助けになるという。結局のところ、特定のものをすぐに使うということではなく、何が必要なのか、どうすればテクノロジーを最大限に活用できるのかをより正確に分析することが重要なのだ。
InfoQは、テスト課題とそれに対処ツールの使用についてBenjamin Bischoff氏にインタビューし、AIツールにまつわる体験談を伺った。
InfoQ: 主にどのようなテスト課題に直面したか?
Benjamin Bischoff氏: 私はこれまででいくつかの異なるテスト課題に直面してきました。特に、"テスト要件のマッピングをどうすればいいか?"、"このタイプのテストにはどのような技術的選択肢があるか?"といった技術的課題です。もちろん、ツールも含まれています。
例えば、APIテストを簡素化するツールが必要でした。Karateフレームワークは、シンプルなシンタックスでありながら、拡張オプションのおかげで非常に柔軟であるため、ここで有用性が証明されました。UIベースのエンドツーエンドのテストでは、Seleniumがリモートブラウザコントロールとして我々の条件を満たしてくれました。デスクトップとモバイルの両方のプラットフォームが操作でき、複数のタブやウィンドウのあるウェブサイトなどの機能が動作することが重要でした。また、他の多くのソリューションとは異なり、ブラウザ内では実行されず、外部ユーザーの正確なシミュレーションが行えるソリューションを求めていました。
一方で、テスト自動化エンジニアやQAエンジニアといった特定の役職や彼らの目標や目的に対する偏見のため、困難もありました。しかし、こうした問題は、時間と経験とともに解消されていきました。
InfoQ: このような課題に対処するために、どのようなツールを使っているか?また、どのように使用しているか?
Bischoff氏: UIベースのエンドツーエンドのテスト戦略では、主に自社製のSeleniumテストフレームワークを使っています。私にとっては、このテクノロジーは、大々的に宣伝されている新しいツールよりもまだ多くの利点があります。主な利点は、W3CのWebDriver標準を使用しているため、すべてのブラウザがそのままサポートできる点です。カスタムブラウザのバージョンが必要なく、Javascriptのコンテキスト内で実行する必要もありません。 つまり、実際のユーザーと同じように動作するということです。まさに、我々が求めていたものでした。
例えば、我々は、CI/CDコンテキストでBashとMakeも使っています。ここから多くの経験を得ており、迅速な目標達成が可能です。
もちろん、我々は、定期的に新しい技術やアプローチにも目を向け、それらを私たちのテスト戦略に統合できるかどうか、またどのように統合できるかを検討しています。例えば、テストフレームワークに関しては、PlaywrightやCypressも検討しましたが、前述の理由から最終的には見送りました。しかし、将来的に興味深いツールが見つかれば、既存のソリューションと置き換えることに何の抵抗もありません。ただし、投資したリソースを上回る付加価値が得られる場合に限ります。
InfoQ: AIツールを通じて何が得られたか?
Bischoff氏:仕事でもプライベートでも、日常的にAIツールを使っています。開発や自動化には、Github Copilot、Google Gemini、ChatGPTを使うことが多いです。ある分野ですでに経験がある場合、これらのツールは本当に役立ちます。しかし、自分が何を必要としているのか、それをどのように表現すればいいのかを正確に知っておく必要があります。さらに重要なのは、提案された解決策が意味をなさない場合やハルシネーションが疑われる場合を知り、それをフォローアッププロンプトで表現することです。
徐々にではありますが、フィードバックを重ねるごとに、より多くの有用なアイデアや解決策がAIツールから得られるようになります。私はいつも、AIツールは高度なゴムアヒルのように扱わなければならないと言っている。