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
0
6.6k
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
DroidKaigi 2025
Tetta Noguchi
September 11, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
チームの境界をブチ抜いていけ
tokai235
0
180
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
570
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
250
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
160
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
170
Go言語はstack overflowの夢を見るか?
logica0419
0
340
技術的負債の正体を知って向き合う / Facing Technical Debt
irof
0
170
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
120
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
Serena MCPのすすめ
wadakatu
4
1k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Language of Interfaces
destraynor
162
25k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
8
910
Thoughts on Productivity
jonyablonski
70
4.9k
Docker and Python
trallard
46
3.6k
It's Worth the Effort
3n
187
28k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Producing Creativity
orderedlist
PRO
347
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Documentation Writing (for coders)
carmenintech
75
5.1k
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
本体のバージョン ( ) に必要な ( 用) テスト ライブラリ(最小限) テスト環境