$30 off During Our Annual Pro Sale. View Details »

WACATE流テスト分析のワークショップを体感してみよう

imtnd
July 08, 2021

 WACATE流テスト分析のワークショップを体感してみよう

WACATE流テスト分析のワークショップを体感してみよう

風間 裕也(WACATE実行委員)
角田 俊(WACATE実行委員)
常盤 香央里(WACATE実行委員)
中村 仰志(WACATE実行委員)
並木 正典(WACATE実行委員)
山口 寛子(WACATE実行委員)

in JaSST'21 Tokyo
http://www.jasst.jp/symposium/jasst21tokyo/details.html

imtnd

July 08, 2021
Tweet

More Decks by imtnd

Other Decks in Technology

Transcript

  1. 2021/03/15-16 WACATE
    1
    WACATE流テスト分析の
    ワークショップを体感してみよう
    JaSSTʼ21 Tokyo

    View Slide

  2. アジェンダ
    • 本セッションの⽬的・概要
    • テスト分析・設計について
    • 個⼈ワーク、グループワーク(上映)
    • まとめ
    • WACATE紹介
    2021/03/15-16 WACATE
    2

    View Slide

  3. 本セッションの⽬的・概要
    導⼊
    2021/03/15-16 WACATE
    3

    View Slide

  4. 本セッションの⽬的
    1. 実際に⼿を動かして体験する
    2. 体験することで机上学習とは違った
    理解度の上昇を体感してもらう
    3. グループワークを通して、⾃分と他⼈との
    違いを⾒つけてもらう
    2021/03/15-16 WACATE
    4
    本セッションはすごい知識を提供するものではありません
    参加する皆さんが手を動かして、自分で気づき学ぶ場です
    注意

    View Slide

  5. 突然ですが、個⼈ワーク︕
    • お題はシンプルな電卓
    • 仕様書とかないです︕
    • 右の画像の情報がすべてです︕
    • どんなテストをしますか︖
    • 突然電卓を渡されました︕
    どうしますか︖
    • ⾃由形式で紙に書いて︕
    • 時間は3分︕
    2021/03/15-16 WACATE
    5

    View Slide

  6. 突然ですが、個⼈ワーク︕
    • お題はシンプルな電卓
    • 仕様書とかないです︕
    • 右の画像の情報がすべてです︕
    • どんなテストをしますか︖
    • 突然電卓を渡されました︕
    どうしますか︖
    • ⾃由形式で紙に書いて︕
    • 時間は3分︕
    2021/03/15-16 WACATE
    6
    残り1分です

    View Slide

  7. 失礼しました
    • あまりに⾃由すぎて、逆に何したらいいか
    分からなくなりますよね︖
    • 本セッションではテストすることを導出する
    テスト分析というプロセスについて取り扱いま

    2021/03/15-16 WACATE
    7

    View Slide

  8. 本セッションの概要
    • システムの振る舞いに基づくメタモデルを利⽤
    してテスト観点を抽出する
    1. テスト分析、テスト設計について簡単に解説する。
    2. お題に対して個⼈でテスト分析を⾏ってもらう。
    3. その後、グループワークで共有を⾏う。
    (今回は実⾏委員によるグループワークを⾒ていた
    だきます)
    2021/03/15-16 WACATE
    8

    View Slide

  9. テスト分析・設計について
    講義
    2021/03/15-16 WACATE
    9

    View Slide

  10. テストプロセス
    • JSTQBにおけるテストプロセス
    2021/03/15-16 WACATE
    10
    テスト
    分析
    テスト
    設計
    テスト
    実装
    テスト
    実行
    テスト
    完了
    テスト計画
    テストのモニタリングとコントロール
    JSTQB-SyllabusFoundation_Version2018.J03

    View Slide

  11. テストプロセス
    • JSTQBにおけるテストプロセス
    2021/03/15-16 WACATE
    11
    テスト
    分析
    テスト
    設計
    テスト
    実装
    テスト
    実行
    テスト
    完了
    テスト計画
    テストのモニタリングとコントロール
    本セッションで取り扱うのはこの範囲
    JSTQB-SyllabusFoundation_Version2018.J03
    ワークで実践するのはここ

    View Slide

  12. ⽤語
    • テスト分析
    – テスト分析では、テスト可能なフィーチャーを識別し、
    テスト条件を決めるためにテストベースを分析する。
    ⾔い換えると、テスト分析では計測可能なカバレッジ
    基準から⾒た「何をテストするか」を決定する。
    • テスト設計
    – テスト設計では、テスト条件を⾼位レベルテストケー
    ス、⾼位レベルテストケースのセット、およびその他
    のテストウェアへ落とし込む。
    つまり、テスト分析は「何をテストするか」を決定し、
    テスト設計は「それをどうテストするか」を決定する。
    2021/03/15-16 WACATE
    12
    JSTQB-SyllabusFoundation_Version2018.J03 より

    View Slide

  13. テスト分析・設計
    テスト分析︓何をテストするか
    (=テスト対象を理解し、テスト観点を出す)
    テスト設計︓それをどうテストするか
    (=テスト観点をテストケースに具体化できるようにする)
    • どうやって導き出せば良いでしょうか︖
    – 思い付き︖
    – 仕様書から⾒つける︖
    – やりながら考える︖
    – 技術や技法を活⽤する︖
    2021/03/15-16 WACATE
    13

    View Slide

  14. テスト技法
    • テスト技法
    – テスト技法の⽬的は、テスト条件、テストケース、
    テストデータを決定することである
    – テストケースを作成したり選択したりするための
    技法
    2021/03/15-16 WACATE
    14
    JSTQB-SyllabusFoundation_Version2018.J03
    JSTQB-glossary-introduction.V3.2.J01 より
    こういった確⽴した技術を使ってテスト分析、テスト
    設計で
    「何をテストするか」、「どうテストするか」
    を導出することが出来る。

    View Slide

  15. テストプロセス
    • JSTQBにおけるテストプロセス
    2021/03/15-16 WACATE
    15
    テスト
    分析
    テスト
    設計
    テスト
    実装
    テスト
    実行
    テスト
    完了
    テスト計画
    テストのモニタリングとコントロール
    JSTQB-SyllabusFoundation_Version2018.J03

    View Slide

  16. テスト設計
    • 例えば…
    • 何をテストするか
    – 何桁まで⼊⼒できるか
    • どうやってテストするか
    (どういう値でテストするか)
    • 同値分割
    • 境界値分析
    2021/03/15-16 WACATE
    16
    有効な桁数 無効な桁数
    無効な桁数 有効な桁数 無効な桁数
    下限境界値 上限境界値

    View Slide

  17. テスト設計
    • 何をやっているかと⾔うと・・・
    2021/03/15-16 WACATE
    17
    有効 無効
    1
    2
    3
    「何桁まで入力できる
    か」に対して必要な情報
    を集める
    技法が前提としている
    モデルにあてはめて
    情報を整理する
    整合性や網羅性を担保す
    るテスト方法を具体化
    同値分割
    境界値分析
    状態遷移
    デシジョンテーブル
    要件・仕様
    ユースケース
    要求
    リスク
    etc

    View Slide

  18. テストプロセス
    • JSTQBにおけるテストプロセス
    2021/03/15-16 WACATE
    18
    テスト
    分析
    テスト
    設計
    テスト
    実装
    テスト
    実行
    テスト
    完了
    テスト計画
    テストのモニタリングとコントロール
    JSTQB-SyllabusFoundation_Version2018.J03

    View Slide

  19. テスト分析
    • テスト分析も基本的な考え⽅は同じ
    2021/03/15-16 WACATE
    19
    要件・仕様
    ユースケース
    要求
    リスク
    etc
    テスト対象の
    必要な情報を集める
    モデルにあてはめて
    情報を整理する
    整合性や網羅性を担保す
    るテスト観点を抽出
    VSTeP
    HAYST法
    ゆもつよメソッド
    NGT
    F V T
    6W2H


    カテゴリ
    機能モデル

    View Slide

  20. モデルの活⽤
    メタモデルは分析したい事柄に応じて
    適切なものを使⽤する
    2021/03/15-16 WACATE
    20
    ゆもつよメソッド
    機能モデル
    HAYST法
    テスト対象の機能を俯瞰して
    テストしたいことを洗い出す
    6W2H
    6W2H
    テスト対象の要求を理解する
    テスト対象の使⽤想定や要求等を
    洗い出す
    論理的機能構造

    View Slide

  21. テストプロセス
    • JSTQBにおけるテストプロセス
    2021/03/15-16 WACATE
    21
    テスト
    分析
    テスト
    設計
    テスト
    実装
    テスト
    実行
    テスト
    完了
    テスト計画
    テストのモニタリングとコントロール
    JSTQB-SyllabusFoundation_Version2018.J03

    View Slide

  22. 個⼈ワーク、グループワーク
    実践
    2021/03/15-16 WACATE
    22

    View Slide

  23. テストプロセス
    • JSTQBにおけるテストプロセス
    2021/03/15-16 WACATE
    23
    テスト
    分析
    テスト
    設計
    テスト
    実装
    テスト
    実行
    テスト
    完了
    テスト計画
    テストのモニタリングとコントロール
    JSTQB-SyllabusFoundation_Version2018.J03

    View Slide

  24. • 各種⼿法をちゃんとやると⼤変なので・・・
    • 単純なモデルで「何をテストするか」
    を挙げてみよう︕
    処理
    ワークのお題
    2021/03/15-16 WACATE
    24
    入力 出力
    演算
    チェック

    View Slide

  25. 個⼈ワーク
    2021/03/15-16 WACATE
    25
    入力 出力
    演算
    チェック
    • 上記のメタモデルに合わせて、テストすることを
    考えてみよう
    • 時間 10分

    View Slide

  26. 個⼈ワーク
    2021/03/15-16 WACATE
    26
    入力 出力
    演算
    チェック
    • 上記のメタモデルに合わせて、テストすることを
    考えてみよう
    • 時間 10分 残り5分です

    View Slide

  27. 個⼈ワーク
    2021/03/15-16 WACATE
    27
    入力 出力
    演算
    チェック
    • 上記のメタモデルに合わせて、テストすることを
    考えてみよう
    • 時間 10分 残り1分です

    View Slide

  28. グループワーク
    2021/03/15-16 WACATE
    28
    入力 出力
    演算
    チェック
    • 個⼈で出したものをグループで共有します。
    • 今回は実⾏委員でやったときの様⼦を上映します。
    • ⾃分でやったときに出せたもの、出せなかったものな
    ど⾃分との違いを⾒つけてみてください。

    View Slide

  29. 2021/03/15-16 WACATE
    29

    View Slide

  30. まとめ
    2021/03/15-16 WACATE
    30

    View Slide

  31. まとめ
    • 最初に3分でやった時と⽐べてモデルを使うことで
    テストすることが出しやすくなかったですか︖
    • モデルが決まっているので、最初より広い範囲、網
    羅的なテスト観点を⾒つけられたのではないでしょ
    うか︖
    • グループワークを通して、新しい発⾒はあったでし
    ょうか︖
    モデルを使⽤することで違いを⾒つけられたのでは
    ないでしょうか︖
    2021/03/15-16 WACATE
    31

    View Slide

  32. 参考⽂献
    • ISTQBテスト技術者資格制度 Foundation Level シラバス ⽇本語版 Version 2018.J03
    – http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2018.J03.pdf
    • ISTQBテスト技術者資格制度
    ソフトウェアテスト標準⽤語集(⽇本語版)イントロダクション Ver3.2.J01
    – http://jstqb.jp/dl/JSTQB-glossary-introduction.V3.2.J01.pdf
    2021/03/15-16 WACATE
    32

    View Slide

  33. WACATE紹介
    2021/03/15-16 WACATE
    33

    View Slide

  34. コミュニティ概要
    2021/03/15-16 WACATE
    34
    1. WACATE ワカテと読みます
    2. 活動
    – ⾃主的なコミュニティ
    – 1年に夏・冬の2回
    – 1泊2⽇の合宿
    3. 内容
    – 主にソフトウェアテストの勉強会
    – ワークショップがメイン
    – 参加者間の交流も深める
    4. ターゲット
    – 若⼿でテストに興味がある⼈
    – 特に年齢制限はない
    https://wacate.jp

    View Slide

  35. 年2回のイベント
    2021/03/15-16 WACATE
    35
    多くのテーマに触れ、
    新しい発見を得る
    1つのテーマを掘り下げ
    どっぷり漬かる
    夏 冬
    WACATE2007 WACATE2008冬
    WACATE2009冬 WACATE2010冬
    WACATE2011冬 WACATE2012冬
    WACATE2013冬 WACATE2014冬
    WACATE2015冬 WACATE2016冬
    WACATE2017冬 WACATE2018冬
    WACATE2019冬 WACATE2020冬
    WACATE2008夏
    WACATE2009夏
    WACATE2010夏
    WACATE2011夏
    WACATE2012夏
    WACATE2013夏
    WACATE2014夏
    WACATE2015夏
    WACATE2016夏
    WACATE2017夏
    WACATE2018夏
    WACATE2019夏

    View Slide

  36. 次回
    2021年
    6⽉12⽇(⼟)、19⽇(⼟)
    オンラインにて開催予定
    2021/03/15-16 WACATE
    36

    View Slide

  37. Q&A
    2021/03/15-16 WACATE
    37

    View Slide

  38. 2021/03/15-16 WACATE
    38
    Q. フォーマットの使い⽅を事前にすり合わせずに個⼈ワークをされていたのは、各⼈の⾃由な発想を妨げない
    ようにするためでしょうか︖
    A. ⾃由な発想を妨げないという⽬的もあります。
    ただし、今回はグループワークメンバ内でも使⽤したことがないメタモデルを使⽤しているので、モデルの
    認識合わせもディスカッション内で⾏いました。
    Q. 感想ですが、⼊⼒(キー、キーの順序、キーの組み合わせ(同時押し))、出⼒(画⾯、桁数)、ノウハウ
    (0割り算、演算順序)とかを整理してからやると網羅性あがるんじゃないかな︖と感じました。
    A. 最初に整理するという⽅法もあります。
    ⼀⽅で、実際にテスト観点を出してからディスカッションして認識を合わせるという⽅法もあります。
    重複した観点が出ることはそれほど問題ではなく、⾊々な発想を出すことが⽬的になります。
    「キーを押す」という⼀⾒同じテスト観点でも、⼈によっては「キー⼊⼒内部に反映されること」、「押し
    たキーが画⾯に反映されること」のように実は違う観点という場合があります。
    このような認識の違いはディスカッションで認識を合わせていくことになります。このような⽅法を取ると、
    最初は思い浮かばなかったテスト観点が出ることもあります。
    また、今回のワークはモデルを正しく使⽤するというより、モデルで認識を合わせながらテスト分析を⾏う
    ということをテーマとしてセッションを実施したため、このような形になっています。
    Q. 今回のように各⾃の不具合がありそうなところ、テストしたいところ(不具合を⾒つけたいところ)ベース
    で分析すると、基本的な機能のテストが抜け落ちやすかったりしませんか︖
    A. ⼀つのモデルで出た観点のみがテスト観点すべてになるわけではありません。
    実際には仕様書から出てくるテスト観点など補⾜しながらすべてのテスト観点を出していく形になると思い
    ます。
    例えば今回のメタモデルですと、「バッテリー切れ」「経年劣化」というようなテスト観点は出しにくいで
    す。

    View Slide

  39. 2021/03/15-16 WACATE
    39
    Q. 実務でもこういうワークショップとかってされた経験ありますか︖あれば少しシェアしていただけると嬉し
    いです︕
    A. 会社でも研修の時間としてこのようなワークショップを⾏うことはあります。また、研修ではなく実務でも
    このようなやり⽅を使⽤することがあります。
    ⼀⼈でテスト観点出しをやって出てこない観点も、複数⼈でテスト観点出しをやることによって新しい観点
    が出てくることがあります。
    Q. 分析の際、仕様不明がわかったら仕様問い合わせも良いのでは︖と勝⼿に思って、質問表も作りました。
    A. 質問票を作成するのは良い活動だと思います。実際、モデルに当てはめるときに不明点が出ることは多いと
    思います。
    Q. 最初の⽅のスライドで、テスト分析では、「テスト条件」を決めるために分析する、という記載がありまし
    た。
    テスト分析の説明のスライドでは、モデルを使って「テスト観点」を抽出、という説明でした。
    テスト観点とテスト条件はほぼ同じということでしょうか︖
    A. 同じという認識で問題ありません。今回のセッションではJSTQBをベースとしてテストプロセスをご紹介し
    ました。JSTQBの「テスト条件」という⽤語はJSTQBを詳しくない⼈には分かりにくいと思い、セッション
    内では「テスト観点」という⽤語を使⽤しています。
    Q. 使うモデルを検討するのに、どれくらい時間をかけますか︖
    A. 今回のセッションではメタモデルを使⽤してテスト観点を出してみるということを⽬的にワークを⾏いまし
    たので、メタモデルの検討に時間はかけていません。
    今回使⽤したものはゆもつよメソッドで使⽤されている論理的機能構造を簡易的にしたものを使⽤しました。
    実際に業務で使⽤される場合は、既存のテスト分析⽅法で使⽤されている⽅法を参考にして、整理したい観
    点に合致するモデルを選択するのが良いと思います。

    View Slide