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
文系でも極端にわかるテストと品質 v0.2 / Easy to understand test...
Search
Dai Fujihara
June 12, 2020
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
文系でも極端にわかるテストと品質 v0.2 / Easy to understand testing and quality
ざっくりまとめる。
Dai Fujihara
June 12, 2020
More Decks by Dai Fujihara
See All by Dai Fujihara
なぜ自社ではスクラムがうまくいかないのか アジャイルコーチと考える、スクラムのアンチパターン / Why Scrum doesn't work in my company?
daipresents
1
920
CI/CDパイプラインにE2Eテストを統合する / Integrate E2E testing into the CI/CD pipeline
daipresents
0
1.8k
アジャイル・DevOps時代のタスク管理ツール / Task Management Tools for the Agile and DevOps Era
daipresents
0
470
品質エンジニアリングと自動化後の世界 / Quality Engineering and the Post-Automated World
daipresents
0
1.2k
アジャイル開発と品質エンジニアリング - QA時代の終わりとQE時代のはじまり / Agile Development and Quality Engineering
daipresents
1
9.2k
QA組織パターン - 構造ごとのメリットデメリットまとめ / QA organizational structure
daipresents
2
1.7k
人類よ! コードレビューも完全自動化の時代へ?!今風なイケてる静的解析を大活用しよう! / Automated Code Review
daipresents
0
2.5k
アジャイルテスティングが倒せない / I can't beat agile testing
daipresents
5
2.3k
E2Eテスト自動化の本質 - 品質と開発スピードを支えるテスト自動化時代へ / The Essence of E2E Test Automation
daipresents
0
850
Other Decks in Technology
See All in Technology
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
850
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
7.9k
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
140
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
1
460
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
210
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
130
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
170
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
570
ループエンジニアリングでE2Eテストを実践
noriyukitakei
0
220
5分でわかるDuckDB Quack
chanyou0311
4
300
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
290
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
The Language of Interfaces
destraynor
162
27k
Unsuck your backbone
ammeep
672
58k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
590
The SEO Collaboration Effect
kristinabergwall1
1
500
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
860
Ruling the World: When Life Gets Gamed
codingconduct
0
270
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Code Review Best Practice
trishagee
74
20k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Transcript
1 文系でも 極端にわかるテスト Dai Fujihara @daipresents Copyright © 1978-2019 Sekai
Co., Ltd. All Rights Reserved. https://daipresents.com/service/
注意事項 • 今は違うかもしれませんが、昔は文系と理系の間に確固た る溝があったように思います(気のせいかな) • わやりやすくするために極端に解説しています。正しさを求 める場合は専門家にご相談ください • 今回はテスト・品質について極端に説明しようと思います •
その結果、なんとなく理解し、テストや品質に対する意思決 定の助けになれば幸いです
テストについて
テストとは? 「テスト = チェック + α」とします • 「テスト」が単純な「チェック」を意味する場合は、バグがあるかないかを確認する単純作業です。 • 単純作業レベルのテストは、人によって多少の違いはあれど、誰がやっても似たような成果にな
ります • 後述しますが、チェックをするだけでは、バグは減っていくかもしれませんが品質向上になりませ ん
テスト + α とは? 以下、αの例をあげてみます。全社はバグを見つけていますがOKに しており、後者はその逆の判断がされています。 • ここが変ですが、ユーザへの影響はとても小さいので無視してリ リースしていいと思います •
仕様どおりですが使い勝手が悪すぎるので修正するべきでしょう
テストの種類(上に行くほど粒度が小さい) テストしたいもの テスト目的と内容 プログラム ユニットテスト(UT)ともいう。プログラムが正しいことを確認をする。テストコードを書くのが一般 的。 機能 結合テスト(IT)、機能テスト(FT)とも呼ばれる。機能が正しいことを確認する。手動で確認されるこ とが多い。 全体
システムテスト(ST)、エンドツーエンドテスト(E2E)とも呼ばれる。仕様どおりにできていることを ユーザの利用環境目線で確認する 。手動がメインだが最近だとテストツールを使う事が多い。 仕様 受け入れテスト(UAT)と呼ばれる。作ったものが 当初の期待(要件)を満たせそうかを確認する 。 リグレッションテスト 機能が壊れていないことを確認する 。ざっくり一通りの機能をテストする形で構成することが多い。 機能テストや通しのテストは、機能が増えたり更新されるたびにここに追加していく運用がステキ。 パフォーマンス・脆弱性 特定領域を確認する。専門ツールでやるのが一般的。
テストの種類(上に行くほど粒度が小さい) テストしたいもの テスト目的と内容 プログラム ユニットテスト(UT)ともいう。プログラムが正しいことを確認をする。テストコードを書くのが一般 的。 機能 結合テスト(IT)、機能テスト(FT)とも呼ばれる。機能が正しいことを確認する。手動で確認されるこ とが多い。 全体
システムテスト(ST)、エンドツーエンドテスト(E2E)とも呼ばれる。仕様どおりにできていることを ユーザの利用環境目線で確認する 。手動がメインだが最近だとテストツールを使う事が多い。 仕様 受け入れテスト(UAT)と呼ばれる。作ったものが 当初の期待(要件)を満たせそうかを確認する 。 リグレッションテスト 機能が壊れていないことを確認する 。ざっくり一通りの機能をテストする形で構成することが多い。 機能テストや通しのテストは、機能が増えたり更新されるたびにここに追加していく運用がステキ。 パフォーマンス・脆弱性 特定領域を確認する。専門ツールでやるのが一般的。 分けると整理されますが、増えた分管理が面倒です。 分けないと量は減りますが、整理がしにくくなります。 まずは、担当ごとにシンプルに3つぐらいにわけてはどうでしょ う? 例: 1. 開発のテスト(開発チーム) 2. 全体のテスト(テストベンダー) 3. 受け入れテスト(発注元)
テストの広さ • 戻ったり進んだり操作のパターン • 入れたり消したり入力・出力のパターン、 • プラットフォーム、OSごと(iOS、 Andorid、Windowsな ど) •
ブラウザごと(Chrome、IEなど) • 状況(高負荷、弱電波、攻撃時) • ・・・・ ほぼ無限なので限られた時間で 何を、いつ、どこまで、だれがやるか決めましょう
良いテスト・悪いテスト • 良いテストは ◦ サービスやプロダクトが実現したいことに 貢献できるテストです。 ◦ 限られた時間内で大きいバグから順番に 見つかるテストです •
上記の逆が悪いテストです
テストと人とお金 • テストの質はその人のスキルレベルに依存します • スキルレベル=単価とはかぎりません。以下は実際にあった例です。 ◦ 例: 最初は外で発表したりしている有能そうな人が来たけど その後は業務中に居眠りする人がアサインされた ◦
例: 単価は高いのに指示がないと動かない。お願いすると 「それは予算を超えるので追加で・・」と追加課金された ◦ 例: テストベンダーの管理コストが高くて仕事ができない 期待値を明確に伝え それを満たせるのか確認しましょう
品質について
品質とは、品質が高いとは? • 利用者様: 使いやすくてまた使いたくなる • 営業の人の品質例: 売上が上がるサービスであること • 開発の品質例: たくさんのアクセスがあっても
サービスが止まらないこと • 開発全体の品質例: リリース日にリリースできるものが リリースされること 人によって違うので それぞれ確認しておきましょう
品質が高い・低い • 品質が低いのは良くありません • 品質が高いだけでもいいともかぎりません ◦ 例: 売上激増! でも新機能リリースに膨大なコストが かかってしまう・・・
◦ 例: バグゼロでリリース! でもお客さんがぜんぜんこない・・・ ば・ら・ん・す(はーと)
バグとは? • 「エラー」「欠陥」「フォールト」「故障」いろいろ呼び方があ ります 面倒なのでバグでいきましょう
バグが多い・少ない • 作れば作るほど、バグの数も増えがちです • バグがあるものを修正しても、品質が高くなったとは いえません ◦ 例: 車にバグがたくさんありましたが全部取り除 いたのでもう大丈夫です!
• バグが少なくても、ちゃんとテストしていない可能性が 残ります ば・ら・ん・す(はーと)
バグを活用した品質の確認方法 • 普通は、バグが 見つかったれば みつかるほど、 減っていくはず なので、その傾 向を活用して残 存するバグを推 定できます
CREDITS - Special Thank! ◦ Presentation template by SlidesCarnival and
Photographs by Unsplash • Photo by Markus Winkler on Unsplash 17 お問い合わせは https://daipresents.com/service/ からお気軽にどうぞ。