AIの鬼
#開発・実装 Zenn AI

読まない技術 第3回:単体テストを読まない技術 ― AIのテストは実装の写しになる

読まない技術 第3回:単体テストを読まない技術 ― AIのテストは実装の写しになる(内容を表す図ではないイメージ画像)
イメージ

連載「読まない技術」第3回は、AIが書いた単体テストを読まずに点検する方法を扱う。AIは実装とテストを同時に書くため、テストが実装の写しになりやすい。実装の出力をそのまま期待値に貼る、モックの中で実装と同じ計算をする、といった形で、通っているのに何も守っていないテストが生まれる。筆者は自身の本番プロジェクトでこの状態を見つけて直した経験をもとに書いており、テストのコメントには修正の跡が26か所残っていたという。 AIの鬼の視点で言えば、緑のチェックマークは答案を書いた本人が採点する試験に似ている。本人が採点すれば満点は当たり前だ。ここで面白いのは、テストコードを読んで「ちゃんとしている」と判断する作業そのものが、写しに騙されやすいという指摘である。読む目は実装と同じ前提で動くから、同じ誤りを見逃す。だから筆者は読むのではなく壊して確かめよと言う。実装の一行を意図的に変えてテストが落ちるかを見る。落ちないなら、そのテストは最初から何も見ていなかったことになる。変異テスト(mutation testing)は一般に手間が大きいとされるが、ここでは全件ではなく数か所だけをAI自身に選ばせる抜き取りとして使う点が現実的な割り切りになっている。 中小企業の実務では、AIに作らせたシステムの「テストが通った」という報告を、そのまま安心材料にしないことが第一歩になる。明日からは「今日書いたテストに、境界値を一か所だけ壊す変更を入れて、それでも落ちるか確かめてほしい」と頼むだけでよい。全部落ちても安心しきらず、一件でも通ってしまった箇所が見つかれば、その部分だけを仕様から書き直させる。

※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。

御社でもAIを使ってみませんか
まずはここから 御社でもAIを使ってみませんか? 御社の実際の業務を題材に、AIで何ができるかを一緒に考えます。 「ChatGPTの使い方」を教えるだけの研修ではありません。 AI研修・AI活用相談 →