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
テストの考え方&テスト最適化の話 How to think of testing
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Matsu
November 01, 2019
Technology
2.3k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
テストの考え方&テスト最適化の話 How to think of testing
テストの基本的な考え方と、テストの全体最適化の話、テスティングトロフィー、テスト計画の話をしています。
Matsu
November 01, 2019
More Decks by Matsu
See All by Matsu
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
18
7.5k
手動テストケースをそのまま実行するVLMテスト実行エージェント / VLM Test Execution Agent for Running Manual Test Cases As-Is
mineo_matsuya
1
180
【紹介】マンガでわかるソフトウェアテスト入門テスターちゃん
mineo_matsuya
0
150
現代ポートフォリオ理論(MPT)とそこから考えられる銘柄/Modern Portfolio Theory (MPT) and the Portfolios It Leads Us To Consider
mineo_matsuya
0
150
AIは変更差分からユニットテスト_結合テスト_システムテストでテストすべきことが出せるのか?
mineo_matsuya
6
5.2k
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
420
SNSを(ほぼ)やめたら集中力とやる気が戻った話
mineo_matsuya
1
450
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
4.7k
勉強したらどうなるの?
mineo_matsuya
12
7.8k
Other Decks in Technology
See All in Technology
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
130
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
220
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
3
1.4k
[RSJ26] Building a VLA Model Based on Self-Distilled Classification
keio_smilab
PRO
0
190
DINO-EdgeQuery:Edge-First Polygon Decoding for Building Footprint Extraction from Satellite Imagery
lehupa
0
140
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
610
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
220
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
240
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
370
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
150
grill-me(grilling):AI駆動開発を超助けてくれるSkill / grill me
mathbullet
0
100
Featured
See All Featured
Fireside Chat
paigeccino
42
4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
How to build a perfect <img>
jonoalderson
1
5.9k
Technical Leadership for Architectural Decision Making
baasie
3
550
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Transcript
テストの考え方 & テストの最適化の話
自己紹介 松谷峰生 (まつやみねお) 株式会社LIFULL テクノロジー本部/技術開発部/品質改善推進ユニット/QAグループ 社外活動 • テスト • JaSST
Kyushu(ソフトウェアテストシンポジウム九州)共同実行委員長 • 機械学習方面 • QA4AI コンソーシアム発起人の一人 • マンガ・イラスト • 新人さんからわかるソフトウェアテスト解説マンガ「テスターちゃん」 • IVIA(IT検証産業協会)キャラクターイラスト • 他ソフトウェアテスト系マンガ、イラスト • 他 • 大学の授業(非常勤講師 / 特別講師)
この発表の目的 テストって何だっけの再考 来週から「テストどうしようね」と 考え始める
テストって何?
テストって何? ソフトウェアテストとは 想定したことが 想定した通り動くことを チェックする 活動である
テストって何? だけではない
テストって何? テストによってそのシステムに 何らかの価値を付加するならば
テストって何? 品質・信頼性の向上
テストって何? 信頼性は バグを見つけ取り除くことで より向上させることができる
テストって何? ソフトウェアテストは バグを見つけるつもりで プログラムを実行する過程 G.J.マイヤーズ「ソフトウェア・テストの技法 第2版」より
テストって何? 想定した通り 動くか確認 想定外の 問題を 発見 + チェッキング テスティング
http://www.jasst.jp/symposium/jasst18kyushu/pdf/S6.pdf
テストって何? チェッキング 機械的なチェックが 比較的容易 人によるテストが 必要 テスティング +
テストって何? チェッキング 出来る限り 自動的なテストが 望ましい マニュアルテスト でなければ 難しい テスティング +
よくあるテストのありかた
よく言われる形 ユニットテスト APIレイヤー のテスト ←end to endテスト マニュアルテスト テストの ピラミッド
コスト高 テスト実行時間長さ テスト範囲の広さ テストの実行数
現実 ←ユニットテスト ←APIレイヤーのテスト マニュアルテスト アジャイル開発に 耐えられない プロセス テストが多すぎて 間に合わない
現実と破綻 プロジェクトの 破綻
よくある原因 ユニットテストなんて書かなくても 最後に全部通してみるからいいや… テストはテスト側のお仕事だよね (テストを別組織/外部に渡している組織) ユニットテストもAPIレイヤーのテストも しているけど最後のテストで 前工程のテスト関係なしに全部見てる
よくある原因 「全体としてのテスト最適化」 に考えが及んでいない
よくある原因 プロダクトの全体的なテストを どうすればいいか みんなで相談していますか?
じゃあ、どうしよう?の例 何も考えずテストする ではなく 「どうテストしていこう」を ちょっと考える時間を作る 機能追加でも、新規開発でも、いったんプロダクト全体を見まわして 「何を、どの段階で、どうテストしよう」ということを考える。 この機能のこの部分はユニットテストで、ここはAPIのレスポンスで、 ここはE2Eの自動化を回して保守して、どうしても手でしかできないこれは マニュアルテスト……など
松谷の理想論、テストポリシー テスティング、 どうしても手でしか見れない場所、 回帰テスト APIレイヤー でのチェッキング ユニットテスト でのチェッキング 各レイヤーで 行うべきテストが
考慮されている バランスタイプ
松谷の理想論、テストポリシー ユニットテスト でのチェッキング • テスティング • どうしても手でしか見れない場所 • 回帰テスト 振る舞いを
APIレイヤーで チェッキング
The Testing Trophy
そんなことできるの? そんな仰々しいことしてる時間なんかない! ウォーターフォールでしょそれアジャイルだと回らないよね
実際の取り組み例
60分で テスト計画作成 テスト計画=仰々しくて重い、は思い込み
テスト計画コンシェルジュ ※弊社では、ユニットテストもマニュアルテストも開発者が実施 QAは「コンサルタント」の立ち位置 • 60分のミーティングでテスト計画(テストどうします?)を作成する スケジュールではなく、テスト範囲の明確化、テストアプローチの合意までを行う 状況変化があったときは都度柔軟に組み替え • 品質を効率よく高めるためにテストのトータルコーディネートを行う 「デザイン段階でユーザビリティのチェックを入れてはどうですか」
「このテストにはマニュアルテストよりもE2Eによる自動化が良さそうです」 「パフォーマンス劣化のリスクがありそうです」 「セキュリティテストが必要です」 • QAとプロジェクトチームが話し合って、互いに腹落ちするテストアプローチやリスクを定義する
テスト計画コンシェルジュ 簡単にいうと みんなと話す時間を設けて、 プロダクト全体のテストの段取りをする
None
None
最後にもろもろ • テスト計画は変わるものであると周知。状況で柔軟に変更必須 • 最初に話し合っていると「あれも必要これも必要」となるが、大体開発は押す! よって後半のスケジュールは基本ピンチになると思ってよい。 「この辺は探索的テストで押さえましょう」といった変更プランは用意しておく。 • 最近は「松竹梅」プランを作っていた。最初は松プランだったけれど、最後にはやはり梅プランになっ た。
• 闇雲にユニットテストを増やすといつもどこかでユニットテストがコケる事 態が発生する • 修正するコストも増える
この発表の目的 テストって何だっけの再考 来週から「テストどうしようね」と つい考えちゃう
Thank you