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
FY22 新卒研修 Quality Assurance 〜「QA」「品質」「テスト」とは?〜
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
MEDLEY, INC.
August 31, 2022
Technology
3.3k
1
Share
FY22 新卒研修 Quality Assurance 〜「QA」「品質」「テスト」とは?〜
株式会社メドレーで、2022年度新卒研修内のQA講座で使用したものを、外部公開用に修正したスライドになります。
QAエンジニア: 上村真季
MEDLEY, INC.
August 31, 2022
More Decks by MEDLEY, INC.
See All by MEDLEY, INC.
TROCCO × Terraform × AI で kintone 連携も IaC 化 / TROCCO × Terraform × AI for kintone
medley
1
430
組織でAIをQAに活用する仕組みづくり / Scaling AI-Powered QA Across Your Organization
medley
1
1.6k
MagicPodを使い倒すメドレーの活用術 / How to utilize of MagicPod
medley
1
510
止められない医療アプリ、そっと Swift 6 へ
medley
1
960
Polyfill奮闘記 / genba_ts2
medley
0
210
なぜConfluence Cloudだったのか?〜『運用効率と将来性』から見る最適解と、予期せぬ課題を乗り越えた移行のリアル~ / Why-we-choose-confluence-cloud
medley
0
390
別業種から医療業界に入ったPMの悩みと歩き方 / healthtech meetup-vol.1
medley
0
750
インプロセスQAにおいて大事にしていること / In-process QA Meetup
medley
0
900
Jira全社展開の裏側 - 多数の部門と協働して全社標準ツールとして確立させた、調整・工夫・合意形成のリアル / The story of the rollout of Jira
medley
2
830
Other Decks in Technology
See All in Technology
TanStack Start エコシステムの現在地 / TanStack Start Ecosystem 2026
iktakahiro
1
360
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
160
インフラを Excel 管理していた組織が 3 ヶ月で IaC 化されるまで
geekplus_tech
3
170
New CBs New Challenges
ysuzuki
1
170
プロダクトを育てるように生成AIによる開発プロセスを育てよう
kakehashi
PRO
1
920
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
270
AI前提とはどういうことか
daisuketakeda
0
170
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
220
申請待ちゼロへ!AWS × Entra IDで実現した「権限付与」のセルフサービス化
mhrtech
1
280
AIがコードを書く時代の ジェネレーティブプログラミング
polidog
PRO
3
670
生成AI時代のエンジニア育成 変わる時代と変わらないコト
starfish719
0
490
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
2
300
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
510
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
500
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
93
We Are The Robots
honzajavorek
0
210
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
The SEO identity crisis: Don't let AI make you average
varn
0
440
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Transcript
FY22 新卒研修 Quality Assurance 〜「QA」「品質」「テスト」とは?〜
アジェンダ 1. 自己紹介 2. QA研修の目的 a. 「QA」「品質」「テスト」とは?(前半60分) ※これ b. メドレーのQAプロセス、事例紹介(後半30分) ※14時〜 3.
障害の影響 4. 開発工程における「テスト」 5. テスト技法演習 a. 同値分割 b. 境界値分析 c. デシジョンテーブル 2
自己紹介 医療PF 第一開発Gr QAエンジニア 上村 真季 @maki.kamimura • 主に医療機関向けプロダクトのQAを担当 •
CLINICSカルテ • CLINICSオンライン診療 • QA歴 :20年+くらい、メドレーは2020年4月入社 • 資格 :JSTQB Advanced Level テストアナリスト 、IT検証技術者レベル5 • 社外活動 :JaSST Online実行委員、ISTQB翻訳WG、TOCfE Bootcampスタッフ • 家族構成 :長男20歳、長女中2 • 趣味 :バレーボール、俳句、読書 3
この研修の目的 • 品質を意識することの重要性や、 組織にとっての品質の意義を理解する • 自分自身で「品質を意識した開発」ができ るエンジニアになる 4
5 CHAPTER.3 障害の影響
障害事例① チャレンジャー号爆発事故 https://en.wikipedia.org/wiki/Space_Shuttle_Challenger_disaster 6 • 1986年、スペースシャトル・チャレンジャー号が打ち上げ直後に爆発 し、乗組員7名全員が亡くなった事故 • 原因はシャトルの密閉用ゴムリングが低温のため脆くなっていたこ とがきっかけ
• その日は発射台に氷柱が降りるほど外気温が低く、エンジニアチー ムから発射は危険だと報告があったが、意思決定プロセスにおいて 発射は決行された • 本事故を巡る論考はさまざまあるが、近年は「議論のためのデータ が欠けていたため」とされている 参考: 『The Challenger Launch Decision: Risky Technology, Culture, and Deviance at NASA』 Univ of Chicago Pr; Enlarged edition | Diane Vaughan (著)
障害事例② ANA 旅客システム障害 https://www.anahd.co.jp/group/pr/201606/20160622.html 7 • 2016年に起こったANA国内線旅客システムの大規模障害 • 全国49の空港で搭乗手続きができなくなり、合計719便、7万2100人以上に影響が及んだ
• スイッチの「世界初のバグ」を踏み抜いたことや復旧までのスピードから、好意的・同情的な反応も多 かった 引用元記事:日経クロステック 『判明、ANAシステム障害の真相』 https://xtech.nikkei.com/it/atcl/watcher/14/334361/041100532/
障害が発生すると • 製品リリース後に障害が発生した場合 ◦ 誰に迷惑がかかる? ◦ どこにどんなコストがかかる? 8
障害が発生すると • 製品リリース後に障害が発生した場合 ◦ 誰に迷惑がかかる? ▪ ユーザー ▪ カスタマーサポート ▪
エンジニア ▪ 経営陣 ▪ 株主 ◦ どこにどんなコストがかかる? 9
障害が発生すると • 製品リリース後に障害が発生した場合 ◦ 誰に迷惑がかかる? ▪ ユーザー ▪ カスタマーサポート ▪
エンジニア ▪ 経営陣 ▪ 株主 ◦ どこにどんなコストがかかる? ▪ 原因究明 ▪ コードの改修、テスト ▪ 顧客への説明、賠償 ▪ 株主への説明 ▪ 逸失利益 10 信用を失う
障害の重さ(まとめ) 11 障害の規模はドメインによって重さが異なる 事例 ドメイン 影響の大きさ 障害の原因 チャレンジャー号爆発 宇宙開発
乗組員7名が死亡 意思決定プロセスの不備 ANA国内線旅客システムの大 規模障害 航空(搭乗手続きシステム) 合計719便、7万2100人以上 の乗客が欠航・遅延 スイッチのバグ ここでは重い事例ばかり挙げましたが、ビジネス要件とのバランスも重要です。(イベント連動サービスがそのイベン ト当日に間に合わなかったら意味がない) また単なる誤字脱字であっても「eコマースで金額の桁が1桁違った場合」はたいへんなことになります。
12 CHAPTER.4 開発工程における「テスト」
そもそも「QA」ってなに? 「QA」=「品質をあげるためのすべての活動」 「テスト」は品質をあげるための活動の1つ。
13
開発工程の4〜5割は「テスト」が占める • 左側の工程と右側の工程が対応している • アジャイル開発も基本的な考え方は同じ • コーディング中に行うテストは「デバッグ」と呼ぶ 14 (c)Wikipedia 『Vモデル』
個々のコードレベルの確認 システム間の相互作用に焦点を当てる • 内部結合:コンポーネント間相互処理 • 外部結合:対向システム間処理 特定要件を満たしているか 受入要件を満たしているか
動的テスト(ソフトを実行して行う) • ホワイトボックステスト(構造ベース) ◦ ステートメントテスト ▪ 命令をどれだけ実行したか(ステートメン トカバレッジを上げる) ◦
デシジョンテスト ▪ 分岐(ブランチ)をどれだけ実行したか (デシジョンカバレッジを上げる) • ブラックボックステスト(仕様ベース) ◦ 同値分割 ◦ 境界値分析 ◦ デシジョンテーブルテスト テストの種類とテスト技法 15 静的テスト(ソフトを実行させずに行う) • レビュー:すべてのソフトウェア成果物が対象 ◦ パスアラウンド ◦ ピアレビュー ◦ ウォークスルー ◦ インスペクション • 静的解析ツール ◦ コンパイラ ◦ コードチェッカー ※それぞれ代表的なもののみ
テスト技法① 同値分割 16 同じグループに属する値を分類し、テストパターンを少なくできる技法。
テスト技法② 境界値分析 同値分割したグループの境界に属する値を導き、テストパターンを少なくできる技法。 ※境界にはバグが潜みやすい さきほどと同じ仕様の場合: 17
テスト技法③ デシジョンテーブル 18 入力と出力の組み合わせを表にして、 どの条件の組み合わせがどの処理や動作に影響するか明確にする。 複雑な条件や制約のある仕様を整理して、効率よくテストすることができる。 ① ② ③
④ ①条件記述部…考慮すべき条件を列挙する ②動作記述部…考慮すべき動作(出力結果)を列挙する ③条件指定部…①の条件記述を満たすかどうかを示す ④動作指定部…各列で指定されている条件指定の組み合 わせによって決まる出力結果(動作)を示す
19 CHAPTER.5 テスト技法演習
演習① 同値分割と境界値分析 とある動物園の入場チケットをWebシステムで購入できるようにしました。 チケット購入画面のUIは以下の通りです。(整数を入力できる) 入園料金は年齢によって右図のように決められています。
「同値分割法」と「境界値分析」を用いて入園料金のテストケースを作成してください。 20 年齢 入園料金 6歳未満 無料 6歳以上〜13歳未満 500円 13歳以上〜18歳未満 1,000円 18歳以上 1,500円
解答例① 同値分割と境界値分析(穴埋め) 21 No テストデータ 期待結果 (入園料金) テストデータを選んだ理由
1 -10 - 無効クラスの代表値 2 -1 - 無効クラスの境界値 3 0 無料 無料の境界値(下限) 4 3 無料 無料の代表値 5 5 無料 無料の境界値(上限) 6 6 500円 500円の境界値(下限) 7 10 500円 500円の代表値 8 12 500円 500円の境界値(上限) 9 13 1,000円 1,000円の境界値(下限) 10 15 1,000円 1,000円の代表値 No テストデータ 期待結果 (入園料金) テストデータを選んだ理由 11 17 1,000円 1,000円の境界値(上限) 12 18 1,500円 1,500円の境界値(下限) 13 50 1,500円 1,500円の代表値 14 120 1,500円 1,500円の境界値(上限) 15 121 - 無効クラスの境界値 16 140 - 無効クラスの代表値
解答例① 同値分割と境界値分析(穴埋め) 22 No テストデータ 期待結果 (入園料金) テストデータを選んだ理由
1 -10 - 無効クラスの代表値 2 -1 - 無効クラスの境界値 3 0 無料 無料の境界値(下限) 4 3 無料 無料の代表値 5 5 無料 無料の境界値(上限) 6 6 500円 500円の境界値(下限) 7 10 500円 500円の代表値 8 12 500円 500円の境界値(上限) 9 13 1,000円 1,000円の境界値(下限) 10 15 1,000円 1,000円の代表値 No テストデータ 期待結果 (入園料金) テストデータを選んだ理由 11 17 1,000円 1,000円の境界値(上限) 12 18 1,500円 1,500円の境界値(下限) 13 50 1,500円 1,500円の代表値 14 120 1,500円 1,500円の境界値(上限) 15 121 - 無効クラスの境界値 16 140 - 無効クラスの代表値
演習② デシジョンテーブル とある居酒屋『ろっぽんぎ』では改装後、営業開始直後の一定時間を「ハッピーアワー」としてビールをお得なお値段で飲めるように しました。また、クーポン券も配布します。 以下は営業時間とビール1杯の関係を説明しています。 • 通常、1杯500円 • ハッピーアワー(16時〜18時)は1杯280円 • クーポンを使うと利用時間に関わらずはじめの1杯のみ100円となる
• ハッピーアワーでもクーポンを利用できる • その時点で最も安い価格で提供される 「1杯目のビールの価格」を表すデシジョンテーブルを作成してください。 23
解答例② デシジョンテーブル X…eXecution(実行) 24 TestCase 1 2 3 4 条 件
クーポン利用 Y Y N N ハッピーアワー Y N Y N 結 果 100円 X X - - 280円 - - X - 500円 - - - X 【考え方】 先にデシジョンツリーを作成してみる クーポン 利用? ハッピー アワー? ハッピー アワー? Y Y N Y N N 100円 100円 280円 500円 【1杯目のビールの価格】
おまけ テスト技法の演習、いかがでしたか? テスト技法を知るだけでなく、 • いつ使うのか • どのように使うのか • どのテスト技法を組み合わせるのか 等を考えていくことが次のステップです。
Confluence「Quality Assurance」に体系的にまとめてありますので、目を通し てみてください。 「開発プロセス全体の質をあげる」ことが重要です! さらに勉強したいと思ったら… 会社のキャビネットに私物のテスト本を何冊か置いてあるので、 ご興味あれば貸し出します!! お気軽にお声がけください。 25
Reference 26 本編の内容は以下資料、書籍より引用 / 加工し使用させていただきました。感謝申し上げます。 『ASTERセミナー標準テキスト 』 特定非営利活動法人
ソフトウェアテスト技術振興協会 『知識ゼロから学ぶ ソフトウェアテスト 』 翔泳社 高橋 寿一 (著) 『JSTQB教科書 JSTQB認定テスト技術者 Foundation Level試験 』 翔泳社 湯本 剛, 大西 建児, 勝亦 匡秀, 加藤 大受, 佐々木 方規, 鈴木 三紀夫, 町田 欣史, 吉澤 智美 (著) 『はじめて学ぶソフトウェアのテスト技法 』 日経BP リー・コープランド (著), 宗 雅彦 (翻訳) 『ソフトウェアテスト技法ドリル 』 日科技連出版社 秋山 浩一 (著) 『ソフトウェアテスト技法練習帳 』 技術評論社 梅津 正洋, 竹内 亜未, 伊藤 由貴, 浦山 さつき, 佐々木 千絵美, 高橋 理, 武田 春恵, 根本 紀之, 藤沢 耕助, 真鍋 俊之, 山岡 悠, 吉田 直史 (著)