Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
メタモルフィックテスティングでMBT気分
Search
Shinsuke Matsuki(snsk)
January 20, 2025
Technology
27
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
メタモルフィックテスティングでMBT気分
Shinsuke Matsuki(snsk)
January 20, 2025
More Decks by Shinsuke Matsuki(snsk)
See All by Shinsuke Matsuki(snsk)
品質定義の組織レベル
snsk
0
67
LLMチャットボットの評価モデル
snsk
0
37
ゲームのテスト設計のチャレンジ
snsk
0
63
JSTQB Conference2023 基調講演2
snsk
0
27
Other Decks in Technology
See All in Technology
20260807_第6回_関東kaggler会LT_claw系bot xangiと始める、"寂しくない" kaggle
sugupoko
0
320
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
270
少人数チームで実現する、大規模AWSサーバーレス基盤における"揺らがない"信頼性運用
maimyyym
1
110
FDEの心得
noriakioji
5
6.2k
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
250
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
20分でわかるセキュアAPI
nwiizo
2
300
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
630
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
220
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Site-Speed That Sticks
csswizardry
13
1.4k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Marketing to machines
jonoalderson
1
5.7k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Ethics towards AI in product and experience design
skipperchong
2
340
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
270
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Speed Design
sergeychernyshev
33
2k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
240
Transcript
メタモルフィックテスティングでMBT 気分 @snsk
トーカー ベリサーブの品質エンジニア と、R&D部門のお世話係。 すごい人達がクラウドサービス開発とか 技術推進とか、先端技術研究とか、 いろいろやってくれてます。
メタモルフィックテスティング? • テスト対象の入出力の突き合わせ、入出力の関係性の変化に着目してテストモデ ルを構成するテストのアプローチ • テストデータ x と、x を加工した x'
を入力したときに得られる y, y' の間に関係式が 成立すれば、それを「メタモルフィック関係」 と呼べる • テストオラクル(≒期待動作)を得にくい状況で活用できる • テストデータの自動生成、テストの自動実行がしやすい • 画像認識で活用されるケースが多いけど、本来は画像に限った話ではない
画像分類におけるメタモルフィック関係? • 概ね、Typicalとされる画像に対して任意の画像変換をかけたとき(x')、変換前の画像 の判定と信頼度が大きく変化しないことを期待動作とするケースが多い • つまり、どれぐらい意味のある変換を行うか?がポイント 紅白饅頭 モノクロの紅白饅頭 饅頭だけグレースケール化 X
X' Y Y'
やってみた • 犬と猿とキジを見分けるモデルを作成する • この画像においては、精度0.999993で「犬」と判定するモデル
モデル このモデル構成はkerasのCifer10の exampleに昔あったもの。いまなぜか 無くなっているが、多くの画像認識の チュートリアルで未だに多く採用され ている。 https://github.com/keras-team/keras /blob/master/keras/benchmarks/ker as_examples_benchmarks/cifar10_
cnn_benchmark_test.py#L39
OpenCVチュートリアルに見る画像変換の種類 • 色変換 ◦ BGR(RGBの24bit表現) ⇔ Gray変換、BGR ⇔ HSV(色相/彩度/明度)変換 •
幾何変換 ◦ スケーリング、回転、並進、アフィン変換(並行性を保つ)、射影変換(直線性を保つ) • しきい値処理 ◦ 単純しきい値、適応的しきい値、大津の二値化 • 平滑化 • モルフォロジー変換 ◦ 膨張、収縮 画像変換って他にも山ほどあると思いますが、とりま。 http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_table_of_contents_i mgproc/py_table_of_contents_imgproc.html#py-table-of-content-imgproc
持ち手とユースケースから考える有効な変換種別 ユーザーがお供3匹と出会うシーンにおいて「意味がありそうな」= 変換後に判定結果が変わってしまったら困 りそうな変換種別を考える
メタモルフィック関係の整理 オレンジ枠が意味のある メタモルフィック関係の元ネタに
本当は Scene: Momotaro meets a dog Distance Angle Angle Obstacle
Device: Momo Eyes Auto Focus Visual acuity 2.0 このような環境、デバイスのシミュレーションからノイズとなる要素を取り出したい。 実際、自動運転の開発では街、道路、人、モノなど現実空間のシミュレーションが盛ん。
メタモルフィック関係の整理:テストケースクラス
メタモルフィック関係の整理:インプリ
テスト結果 明度 拡縮 並進 誤判定をした場合、accをゼロにしているので、底に張り付いているときは何かおかしい
MBT気分の仕掛け 先ほど設定したテストケースクラスをJSONのまま読み込む
MBT気分の 仕掛け テストケースクラスの 指定に従った変換画像を生 成。テストデータの生成ともい える。
MBT気分の仕掛け 先ほど生成する際にファイル 名に連番を付けておいたの で、そのまま読み込んで判定 してグラフにプロットする。この とき、誤判定は信頼度をゼロ にしておくと結果が明らかで見 やすい
ポイント • メタモルフィック関係に基づいて画像変換のスケールをいろいろ試すときに便利 ◦ MLOpsに組み込みやすいとか • メタモルフィックテスティングにおいて、少なくとも画像認識のそれにおいては、期待 動作が一意に設定しやすいので、モデルベースドテストが適用しやすい • 回帰分析系のモデルにおいては、期待動作をメタモルフィック関係から導く仕組み
が必要 ◦ 例えば、不動産の売却額を求めるモデルで駅徒歩が 1分下がるごとに売値が N十万円上がる、など • 構造化テキストはYMLのほうが良かった気がする ◦ JSONだと欲しいデータへの PATHが長すぎて意味不明に
参考文献 • [1] 機械学習システムのためのメタモルフィックテスティング入門 - Qiita https://qiita.com/tokumoto/items/cd3d17cae3b099badaf6 • [2] Dwarakanath,
Anurag, et al. "Identifying implementation bugs in machine learning based image classifiers using metamorphic testing." Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM, 2018. (https://arxiv.org/abs/1808.05353) • [3] 佐藤 直人 (著), 小川 秀人 (著), 來間 啓伸 (著), 明神 智之 (著), 「AIソフトウェアの テスト――答のない答え合わせ [4つの手法]」, リックテレコム, 2021