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
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジ...
Search
Tetta Noguchi
September 11, 2025
Programming
6.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
DroidKaigi 2025
Tetta Noguchi
September 11, 2025
Other Decks in Programming
See All in Programming
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
250
スマートグラスで並列バイブコーディング
hyshu
0
290
act1-costs.pdf
sumedhbala
0
210
初めてのKubernetes 本番運用でハマった話
oku053
0
120
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
130
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
160
Creating Composable Callables in Contemporary C++
rollbear
0
200
Vite+ Unified Toolchain for the Web
naokihaba
0
740
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
260
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
150
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
The World Runs on Bad Software
bkeepers
PRO
72
12k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
4 Signs Your Business is Dying
shpigford
187
22k
Building AI with AI
inesmontani
PRO
1
1.1k
The Curious Case for Waylosing
cassininazir
1
430
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
310
Into the Great Unknown - MozCon
thekraken
41
2.6k
WCS-LA-2024
lcolladotor
0
680
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Mind Mapping
helmedeiros
PRO
1
280
Designing for humans not robots
tammielis
254
26k
Transcript
None
None
None
None
Problem Space TestCase2 TestCase1 TestCase3 TestCase TestCase TestCase
Search Space by Generator Problem Space TestCase2 TestCase1 TestCase3 TestCase
TestCase TestCase Property
Search Space by Generator Problem Space TestCase2 TestCase1 TestCase3 TestCase
TestCase TestCase Property
None
価格 支払い額
価格 支払い額
None
Exploring Property Checking Checking Checking Checking Checking Checking
None
PBT UI Testing Stateful Property Compose Semantics UI PBT
None
None
None
None
テスト名 初期値 結果の検証 初期値
星の総数は常に つである
None
None
None
None
None
None
発車境界をまたぐと現在便が繰り上がる
普通 番線
① 境界前 現在便時刻 次便時刻 次は 行
② 境界後(繰り上がり) 現在便時刻 次便時刻 次は 行 以降の電車はありません
普通 番線
普通 番線
普通 番線 普通 番線 Departs 18:00 Departs 18:00 Current Next
None None Current Next Departs 18:00 Departs 18:00
① 境界前 現在便 次便 次は 行
② 境界後(繰り上がり) 終電後表記 通常表記 現在便 次便 次は 行 以降の電車はありません
None
None
None
Initial State Command if it fails Preconditions Failure Execution Next
State Postconditions Initial State Command Preconditions Next State Select Commands Execute SUT Model
None
None
同一テスト内で再利用 ← 以降は状態リセットのみ (破棄しない)
None
None
None
None
新着イベント 未読 新着イベント 未読
新着イベント 未読 状態照合 なので副作用は
None
None
None
None
再生成
None
None
出力例:フォローボタンタップ ボタン が見える・押せる をタップ ボタン が現れる になる想定
None
縮約結果の例 失敗する最小ケース アイテムを 個選択 フィルタ「カテゴリ 」を適用 全選択解除ボタンをクリック → 選択数が にならない
分析結果の例 根本原因 が フィルタ適用時の 配列を 更新していない。 修正箇所 の前に を追加
None
None
None
本体のバージョン ( ) に必要な ( 用) テスト ライブラリ(最小限) テスト環境