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
Matsu
October 11, 2019
Technology
1
600
テストの考え方&協力したテストのすすめ
前提としてテストする人と開発者が別れている組織向けの話です。
テストとは何か、全体的なテストの形、マニュアルテスト過多の状態からどうやって抜け出せばよいかの考えを書いています。
Matsu
October 11, 2019
Tweet
Share
More Decks by Matsu
See All by Matsu
AIは変更差分からユニットテスト_結合テスト_システムテストでテストすべきことが出せるのか?
mineo_matsuya
5
4.1k
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
290
SNSを(ほぼ)やめたら集中力とやる気が戻った話
mineo_matsuya
1
220
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
4.4k
勉強したらどうなるの?
mineo_matsuya
12
7.5k
勉強する必要ある?
mineo_matsuya
3
5.3k
割り勘アプリの仕様
mineo_matsuya
0
6k
JSTQBに手を出すメリット7選
mineo_matsuya
0
380
学びの敷居を下げるためにどんな工夫をしたの?
mineo_matsuya
3
1.1k
Other Decks in Technology
See All in Technology
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
180
ZOZOのAI活用実践〜社内基盤からサービス応用まで〜
zozotech
PRO
0
140
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
250
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
130
非エンジニアのあなたもできる&もうやってる!コンテキストエンジニアリング
findy_eventslides
3
880
いまさら聞けない ABテスト入門
skmr2348
1
190
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
850
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
2.8k
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
190
Pythonによる契約プログラミング入門 / PyCon JP 2025
7pairs
5
2.4k
PythonとLLMで挑む、 4コマ漫画の構造化データ化
esuji5
1
130
成長自己責任時代のあるきかた/How to navigate the era of personal responsibility for growth
kwappa
3
230
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Visualization
eitanlees
148
16k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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