Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テスト観点を うまく議論し使い回すために できることを考える [公開用] / NagasakiQDG4th-Test-viewpoints

k.i.
October 25, 2019

テスト観点を うまく議論し使い回すために できることを考える [公開用] / NagasakiQDG4th-Test-viewpoints

4th Nagasaki Software Quality and Development Gathering (長崎QDG) のセッション資料です。

Special Thanks To: satomi-juku(智美塾で議論したことがヒントになりました), @goyoki

k.i.

October 25, 2019
Tweet

More Decks by k.i.

Other Decks in Technology

Transcript

  1. このプレゼンは… • 何? • テスト観点についての、個人的な考えをまとめたもの • うまくテスト分析・テスト設計できるよう テスト観点をうまく活用したい • 言いたかったこと(結論)

    • テスト観点の利用や議論にあたっては、イメージ合わせが必要 • テスト観点をうまく使い回すには作る/使う側ともスキルが必要 • 抽象化、モデリング、テスト技法 2019/10/25 4th 長崎QDG - Kumiko Iseri 5
  2. 例題 テスト観点例 • 配送月日が入力通りに登録されること • 存在しない月日を入力 • メッセージ表示 • 確定直前に配送対象の商品が在庫切れ

    • 購入ボタンをダブルクリックする • 小さい端末での長い商品名の見切れ • 割引キャンペーンでアクセスが急増した場合の性能効率性 • … 9 2019/10/25 4th 長崎QDG - Kumiko Iseri
  3. テスト観点と呼ばれるもののバリエーション • 対象 • 抽象度 • 表現方法 • スコープ •

    利用のタイミングや利用者 11 2019/10/25 4th 長崎QDG - Kumiko Iseri
  4. 対象いろいろ 対象 例 テストケースの構成要素 入力 存在しない月日を入力 期待結果 エラーになる 事前/事後条件 会員が退会済み

    操作 ダブルクリック 実現したいこと、品質特性や 備えるべき特徴 性能効率性 バグ、起きて欲しくないこと インジェクション攻撃 使い方 時差のある場所で利用 機能などテスト対象の構成 配送日時指定機能 システムの設計・実装上の特徴 キャッシュがあるとき テスト技法、テストのHow 境界値 2019/10/25 4th 長崎QDG - Kumiko Iseri 12
  5. テスト観点のバリエーションとイメージの違い • テスト観点のイメージは人それぞれ • 対象 • 抽象度 • 表現方法 •

    スコープ • 利用のタイミングや利用者 17 2019/10/25 4th 長崎QDG - Kumiko Iseri 利用や議論をする前に イメージ合わせが必要
  6. 参考:他の文献でのテスト観点 江﨑 和博,坂本 健一,安原 典子(2013),システムとソフトウェアの品質:4.システムおよびソフト ウェアの品質評価 -SQuaRE適用の実際と今後の展開-, 情報処理 55巻1号 ソフトウェアテスト技術振興協会(ASTER)(2019),テスト設計チュートリアル

    U-30クラス向け 2019 年度版”,テスト設計コンテスト‘19 – U-30クラス チュートリアル http://aster.or.jp/business/contest/doc/2019_U-30_V1.0.0%20.pdf 18 本講では「テストすべきこと」を「テスト観点」と呼ぶこととします 2019/10/25 4th 長崎QDG - Kumiko Iseri 製品のリリース前に,その故障を取り除くためにテストすべき項目(ここでは, テスト観点と呼ぶ)として,テスト業務の経験の浅い技術者にも理解できるよう な具体的なテスト観点を掲げた
  7. 参考:他の文献でのテスト観点 西 康晴 (2006) , テスト設計におけるモデリングのための記法の提案, JaSST‘06 in Tokyo 19

    • テストの「観点」とは何だろう? – テスト対象の持つ、テストすべき側面 – テスト対象が達成すべき性質 – テスト対象(及び含む世界)を、テストの立場からモデリングしたもの » テストする必要が無い側面は、モデリングする必要が無い » 達成する必要が無い性質は、モデリングする必要が無い – 抽象的で、階層構造を持つ 2019/10/25 4th 長崎QDG - Kumiko Iseri
  8. あらかじめ用意したテスト観点で漏れなく効率的? • 何を/どれだけテストするか は状況次第 • あらかじめ用意されたテスト観点を正とできるか? • 状況が変わっているかもしれない • あらかじめ用意されたテスト観点が

    思考停止を引き起こしたり、視野を狭めたりするかもしれない 25 2019/10/25 4th 長崎QDG - Kumiko Iseri • 仕様 • ステークホルダーと、それぞれの使い方 • 設計や実装 • 社会情勢 • リソース • 連携先システム • テスト環境 • …
  9. 抽象化、モデリング • 抽象化 細谷 功 (2014), 具体と抽象 —世界が変わって見える知性のしくみ,dZERO • モデリング、モデル化

    SQuBOK策定部会 (編集) (2014), ソフトウェア品質知識体系ガイド -SQuBOK Guide-(第2版),オーム社 Tom DeMarco (著), 渡辺 純一 (翻訳) (1987年), 品質と生産性を重視したソフトウェア開発 プロジェクト技法—見積り・設計・テストの効果的な構造化,近代科学社 28 抽象化とは一言で表現すれば、「枝葉を切り捨てて幹を見ること」といえます。文字どお り、「特徴を抽出する」ということです。 モデル化とは,認知したいと考えている構造,振る舞い,現象などについて,別の効率的 な形式や方法による表現を用いることである〔Rothenberg 1989〕。一般に,複雑さ,不 可逆性を回避するよう単純化し,もとの現象などを扱いやすくすることが多い。 モデル化は,大きな問題を扱うための手段の一つである。 2019/10/25 4th 長崎QDG - Kumiko Iseri
  10. テスト観点ドキュメントが膨大になることへの対処 • 表現方法の工夫 • ツリー、マインドマップ • 分割 • テスト観点のスコープの限定 •

    位置付けを見直しテスト観点を整理する 35 テスト観点の利用目的を 明確にする必要あり 2019/10/25 4th 長崎QDG - Kumiko Iseri
  11. テスト観点ドキュメントが膨大になることへの対処 • 表現方法の工夫 • ツリー、マインドマップ • 分割 • テスト観点のスコープの限定 •

    位置付けを見直しテスト観点を整理する • 抽象度を上げる • テストの方針やテスト技法で導き出せる部分は書かない 37 2019/10/25 4th 長崎QDG - Kumiko Iseri 抽象化や テスト技法の スキルがある前提
  12. それでもテスト観点を使いたい理由① • テストできることを理解しやすい粒度に分割して 考えたい • テストできることは、ほとんど無限に存在する • 多機能、多数の外部連携、幅広い推奨環境、 多種のOSSやクラウドサービスの利用、… •

    具体的な値から抽象度の高い内容まで扱えるテスト観点を 使って少しずつ考える • 段階的に考えることで、大きな抜けを減らす • コミュニケーションに便利。モブ作業や説明がしやすい 40 2019/10/25 4th 長崎QDG - Kumiko Iseri
  13. 他の観点を探すには • テスト観点同士の関係性 • 目的/手段 • 全体/部分や属性 • 汎化 2019/10/25

    4th 長崎QDG - Kumiko Iseri 45 前画面の入力値が 保持されることを確認 前画面に戻る ブラウザ 戻るボタン エラー システムエラー
  14. ということで、このプレゼンは…(再掲) • 何? • テスト観点についての、個人的な考えをまとめたもの • うまくテスト分析・テスト設計できるよう テスト観点をうまく活用したい • 言いたかったこと(結論)

    • テスト観点の利用にあたっては、イメージ合わせが必要 • テスト観点をうまく使い回すには作る/使う側ともスキルが必要 • 抽象化、モデリング、テスト技法 2019/10/25 4th 長崎QDG - Kumiko Iseri 47
  15. 参考文献 • ASTERセミナー標準テキスト[Ver3.1] http://aster.or.jp/business/seminar_text.html • http://goyoki.hatenablog.com/entry/2019/10/02/221408 • SQuBOK策定部会 (編集) (2014),

    ソフトウェア品質知識体系ガイド -SQuBOK Guide-(第2版),オーム社 • Tom DeMarco (著), 渡辺 純一 (翻訳) (1987年), 品質と生産性を重視したソフトウェア開発プロジェクト技法—見積り・設計・テストの効果的な構造化,近代科学社 • 石井 俊直,細谷 泰夫,吉岡 克浩,前田 融磁,石原 鑑 著(2010年)、テスト観点分析によるソフトウェア要求仕様の品質向上, 情報科学技術フォーラム講演論文集 • 江﨑 和博,坂本 健一,安原 典子(2013), システムとソフトウェアの品質:4.システムおよびソフトウェアの品質評価 -SQuaRE適用の実際と今後の展開-, 情報処理 55巻1号 • ソフトウェアテスト技術振興協会(ASTER)(2019),“テスト設計チュートリアル U-30クラス向け 2019年度版”, テスト設計コンテスト‘19 – U-30クラス チュートリアル http://aster.or.jp/business/contest/doc/2019_U-30_V1.0.0%20.pdf • 羽田裕,石山康介,青木教之(2013),テスト視点からのレビューアの欠陥発見の容易性向上の試み, 研究報告組込みシステム(EMB),2013-EMB-28巻12号 • 細谷 功 (2014), 具体と抽象 —世界が変わって見える知性のしくみ,dZERO • 吉澤 圭介(2007),“テスト観点に着目したテスト設計の実践事例”, JaSST‘07 Kansai http://jasst.jp/archives/jasst07w/pdf/E2-2.pdf • 吉澤 智美, 西 康晴(2012) ,ソフトウェアテストの最新動向とフロントローディング, 品質42巻4号 2019/10/25 4th 長崎QDG - Kumiko Iseri 48