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
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
230
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
420
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
690
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
130
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
140
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
270
Ruby and LLM Ecosystem 2nd
koic
1
600
CSC307 Lecture 15
javiergs
PRO
0
240
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
CSC307 Lecture 14
javiergs
PRO
0
470
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
380
SourceGeneratorのマーカー属性問題について
htkym
0
190
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Tell your own story through comics
letsgokoyo
1
840
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
140
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Chasing Engaging Ingredients in Design
codingconduct
0
140
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
The Spectacular Lies of Maps
axbom
PRO
1
620
How to make the Groovebox
asonas
2
2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
380
How to build a perfect <img>
jonoalderson
1
5.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
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
本体のバージョン ( ) に必要な ( 用) テスト ライブラリ(最小限) テスト環境