AIがソフトウェア開発・テストに与える影響
レスポンシブ ウェブ デザインやモバイル ファーストがアプリケーションの開発やテストの中心だった時代は終わりました。今は、以前に比べて飛躍的に複雑になった AI ベースのアプリケーションの時代です。
近い将来、AIはすべてのソフトウェア製品やサービスに浸透するでしょう。エンジニアのスキルもそれに合わせて適応していく必要があります。AIによって、社内での現在の役割は大きく変化するでしょう。ソフトウェア開発やテストも例外ではありません。今から準備が必要です。
AIとの連携
AIの動作は通常ブラックボックスです。アルゴリズムがどのように様々な関係を形成し、意思決定をおこなうか人間には分かりません。人間は入力/出力の組み合わせからなる様々なデータセットをAIに提供し、AIはデータセットから学習します。そして、AIシステムが正しい意思決定をおこなっているかどうかを確認するために常に人間が学習プロセスを監視します。
AIに意思決定を合理化させる実験がおこなわれたのはごく最近のことです。しかし、この研究はまだ初期段階にあり、外の世界に一般化できるまでには時間がかかるでしょう。大抵の場合、何千ものデータセットから異なるパターンを特定するために AI モデルの使用が試みられています。
AIとの連携がブラックボックスであることを考えると、開発者やテスターはどのようにAIシステムと対話すべきなのでしょうか? それにはいくつかの方法が考えられます。
より包括的なデータセット
AIモデルの学習に使用するデータセットは、多様であり、異なる組み合わせを含むようにする必要があります。たとえば、色々な画像から Webページのボタンを検出するAIモデルを構築するのであれば、あらゆる形状のボタンの画像とボタンではない画像をデータセットに含め、データセットを多様なものにする必要があります。そうすることで、様々な画像からボタンを検出するAIモデルはより賢くなります。この手法は、正常系と異常系の両方のテストをおこなうためのテスト用データを作成するのと似ています。
プロセスの監査
企業や組織では、定期的に監査を実施することで、AIモデルが多様なデータセットで訓練され、学習が期待通りに行われていることを確認する必要があります。これは、AI ベースのシステムが本番環境にリリースされた後、ユーザーに悪影響を与えることがないように、開発者やテスターが行うべき重要なステップです。
敵対的攻撃のテスト
AIベースのシステムは攻撃を受けやすいものです。異なる画像から特定のオブジェクトを検出するAIベースのシステムがある場合、画像の数ピクセルを変更してAIモデルの学習を歪めることが可能です。最終的には、このシステムが本番環境でリリースされると、システムが期待通りに動作せず、人間に危害を加える可能性さえあります。
同様に、自動運転車を訓練する場合、落書きやステッカーが貼られた一時停止標識の画像をAIモデルに与え、そのような停止サインをシステムが認識できるようにすることが重要です。これらは、AI ベースのシステムと対話する際に心に留めておくべきエッジケースです。
AIは私たちの仕事に影響を与えるだろうか?
今後、より多くの仕事が自動化され、それにともない、労働者のスキルアップが求められることになります。中でも最も大きな影響を受けるのは、組立工場やファストフード産業など、予測可能な環境にいる労働者でしょう。
開発者やテスターに関しては、彼らの仕事は安全であると思われます。彼らの仕事の多くは創造的で探索的なものであり、結局のところ、AIデータセットが多様化していることを確認したり、AIモデルの学習プロセスを常に監視したり、”未知” に分類されたデータ結果を分析したりするために、人間が必要とされることに変わりはありません。そして、AIベースのシステムをテストするためのテスターも依然として必要とされるでしょう。
開発者やテスターの仕事がなくなる可能は低いとはいえ、自分のスキルを磨いたりオープンな気持ちで新しい技術を学んだりするために、必要な対策を講じる必要があります。好奇心を持ち、創造的であり続け、時には批判的に考えることが、私たちを人間らしくさせ、アルゴリズムや機械と一線を画すものにする本質です。 私たちは、毎日のように新しい技術が次々と登場し、目まぐるしく変化していく世界に追いついていかなければなりません。このことを念頭に置いておかないと、AIの登場の有無に関わらず、私たちは時代遅れになってしまうかもしれません。
作者について:
Raj Subrameyerは、国際的な基調講演者、ライター、およびキャリアコーチであり、技術的なバックグラウンドを豊富に持っています。 彼のBlog(rajsubra.com/blog/)では、読者の生活に役立ち、インスピレーションを与えるニュース、リソースを投稿しています。
(この記事は、開発元 Ranorex 社 Blog 「The Impact of AI on Software Development and Testing」2020年3月2日の翻訳記事です。)