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
ソフトウェアテストと品質(事前配布資料)/Software test and quality ...
Search
nihonbuson
September 27, 2018
Technology
2
220
ソフトウェアテストと品質(事前配布資料)/Software test and quality study_20180925 (Handouts)
D3:グルメなテスト テスト設計 - レビュースペシャル - での事前配布資料です。
https://d-cube.connpass.com/event/101281/
nihonbuson
September 27, 2018
Tweet
Share
More Decks by nihonbuson
See All by nihonbuson
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
12
8.1k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
3
4.4k
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
3
2.8k
品質管理の歴史学 / Quality Management History
nihonbuson
3
360
境界値分析
nihonbuson
4
260
振る舞い駆動開発(BDD)における、テスト自動化の前に大切にしていること #stac2024 / BDD formulation
nihonbuson
7
2.8k
品質管理チームのEMとして大事にしていること / QA EM
nihonbuson
0
2k
忠実度という概念と開発手法 / Fidelity
nihonbuson
1
120
WACATE流 勉強会会場の選び方 / WACATE venue
nihonbuson
1
670
Other Decks in Technology
See All in Technology
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
140
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
120
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
390
Share my, our lessons from the road to re:Invent
naospon
0
130
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
280
日経のデータベース事業とElasticsearch
hinatades
PRO
0
200
内製化を加速させるlaC活用術
nrinetcom
PRO
2
100
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
18k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
180
短縮URLをお手軽に導入しよう
nakasho
0
130
OpenID BizDay#17 みんなの銀行による身元確認結果の活用 / 20250219-BizDay17-KYC-minna-no-ginko
oidfj
0
210
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Building Applications with DynamoDB
mza
93
6.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Rails Girls Zürich Keynote
gr2m
94
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Docker and Python
trallard
44
3.3k
Gamification - CAS2011
davidbonilla
80
5.1k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Transcript
ソフトウェアテストと品質 (事前配布資料) D3:グルメなテスト テスト設計 - レビュースペシャル - @nihonbuson 1
Agenda • はじめに • テストの7原則 • テストの立ち位置とは • 何をテストすべきか •
どうやってテストケースを作るのか • どうやってテストを実施すべきか • おわりに 2
はじめに 3
いきなりですが質問です 品質とは何でしょうか? テストの目的は何でしょうか? 4
品質とは何か? 東京海上日動システムズ顧問 横塚 裕志氏 の講演内容より 【具体例2】 デジタルニュースの普及により、 ニュースは、確実な推敲・校正よりも、 「早く伝える」「修正」へ 【具体例1】
トラブルは0でも、 国民の5.8%にしか使われない住基ネットカード。 「ソフトウェアの品質(= )としては失格」 ※ソフトウェア品質シンポジウム 2014の基調講演にて http://www.publickey1.jp/blog/14/_2014.html 5
テストの目的は何か? 以下のような目的があります。 • 欠陥の • 対象ソフトウェアの であることの確認 • のための情報の提示 • JSTQBシラバスより
http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf#page=14 に行うこともある テストの7原則①テストは「欠陥がある」ことしか示せない 6
テストの7原則 7
テストの7原則 1. テストは「 」ことしか示せない 2. テストは不可能 3. テスト 4. 欠陥の 5.
殺虫剤のパラドックス 6. テストは 7. 「 」の落とし穴 http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf#page=15 8
全体の開発サイクルの中での テストの立ち位置とは 9
Vモデル(一般的なSIの場合) 要求定義 要件定義 基本設計 詳細設計 コーディング 単体テスト 結合テスト システムテスト 受け入れテスト
http://jasst.jp/symposium/jasst12tokyo/pdf/D4-1.pdf 10
各段階(テストレベル)のテスト例 • 単体テスト(モジュールテスト) – 商品の個数欄にマイナスの数値を入力できない。 • 結合テスト – カートに3個入っていて、2個追加したら、 確認ページで5個になった。
• システムテスト – 会員登録→商品購入→商品キャンセル→退会の 一連の流れ。 11
Wモデル 要求定義 要件定義 基本設計 詳細設計 レビュー&受け入れ テストの設計 レビュー&システム テストの設計 レビュー&
結合テストの設計 レビュー& 単体テストの設計 受け入れテストの 実施 システムテストの 実施 結合テストの 実施 単体テストの 実施 コーディング デバッグ デバッグ デバッグ デバッグ 12
なぜ早期のテスト・レビューをするのか http://www.jaspic.org/event/2009/SPIJapan/keynote/SJ9keynote.pdf#page=31 13 要求仕様 設計段階 コーディング テスト 納入時点
何をテストすべきか 14
パスワードは4文字以上12文字以下の 英数字のみを許容する パスワードを3分以内に4回以上間違って入力すると アカウントを5分間ロックする 回答記入用 15
パスワードは4文字以上12文字以下の 英数字のみを許容する パスワードを3分以内に4回以上間違って入力すると アカウントを5分間ロックする 解答例 16
テストすべき内容(テスト観点)の見つけ方 http://jasst.jp/symposium/jasst13niigata/pdf/S2.pdf 17
視座 誰が使うのか、物事を見る立場 18
視野 物事を考えたり判断したりする範囲 19
視点 着目するところ、物事を考える観点 20
(参考)品質特性 http://www.atmarkit.co.jp/ait/articles/0905/13/news124_3.html 21
どうやって テストケースを作るのか 22
テストケースはいくつ? パスワードは4文字以上12文字以下 1文字、2文字、3文字…100文字 膨大な数の テストケース テストの7原則②全数テストは不可能 23
テストケース作成者「◦◦◦のテストをします!」 司会者「ほぉ~、それはどうしてだい?」 テストケース作成者「 」 テストケース作成の心得 24
テスト設計技法 ~境界値分析~ テストの7原則④欠陥の偏在 12 4 パスワードは4文字以上12文字以下 25
テスト設計技法 ~状態遷移テスト~ https://goo.gl/iAvVm8 26
どうやって テストを実施するのか 27
テストは実施して終わりではない パスワードを「123」にして ログインしようとしたら、 ログインできなかった 28
テストレポート例 OK or NG パスワードが 3桁以下の時 ログイン失敗 ページに 遷移すること パスワード欄に
「123」 と入力する。 ログインボタンを 押す。 ログイン 失敗画面に 遷移する NG ログイン画面 から遷移せず、 「ログイン失敗」 と表示される 他の人や1年後の自分が見ても分かるように書く 29
おわりに 30
まとめ • テストの目的は欠陥の検出以外に欠陥の がある • テストには に行う活動もある • 早期にテストやレビューをすることで できる • テストすべき内容には、仕様書から見つけられる内容以外にも、 から得られることや などがある
• 全てを闇雲にテストすると膨大なケース数と時間が発生するが、 その数を削減できる がある • テストを実施するときは、 結果を書く 31
メモ 32