全2914文字
PR

 接触確認アプリ「COCOA」のAndroid版を「無用の長物」にする不具合が4カ月以上放置されていた問題は、厚生労働省のテストに対する姿勢の課題を浮き彫りにした。取材を進めると起こるべくして起こった問題であると分かった。

 実はCOCOAの不具合が長く放置されてきた問題は、今回が初めてではない。初期バージョンにあった通知機能のバグの修正に3カ月を要するなど、不具合の発見と修正が遅れる傾向が続いていた。COCOAのリリースから7カ月たつが、ほぼ常に何らかの不具合を抱えている状況が続いている。

COCOAのバグ改修の経緯。通知に関わるバグが続いている
2020年6月19日バージョン1.0を公開。1カ月間は施行版との位置付け
6月30日バージョン1.1.1。陽性登録に使う処理番号の入力機能を修正
7月13日バージョン1.1.2。処理番号の入力機能を修正(処理番号が登録できないバグ)
8月上旬エムティーアイに保守開発を委託
9月8日バージョン1.1.3。接触判定が大きくばらつく場合があった不具合を修正
9月24日バージョン1.1.4。通知とアプリ画面とで接触判定処理が一部異なっていた不具合を修正
2021年2月3日バージョン1.1.4の修正で、Android版では濃厚接触が確認できないバグが生じていたことを確認

 不具合の発見と修正が常に遅れる最大の原因は、厚生労働省が発注者としてテストを甘く見ていた点にある。発注先のベンダーにも責任の一端はあり、厚労省は限られたリソースの中で懸命に各種システムを早期にリリースしようとしている。

 しかし、厚労省は自ら実施するはずの受け入れテストの環境を持たず、ベンダーからの各種報告の「レビュー」だけで済ましていた。レビューでアプリの「動作確認」ができていたと判断していた点は看過できない。

省かれていた「実機を用いたテスト」

 2021年2月3日に厚労省が認めた今回のバグは、2020年9月28日に実施した「1.1.4」へのバージョンアップで発生した。バージョンアップでの修正箇所は、陽性登録者と濃厚接触した可能性を通知するものの、アプリ画面では『接触がない』と表示されてしまう場合がある、というバグだ。

 しかしこの修正で今回のバグを埋め込んでしまった。接触リスクを判定するパラメーターの値はiOSとAndroidでは「尺度」が異なるものの、誤って同じ値に修正してしまったとみられる。これによりAndroid版COCOAでは陽性登録者との濃厚接触があってもそれを検知できなくなった。

 この不具合は4カ月あまり見逃されてきた。この間もアプリ利用者や独自にアプリを解析した開発者はたびたび不具合の可能性を指摘しており、2021年1月にはそれらを基に複数のメディアが不具合の可能性を報じた。

 ここでようやく厚労省が動く。「報道などを受けて、実機を用いたテストをベンダーとともに実施した」(COCOAを担当する厚労省健康局結核感染症課)ことで、ようやく通知に関するバグに気がついた。

 COCOA開発において、ベンダーは模擬的な環境でアプリの機能をテストしていた。ただ、1.1.4に限らず、それ以前からリリース時に実機を用いたテストをしないケースが多かったという。

 厚労省は上記のようなベンダーのテストのやり方を認識していた。だが厚労省側とベンダー側の両方で実機を用いたテストをしていない点を、品質上のリスクと認識していなかった。