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
570
テストの考え方&協力したテストのすすめ
前提としてテストする人と開発者が別れている組織向けの話です。
テストとは何か、全体的なテストの形、マニュアルテスト過多の状態からどうやって抜け出せばよいかの考えを書いています。
Matsu
October 11, 2019
Tweet
Share
More Decks by Matsu
See All by Matsu
SNSを(ほぼ)やめたら集中力とやる気が戻った話
mineo_matsuya
0
95
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
2.4k
勉強したらどうなるの?
mineo_matsuya
11
7k
勉強する必要ある?
mineo_matsuya
2
3.6k
割り勘アプリの仕様
mineo_matsuya
0
4.5k
JSTQBに手を出すメリット7選
mineo_matsuya
0
230
学びの敷居を下げるためにどんな工夫をしたの?
mineo_matsuya
3
910
音声認識のモデルのテストのやり方 / How to Test a Voice Recognition Model
mineo_matsuya
2
360
一社だけ受けて合格!?一社専念法とは?
mineo_matsuya
0
330
Other Decks in Technology
See All in Technology
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
240
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.6k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
Culture Deck
optfit
0
420
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
16
4.6k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
400
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
810
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
360
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1.3k
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
200
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Adopting Sorbet at Scale
ufuk
74
9.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Building Your Own Lightsaber
phodgson
104
6.2k
Optimizing for Happiness
mojombo
376
70k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
A better future with KSS
kneath
238
17k
Side Projects
sachag
452
42k
Thoughts on Productivity
jonyablonski
69
4.5k
A Tale of Four Properties
chriscoyier
158
23k
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