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
実践_プロダクト品質向上に重要なテスト分析とテスト設計.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Rie Ajiki
May 13, 2024
1.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実践_プロダクト品質向上に重要なテスト分析とテスト設計.pdf
Rie Ajiki
May 13, 2024
More Decks by Rie Ajiki
See All by Rie Ajiki
日本伝統をのぞいてみませんか? 歌舞伎編(初級)
rieajiki
0
89
ペアテストでエンジニアもQAも サポートも全員が笑顔になる!
rieajiki
0
150
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
360
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Typedesign – Prime Four
hannesfritz
42
3.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Building Adaptive Systems
keathley
44
3k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Paper Plane
katiecoart
PRO
1
51k
Navigating Team Friction
lara
192
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Transcript
PHPカンファレンス香川2024 実践、プロダクト品質向上に重要な テスト分析とテスト設計
自己紹介 QAエンジニア プロフィール ・2019年11月、PR TIMESへ入社。開発本部QA チーム所属 ・PR TIMESでは、QA立ち上げ、テスト実施からUX 含め全体的な品質の向上・部署・チームの問題改善
など行っています。 猫派 @azuki_kun
発表の目的 PHPカンファレンス香川2024 • テスト分析と設計ってどういうものかを知ってもらう ◦ テストパターンやテストケースを作る前に、これを行うとテスト 項目の網羅性がUPする • 実際に役立てていただけたら......
こんなことってありませんか? PHPカンファレンス香川2024 何に対して、テストをして良いかわからない 機能実装漏れが発覚し再度実装し直した.....TT どのようなテストをどのくらいしてよいか分からない
そんな時は...... PHPカンファレンス香川2024 テスト分析とテスト設計が最適です!
テスト分析とテスト設計とは? PHPカンファレンス香川2024
テスト分析とは テスト分析はJSTQBテスト技術者資格 Foundation Level シラバスで は、以下のように記述されています。 テスト分析では、テスト可能なフィーチャーを識別し、テスト条件を決め るためにテストベースを分析する。言い換えると、テスト分析では計測 可能なカバレッジ基準から見た「何をテストするか」を決定する。 JSTQB-SyllabusFoundation_Version2018.J03
もう少し掘り下げると..... テストレベルごとに適切 テストベースを分析する。
テストの目的はなにか 何を確認できたら最低限テストしたと言えるかその テスト分析 : やり方
どのような影響があるか • 機能への影響 • 画面への影響 • 操作への影響 • 状態への影響 どのようなテストをするか
• 動作確認 • 表示確認 • ハードやソフトの互換性確認 • スマホ特有の状態・操作の確認 • ローカライズ化の確認など
テスト設計とは テスト設計とは、テスト工程で実施すべきテストの種類 や実施方法、必要なデータ、テストの入出力に使用する ものなどを具体的に決めることです。
つまり、 「どのような手段でテストするのか」を検討して決める のが「テスト設計」です。
テスト設計やり方 • 類似の観点をグループでまとめてみる • 因子と水準(パラメーター)を書き出してみる。因子とは「テス トすべきテスト条件」のこと、水準とは「その選択値」のことで す。 • 画面遷移や状態を図に書き出してみる •
複雑そうな動作条件をデシジョンテーブルに書き出してみる • 数値の入出力がある場合、同値分割や境界値分析を適用 してみる
テスト分析とテスト設計は いつやるのか?? PHPカンファレンス香川2024
テスト分析とテスト設計の位置付け 上図では、テスト分析とテスト設計はテスト計画とテスト実装のあいだに位置しています。 テストの分析と設計は、テストの実装とは別のアクティビティになります。 テストプロセスを構成する主な活動のグループは以下の通り
実際に見てみましょう!
テスト対象の分析と設計の進め方 1. テスト対象となる要素のインプット情報を集めて理 解する a. 仕様書 b. 画面イメージ(デザイン) c. 実際のアプリ(ある場合)
d. チケット(ある場合) e. ユーザーストーリー などなど 2. 要素を書き出す 3. グルーピングを行って階層構造にする
仕様書
画面イメージ(デザイン)
テスト対象の分析マインドマップ(例1)
テスト設計(例1) サニタイジングするか?? サニタイジングするか?? 基本操作Unitテストで自動化 E2Eテストで自動化 バージョンやサポート範囲を決める 脆弱性のツールを使用出来 そう デベロッパーツールの設 定で確認
エンジニアと協力して、探索 的テストで、一度回せばよい よね。 ✨探索的テスト 同値クラス分割手法※1で洗い出す 同値クラス分割手法※1で洗い出す 文字数は境界値分析で確認 文字数は境界値分析で確認 E2Eテストで自動化出来そう? E2Eテストで自動化出来そう? 探索的テストでも確認した方が よさそう ガイドラインなど必要だよね
テスト設計(例1) サニタイジング するか?? サニタイジングする か?? 同値クラス分割手法 ※1で洗い出す 同値クラス分割手法 ※1で洗い出す 文字数は境界値分析で確認
文字数は境界値 分析で確認
テスト設計(例1) バージョンやサポート範囲を決める 脆弱性のツールを使用出来そう デベロッパーツールの設 定で確認 エンジニアと協力して、探索的テスト で、一度回せばよいよね。 ガイドラインなど必要だよね ブラウザサイズもみた方がいいね 非機能のところは、エンジニアもQAもPdMも忘れる箇
所が多い。。。。。 項目を書き出しておくと、他のプロジェクトの時にも流 用可能
用語説明 ※1:同値クラス分割 出力が同等になると想定される入力値のグループ(同値クラスや同値パーティション)を識 別し、各グループに対するテストケースを作成する技法のこと。システムが正常に作動する 値を「有効同値クラス」、エラーを検知する値を「無効同値クラス」といい、それぞれのクラス の代表値を用いてシステムが正常に作動するかをテストします。 無効 同値クラス 無効
同値クラス 同値クラス 0 1 10 11 −6 5 115
※2:探索的テスト 探索的テストはJSTQB用語集では、『非公式なテスト設計技法の一つ。テストを実施する過程で、テスト担当 者がテスト実施情報を活用しながらテスト設計をコントロールし、積極的に質の高い新しいテストケースを設計 する。』と定義されています。テスト対象を実際に動かし、理解を深めていきながら、テスト設計、実行、結果確 認を行っていくことを指しています。探索的テストには以下のメリットがあります。 • テストケースを作成せずにテストを行うため、少ない工数でテスト可能 • テストを実施していくにつれてシステム理解が深まり、新たな気づきをテスト観点に反映するため、あらかじめ作 成したテストケースでは見つけられなかった不具合を発見できる
• アジャイルソフトウェア開発のように短期間で開発を進めるケースでは柔軟かつ迅速にテスト可能 メリットだけでなく、以下のようなデメリットもある。 • 探索的テストだけでは品質確保はできない • テスト設計書などドキュメントを作成しないため、テストのノウハウを蓄積しにくい • テスト経験が豊富な人がテストする前提のため、経験が浅い人では実施することができない 用語説明 知識ゼロから学ぶソフトウェアテスト 改訂版: アジャイル・クラウド時代のソフ トウェアテスト https://amzn.asia/d/3uyWLHY
用語説明 ファイルアップロード機能のテスト 経験が浅いQAエンジニア • サポートされているファイルがアップ ロードされること • サポートされていないファイルがアップ ロードした時、エラーメッセージが表示 される事
• 複数アップロード確認 • 最大サイズ・最小サイズのアップロー ド 経験豊富QAエンジニア • ファイル内容の種類を変えてみて問 題ないか(動画が入っているか) • ファイル名のバリデーション • 拡張子を違う拡張子に変更 • 拡張子の種類 「 .doc」または「.docx」 とか
実際行ってる形 全体に関わる因子と水準を出す
因子 水準 企業管理画面のログイン方 法 「配信権限有無バリエーション」「権限継承バリエーション」以外はメインユーザアイパスログイン でテストする 企業の契約プラン 「契約プランバリエーション」以外は従量課金でテストする 企業のロゴ 「編集内容反映バリエーション」以外は企業ロゴありでテストする
Editorの編集方法 「タブの切替バリエーション」「データベース登録バリエーション」「契約プランバリエーション」「配 信権限有無バリエーション」「権限継承バリエーション」「他システム連携バリエーション」「V1もし くはV2のデータ」「編集権限の競合」以外は「新規登録」「下書きの編集」「予約配信の編集」を 同値として任意とする Editorの編集デバイス切替 「編集内容反映バリエーション」以外はデスクトップ表示で編集する プレスリリースページ表示の ログインユーザ 「配信バリエーション」以外は企業ユーザログインでテストする※メディアのみ表示部分はメディ アユーザ プレスリリースページ表示の 方法 テスト対象外。TOPページの検索からでも、メディア管理画面のお気に入りからでも、企業ペー ジの一覧からでも、今回のリリースの影響は無い為、同値として任意とする。 自動保存 「データベース登録バリエーション」以外はON 実際行ってる形 全体に関わる因子と水準を出す
まとめ... 1. テストの土台をつくる作業である a. テストベースを分析してテスト条件を決め、後続の工程の基礎を 固める役割 2. 最もテストを理解しやすい工程である a. テストをシンプルに整理したドキュメントを作り、コミュニケーショ
ンを補助したり、仕様変更に柔軟に対応できるようにする役割 3. テストと品質を繋ぐ中継地点である 4. テスト全体のトレーサビリティの中核となってテストと品質を結びつ ける役割