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
97
私はこうやってマインドマップでテストすることを出す!
mineo_matsuya
0
2.5k
勉強したらどうなるの?
mineo_matsuya
11
7k
勉強する必要ある?
mineo_matsuya
2
3.6k
割り勘アプリの仕様
mineo_matsuya
0
4.6k
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
コンテナサプライチェーンセキュリティ
kyohmizu
1
120
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
130
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
プロダクトエンジニア 360°フィードバックを実施した話
hacomono
PRO
0
130
ユーザーストーリーマッピングから始めるアジャイルチームと並走するQA / Starting QA with User Story Mapping
katawara
0
270
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
340
Culture Deck
optfit
0
500
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
130
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.7k
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
120
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1.2k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
4 Signs Your Business is Dying
shpigford
182
22k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Gamification - CAS2011
davidbonilla
80
5.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Into the Great Unknown - MozCon
thekraken
35
1.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
How to train your dragon (web standard)
notwaldorf
91
5.8k
Optimizing for Happiness
mojombo
376
70k
Building Adaptive Systems
keathley
40
2.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
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