当ブログは YAMDAS Project の更新履歴ページです。2019年よりはてなブログに移転しました。

Twitter はてなアンテナに追加 Feedlyに登録 RSS

AI栄えてQAエンジニアが儲かる? 話はそんな単純ではない

www.oreilly.com

FastCompany の「AIによってコーダーは王様でなくなる。皆の者、QA エンジニアを称えよ」という記事にマイク・ルキダスがコメントしている。

彼は FastCompany の記事は読む価値あるし、(タイトルは釣りっぽいが)その議論は概ね正しい、と認める。生成 AI がどんどんコーディングに利用されるようになり、でも AI はミスを犯すので、QA(品質保証)チームの重要性が増すというわけだ。もちろん生成 AI の信頼性はこれから上がるに違いないが、バグ取りの問題はなくならないので、テストとデバッグの重要性が増すのは間違いない。

さて、そこで問題となるのは、AI はテストにどの程度使えるのかということ。AI がテストスイートを作るとしても、それにバグが含まれるならそのテストは意味あるのか。「テストが難しいのは、優れたテストは特定の動作を検証するだけではないからだ」とルキダスは書く。それにテストが複雑になるほど、問題は大きくなる。

それにバグというのは、些細なポカミスだけではない。仕様を誤解するのもバグだし、顧客のニーズを満たさない仕様を正しく実装してもそれはダメだ。仕様を AI に読み込ませることもできるが、顧客が本当に望んでいることまで AI に分かるのか?

セキュリティも問題だ。AI はファジングテストに向いてそうだし、ゲームをプレイする AI が「チート」を発見することもある。それでも、テストが複雑になるほど、ソフトウェアをデバッグしているのか、テストをデバッグしてるのか分からなくなる。デバッグがコードを書くことの倍は難しいからだ。

それにプログラミングを巡る文化の問題もある。ルキダスがかつて働いていた会社では、QA に配属されるのはどちらかというと降格を意味し、優秀だけどチームとうまく働けないプログラマーが回される傾向にあった。その文化は変わっただろうか? それを AI に任せるとして、文化はどう変わるか。

そもそも、いくら QA を優先しても、解決すべき問題を十分に理解しないプログラマーは問題を解決できないという普遍的な問題は変わらない。それにプログラマーがコーディングに費やす時間は、全体の20%に過ぎない。その20%の時間を AI が半分にしたとしても、それは重要ではあるが革新的とまでは言えない。生成 AI が(解決すべき問題を理解して)テストの質を落とすことなくテストを書く助けとなれば、それは大きな前進となろう。

ルキダスは以下のように文章を締めくくっている。

ソフトウェア開発者は、テストと QA にもっと多くの時間を割く必要がある。それは当然の話だ。しかし、AI から得られるのが、我々が既にできることをやる能力だけならば、我々は勝ち目のない勝負をやってることになる。勝利する唯一の方法は、解決すべき問題をより良く理解することに落ち着く。

うーん、常識的な意見に着地した感があるが、AI を使ったからといってそれから簡単に逃れることはできないということでしょうね。

[YAMDAS Projectトップページ]


クリエイティブ・コモンズ・ライセンス
YAMDAS現更新履歴のテキストは、クリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際 ライセンスの下に提供されています。

Copyright (c) 2003-2023 yomoyomo (E-mail: ymgrtq at yamdas dot org)