$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
テストの考え方&協力したテストのすすめ
Search
Matsu
October 11, 2019
Technology
1
610
テストの考え方&協力したテストのすすめ
前提としてテストする人と開発者が別れている組織向けの話です。
テストとは何か、全体的なテストの形、マニュアルテスト過多の状態からどうやって抜け出せばよいかの考えを書いています。
Matsu
October 11, 2019
Tweet
Share
More Decks by Matsu
See All by Matsu
現代ポートフォリオ理論(MPT)とそこから考えられる銘柄/Modern Portfolio Theory (MPT) and the Portfolios It Leads Us To Consider
mineo_matsuya
0
58
AIは変更差分からユニットテスト_結合テスト_システムテストでテストすべきことが出せるのか?
mineo_matsuya
6
4.7k
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
310
SNSを(ほぼ)やめたら集中力とやる気が戻った話
mineo_matsuya
1
260
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
4.4k
勉強したらどうなるの?
mineo_matsuya
12
7.6k
勉強する必要ある?
mineo_matsuya
3
5.3k
割り勘アプリの仕様
mineo_matsuya
0
6.1k
JSTQBに手を出すメリット7選
mineo_matsuya
0
420
Other Decks in Technology
See All in Technology
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
370
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
160
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
750
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
250
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
110
因果AIへの招待
sshimizu2006
0
930
文字列の並び順 / Unicode Collation
tmtms
0
140
エンジニアリングをやめたくないので問い続ける
estie
0
200
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
190
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
1.1k
【CEDEC+KYUSHU2025】学生・若手必見!テクニカルアーティスト 大全 ~仕事・スキル・キャリアパス、TAの「わからない」を徹底解剖~
cygames
PRO
0
150
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
130
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
We Have a Design System, Now What?
morganepeng
54
7.9k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
How STYLIGHT went responsive
nonsquared
100
6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Typedesign – Prime Four
hannesfritz
42
2.9k
Why Our Code Smells
bkeepers
PRO
340
57k
Building Adaptive Systems
keathley
44
2.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Transcript
テストの考え方 & 協力したテストのすすめ
自己紹介 松谷峰生 (まつやみねお) 社外活動 • テスト • JaSST Kyushu(ソフトウェアテストシンポジウム九州)共同実行委員長 • 機械学習方面
• QA4AI コンソーシアム発起人の一人 • マンガ・イラスト • 新人さんからわかるソフトウェアテスト解説マンガ「テスターちゃん」 • IVIA(IT検証産業協会)キャラクターイラスト • 他ソフトウェアテスト系マンガ、イラスト • 他 • 大学の授業(非常勤講師 / 特別講師)
この発表の前提 テストの人と開発者が 別れている組織の話
この発表の目的 テストの人と開発者で どう協力しながらテストを進めよう? と 考えるきっかけになれば嬉しい
テストって何?
テストって何? ソフトウェアテストとは 想定したことが 想定した通り動くことを チェックする 活動である
テストって何? だけではない
テストって何? テストによってそのシステムに 何らかの価値を付加するならば
テストって何? 品質・信頼性の向上
テストって何? 信頼性は バグを見つけ取り除くことで より向上させることができる
テストって何? ソフトウェアテストは バグを見つけるつもりで プログラムを実行する過程
テストって何? 想定した通り 動くか確認 想定外の 問題を 発見 + チェッキング テスティング
http://www.jasst.jp/symposium/jasst18kyushu/pdf/S6.pdf
テストって何? チェッキング 機械的なチェックが 比較的容易 人によるテストが 必要 テスティング +
よくあるテストのありかた
よく言われる形 ユニットテスト APIレイヤー のテスト ←end to endテスト マニュアルテスト テストの ピラミッド
コスト高 テスト実行時間長さ テスト範囲の広さ テストの実行数
よくあるテストのありかた ←ユニットテスト ←APIレイヤーのテスト マニュアル テスト アジャイル開発に 耐えられない プロセス 手によるテスト範囲が多すぎて テストが間に合わない→人員増大でカバー
よくあるテストのありかた プロジェクトの 破綻 APIレイヤーの テスト
よくあるテストのありかたのよくある原因 「テスト」はテスト側のお仕事 という業務分担 (どうせシステムテストで全部通るしUTいいよね…) 開発側でチェックしているところも テスト側で重複チェック (全部見ないと不安…)
よくあるテストのありかたのよくある原因 「全体としてのテスト最適化」 に考えが及んでいない
じゃあ、どうしよう?の例 開発側とテスト側で 「テストどう分担します?」 を話してみる 「このリストの並び順はAPIのレスポンスでみます」 「バッチ処理自体は見ますが、システムをつなげて処理が上手に動くかは テスト側で見てもらっていいですか」 「ユーザーシナリオを通したテストはテスト側で見ます」 「探索的テスト(問題点を探索するテスト)を実施します」 「この導線はE2E自動テストのチェックが回っています」
松谷の理想論 • テスティング • どうしても手でしか見 れない場所 • UI APIレイヤー でのチェッキング
ユニットテスト でのチェッキング 各レイヤーで 行うべきテストが 考慮されている バランスタイプ ピラミッド ↓ テストの ビルディング (松谷命名)
松谷の理想論 テストの ラミエル (松谷命名) ユニットテスト でのチェッキング • テスティング • どうしても手でしか見れない場
所 • UI 振る舞いを APIレイヤーで チェッキング ※発表後追記: あとから知ったことですが 「テスティングトロフィー」という 考え方があるそうです。
実際の取り組み例
削除ページ 以下参照です。 https://www.slideshare.net/next_developer/ltech6-lifullqa/14
最後にもろもろ •開発/テスト双方ともに基本知識がないと話がしにくい • テストレベルって何?探索的テストとは? • メソッドって何?CRUDとは? •ユニットテストをただふやすと、いつもどこかでユニットテストがコケて いる • ユニットテストを書くコストが増える
• 修正するコストも増える
この発表の目的 テストする人と開発者で どう協力しながらテストを進めよう? と 考えるきっかけになれば嬉しい
Thank you