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
1
6.7k
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
DroidKaigi 2025
Tetta Noguchi
September 11, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜 / Understanding nil in Go Interface Representation and Why nil != nil
kuro_kurorrr
2
1.1k
kintone + ローカルLLM = ?
akit37
0
120
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
400
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
250
浮動小数の比較について
kishikawakatsumi
0
340
AI活用のコスパを最大化する方法
ochtum
0
110
Rubyと楽しいをつくる / Creating joy with Ruby
chobishiba
0
190
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
140
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
2
220
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
130
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
190
CSC307 Lecture 08
javiergs
PRO
0
690
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Become a Pro
speakerdeck
PRO
31
5.8k
Six Lessons from altMBA
skipperchong
29
4.2k
The Limits of Empathy - UXLibs8
cassininazir
1
230
Darren the Foodie - Storyboard
khoart
PRO
3
2.6k
SEO for Brand Visibility & Recognition
aleyda
0
4.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
63
53k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
A Tale of Four Properties
chriscoyier
162
24k
How STYLIGHT went responsive
nonsquared
100
6k
How GitHub (no longer) Works
holman
316
140k
Mobile First: as difficult as doing things right
swwweet
225
10k
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
本体のバージョン ( ) に必要な ( 用) テスト ライブラリ(最小限) テスト環境