banner

ブログ

Jun 11, 2023

テスターとして機械学習システムにどのように貢献したか: 機会、課題、学習

InfoQ ホームページ アーティクル テスターとして機械学習システムにどのように貢献したか: 機会、課題、学習

2023 年 2 月 16 日 10 分で読む

による

シヴァニ・ガバ

によってレビュー

ベン・リンダース

テストはソフトウェア開発ライフサイクル (SDLC) において重要な側面であると考えられているため、アプリケーションの品質を保証するためにテスターが関与します。 これは、Web アプリケーション、モバイル アプリケーション、Web サービスなどを含む従来のソフトウェア システムにも当てはまります。

しかし、機械学習に基づくシステムについて疑問に思ったことはありますか? そのような場合、テストは後回しになります。 たとえテストが行​​われたとしても、それはほとんど開発者自身によって行われます。 このような領域ではテスターの役割が明確に描かれていません。

テスターは通常、ML ベースのシステムを理解し、そのようなプロジェクトでどのような貢献ができるかを探ることに苦労しています。 そこでこの記事では、テスターとして ML ベースのシステムの品質を保証する私の軌跡を共有します。 私の課題、学び、成功事例を紹介します。

ほとんどのテスターと同様に、私も Web アプリ、ネイティブ アプリ、バックエンド、マイクロサービスなどを含む従来のシステムのテストに参加してきました。このようなシステムでは、入力が取得され、人間 (主に開発者) によってロジックが作成され、決定的な出力。 テスターとしての私たちの焦点は、指定/暗黙の要件に対して予想される出力を検証することです。

興味深いことに、数年前、私は ML ベースのレコメンデーション システムをテストする機会を得ました。 従来のシステムとは大きく異なるので、楽しみと同時に不安もありました。

ML システムでは、パターンを含む大量のデータが入力として与えられます。 それがモデルに供給され、モデルがロジックを学習して、これらのパターンを発見し、将来のイベントを予測します。

品質を保証するにはテストが重要です学んだ論理 。 そこで私は、この学習プロセスと学んだ論理モデルによって? このロジックをテストすることは可能でしょうか? モデルは完全にブラックボックスなのでしょうか?

そういった疑問がたくさん頭の中にあったので、探求して学ぶことに興味がありました。 ジェットコースターに乗る準備は万端でした:)

興奮と早く貢献したいという好奇心から、私はほとんどの人がするであろうことを実行しました - テストのアイデアを Google で検索してみよう! 私が参照したほとんどのリソースは、精度、再現率、混同行列などのモデル評価指標を指していました。私にとっては専門用語のように感じられました。 正直言って、私には理解できませんでした。 しかし、私が中途半端な学習内容を開発者に持ち帰ったところ、彼らはすでにこれらの指標を考慮に入れていると言われました。

開発者が自分たちの分野に精通していることがわかりました。 テスターとしてインパクトを与えるには、彼らが見逃していた視点を取り入れる必要がありました。

私たちテスターは、適切な質問をする、全体像を理解する、既成概念にとらわれずに考える、より深い製品知識を適用する、現状に挑戦するなどの優れたスキルセットに恵まれています。 ML システムをテストすれば、多くの問題を防ぐことができます。

また、システムがどのように機能するのか、構成要素が何であるのかさえ理解せずに、何かをテストしようとしていたことに気づきました。 ただし、システムをより適切にテストするには、これが最初のステップである必要があります。

私は、協力してシス​​テムを深く理解し、あらゆるフェーズでテスト スキルを適用するために、開発者とこのアプローチについて話し合いました。

当初はテスターを搭載することに懐疑的だった開発者も、この計画を聞いて興奮し、私が提供できる価値を期待していました。

私はチームと一緒に、機械学習では、特定のパターンを持つ膨大なデータセットが収集され、フィルタリングされ、モデルに供給されることを理解しました。 モデルはこれらのパターンを特定し、将来のイベントの確率を予測します。

共有