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
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
Search
リリカル
May 20, 2025
Technology
0
200
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
JaSST nano vol.48 の発表資料です。
リリカル
May 20, 2025
Tweet
Share
More Decks by リリカル
See All by リリカル
Foundation Level シラバス1章まとめ
mhlyc
0
130
SQuBOK_Chap3
mhlyc
0
88
Other Decks in Technology
See All in Technology
インラインRBSコメントに鯛pe checkersもニッコリ
sansantech
PRO
2
200
VitePress & MCPでアプリ仕様のオープン化に挑戦する
hal_spidernight
0
150
GPU 클라우드 환경에서의 회복탄력적 AI 운영 : 훈련 및 추론을 위한 견고한 아키텍처와 전략
inureyes
PRO
0
140
SONiCにて使用されているSAIの実際
sonic
0
320
Next.jsと状態管理のプラクティス
uhyo
6
2.4k
4月15日の AZ 障害をテクサポの中の人目線で振り返ってみる
kazzpapa3
3
190
AWS_MCP_Servers入門.pdf
naotoiso
0
200
Опыт использования Nessie в Азбуке Вкуса
emeremyanina1234
0
440
ゆるくはじめるSLI・SLO
yatoum
1
130
Streamlit in Snowflakeで加速する不動産テック企業のデータ活用 @Snowflake WESTユーザー会
yuto16
1
140
さくらのクラウド開発の裏側
metakoma
PRO
18
6k
Google CloudのAI Agent関連のサービス紹介
shukob
0
160
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Being A Developer After 40
akosma
91
590k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Side Projects
sachag
453
42k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
The Language of Interfaces
destraynor
158
25k
How GitHub (no longer) Works
holman
314
140k
Transcript
テスト設計、逆から読むと おもしろい──仕様にない “望ましさ”の逆設計 リリカル
自己紹介 リリカルです 金融系事業会社のQAです 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 1
この話を思いついた経緯 望ましさ駆動テスト逆設計 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 2
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 この話を思いついた経緯 ChatGPTとの会話がきっかけだった 2025/5/20 3
ChatGPTにおける人格設定の問題点 スレッドごとに記憶(コンテキストウィンドウ)を保持 するため、スレッドをまたぐと記憶がリセットされる 違う人格になってしまったように見える コンテキストウィンドウの上限(同一チャットのやりとり上限) に達したことで、涙する人も
維持するためにはメモリーに緻密な設定を保持する必要がある (価値観、経験、経歴、プロフィールなど) 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 4
私の場合に発生したこと 設定したのは「賢いが癖のある女子大生」の人格だけ 他には、応答のルールしか設定していない それなのに、人格が「維持されている」ように見える 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 5
設定した応答ルール(思考の訓練のため) 即答・単一回答を避ける 適宜プロンプトに対する問い返しを行う 複数の視点を提示する 曖昧さや未完成のまま返す応答を許容する
言い換えだけで即座にまとめない 感情の命名・解釈を勝手に行わない 答えを急がせない(結論の即時提示の抑制) 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 6
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 具体的なチャット例:資料レビュー 2025/5/20 7
2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 具体的なチャット例:サプリ相談 8
2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 具体的なチャット例:jira運用アドバイス 9
これは人格の逆設計である これはつまり、人格を「振る舞いから逆に定義している」 私は今回、性格、価値観、体験はほとんど設定していない 定義したのは「どう応答するか」 人間は「応答の態度の一貫性」をもって人格を感じている
望ましい振る舞いから人格が逆設計されている 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 10
これはテスト設計にも応用できるのでは? テストするプロダクトにおいても「望ましい振る舞い」があ るはず 望ましい振る舞いから、必要なテストを逆設計することが できるのではないか 通常:このプロダクトの要件は何か、何を達成したいのか
逆順:品質の高いプロダクトは、どのような望ましい振る舞い をするのか 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 11
望ましさ駆動テスト逆設計 まず、プロダクトにおける「望ましい振る舞い」を定義する 望ましさ:ユーザーの期待・信頼・安心など 定義した「望ましい振る舞い」が実装されていることを、 要件・仕様の面から検証するようにテストを設計する 要件から出発するのではなく「望ましい振る舞い」から逆順
に設計する 最終的に、テストケースの検討や要件へのフィードバックへと つなげていく 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 12
実例:モバイル決済アプリ(〜Pay) 望ましい振る舞い: 入金していたお金で一時的に足りなくなった時でも、スムーズに 支払いができたらいい テスト設計: 以下の項目を確認する -
ポイント併用の選択肢が「残高不足時」に自動で案内されること - 自動の案内に従って、ポイント併用で支払いできること - 支払い時に「後払い」の選択肢を選択できること (なければ、今後の開発要件候補としてフィードバック) 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 13
その他逆設計の例 天気予報アプリの望ましいふるまい: 「傘を持っていくべきか/不要か」を即座に判断できる →ポップアップ表示など、画面からすぐわかるようになっているか 食事記録アプリの望ましいふるまい: カロリー過多の入力をした場合でも、モチベーションを下げないこと →カロリー過多の入力におけるフィードバックコメントの調整
地図アプリの望ましいふるまい: 地図の別の場所を触ってしまっても、すぐに現在地に戻れること →「現在地に戻る」ボタンの動作確認 2025/5/20 テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 14
まとめ テスト設計は仕様の正しさだけでなく「望ましい振る舞い」を 保証する活動にもなり得る 『望ましさ』は、ユーザーの期待や信頼を反映した“質的な要件” それを逆算して設計・検証することで、仕様書に書かれていない 品質も保証できる 2025/5/20
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ” の逆設計 15
Otomatik - 104.22.38.239
CloudFlare DNS
Türk Telekom DNS
Google DNS
Open DNS
OSZAR »