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
590
テストの考え方&協力したテストのすすめ
前提としてテストする人と開発者が別れている組織向けの話です。
テストとは何か、全体的なテストの形、マニュアルテスト過多の状態からどうやって抜け出せばよいかの考えを書いています。
Matsu
October 11, 2019
Tweet
Share
More Decks by Matsu
See All by Matsu
SNSを(ほぼ)やめたら集中力とやる気が戻った話
mineo_matsuya
1
150
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
4.3k
勉強したらどうなるの?
mineo_matsuya
12
7.3k
勉強する必要ある?
mineo_matsuya
3
5.2k
割り勘アプリの仕様
mineo_matsuya
0
5.8k
JSTQBに手を出すメリット7選
mineo_matsuya
0
310
学びの敷居を下げるためにどんな工夫をしたの?
mineo_matsuya
3
1k
音声認識のモデルのテストのやり方 / How to Test a Voice Recognition Model
mineo_matsuya
2
420
一社だけ受けて合格!?一社専念法とは?
mineo_matsuya
0
370
Other Decks in Technology
See All in Technology
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
120
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
210
~宇宙最速~2025年AWS Summit レポート
satodesu
1
630
A2Aのクライアントを自作する
rynsuke
1
110
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
10
2.6k
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
27
9.3k
生成AIでwebアプリケーションを作ってみた
tajimon
2
110
20250623 Findy Lunch LT Brown
3150
0
700
IAMのマニアックな話 2025を執筆して、 見えてきたAWSアカウント管理の現在
nrinetcom
PRO
4
630
工具人的一生: 開發很多 AI 工具讓我 慵懶過一生
line_developers_tw
PRO
0
1k
SFTPコンテナからファイルをダウンロードする
dip
0
550
AIのAIによるAIのための出力評価と改善
chocoyama
0
400
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
52
7.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Building Adaptive Systems
keathley
43
2.6k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
A Tale of Four Properties
chriscoyier
159
23k
Designing Experiences People Love
moore
142
24k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
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