Slide 1

Slide 1 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。

Slide 2

Slide 2 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 名前 ◼ 谷﨑 浩一(たにざき こういち) ➢ 所属 ◼ 株式会社ベリサーブ 研究企画開発部 ➢ 経歴 ◼ テスター歴:約15年 ◆ プリンタ、デジカメ、PCアプリ、クラウドサービス ◆ 統合テスト・システムテストのテスト設計・実行・管理 ◼ プロダクトオーナー歴:約6年 ◆ ソフトウェアテストの設計をサポートするツール ◼ 博士(工学) 自己紹介 1

Slide 3

Slide 3 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テスト分析について ➢ VSTePについて ➢ VSTePの適用事例 ➢ ツールの活用について ➢ まとめ ➢ 質疑応答 今日の内容 2

Slide 4

Slide 4 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 3 ➢ テスト分析について

Slide 5

Slide 5 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 「テストベースを分析してテスト条件を識別する活動」 JSTQBの用語集より ◼ テストベース・・・テスト分析と設計のベースとして使用するあらゆる情報 ◼ テスト条件・・・テストのための根拠となる、コンポーネントやシステムのテストが可能な一部分 ➢ → 意訳:仕様書などのテストベースを分析して、テストすべきこと(テスト観点)を洗い出す活動 テスト分析とは 4 図の引用:http://www.aster.or.jp/business/contest/doc/2020_U-30_V1.0.0.pdf

Slide 6

Slide 6 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ Webアプリのログイン機能に対するテストの例 → これだけ見て、何をテストできているのか分かりますか? ◼ テストケース1 ◆ 手順:パスワード入力欄に7文字の英数字を入力する ◆ 期待結果:「パスワードが短すぎます」というエラーメッセージが表示される ◼ テストケース2 ◆ 手順:パスワード入力欄に英数字を入力する ◆ 期待結果:入力した文字が「●」に置き換わって表示される ◼ テストケース3 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:正しいパスワードの場合、マイページに遷移する ◼ テストケース4 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:1秒以内にマイページに遷移する テスト分析の必要性 5 何をテストできているのか、 これで必要十分なのか分からない・・。 テストすべきこと(テスト観点)を 洗い出す必要がある!

Slide 7

Slide 7 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 日本で有名な手法 ◼ VSTeP:西康晴氏が考案した手法。このあと解説する。 ◼ HAYST法:秋山浩一氏らが考案した手法 ◼ ゆもつよメソッド:湯本剛氏が考案した手法 ➢ 現場ごとのやり方 ◼ 機能一覧表を作って機能ごとにテスト観点を洗い出す ◼ 機能とテスト観点のマトリクス表を作る ◼ マインドマップでテスト観点を洗い出す テスト分析の色々な手法 6 【参考情報】VSTeP手法の認知度は42.3%で、他のテスト手法に比べ高い結果に。 <調査概要> 調査内容:ソフトウェアの開発手法やテスト手法に関する調査 調査期間:2023年2月10日(金)~16日(木) 調査対象:製品開発およびソフトウェアのテストに携わる方(調査人数:1,600名) 調査企画:株式会社ベリサーブ 実査機関:株式会社クロス・マーケティング 調査方法:インターネット定量調査

Slide 8

Slide 8 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 7 ➢ VSTePについて

Slide 9

Slide 9 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 概要 ◼ 電気通信大学の西康晴氏が考案したソフトウェアテスト開発方法論 ◼ Viewpoint-based Software Test Engineering Process の略 ◆ Viewpoint = テスト観点 ➢ 特長 ◼ テスト観点を洗い出しNGT(Notation for Generic Testing)という記法でツリー構造の図として整理する ◼ 複数のテスト観点をグルーピングし、テストの全体像を示すテストコンテナ図を作成したり、具体的なテストケース のひな形となるテストフレームを作成することで、テストを開発する ➢ メリット ◼ テスト観点をツリー形式の図で視覚的に分かりやすく整理できるため、どんなテスト観点でどのようなテストを行う かが明らかになり、テストの抜け漏れを減らすことやテストの内容をレビューしやすくすることができる VSTePとは 8

Slide 10

Slide 10 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストケースごとの「テストの意図」である ➢ テストケースの(一部)を抽象化したものになる ◼ https://www.jasst.jp/symposium/jasst16tohoku/pdf/S1.pdf ➢ テストケースを作成する上での着眼点、切り口のようなもの ◼ https://blog.aiqveone.co.jp/test_perspective/ ➢ ソフトウェアが正しく動作するために「どの部分に、どのようなテストを実施すべきか?」を定義するための多角的な 視点・切り口をまとめたもの ◼ https://biz.techvan.co.jp/tech-quality/quality-blog/000242.html テスト観点とは 9

Slide 11

Slide 11 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ Webアプリのログイン機能に対するテストの例 ◼ テストケース1 ◆ 手順:パスワード入力欄に7文字の英数字を入力する ◆ 期待結果:「パスワードが短すぎます」というエラーメッセージが表示される ◼ テスト観点 ◆ パスワード、文字数、入力チェック ◼ テストケース2 ◆ 手順:パスワード入力欄に英数字を入力する ◆ 期待結果:入力した文字が「●」に置き換わって表示される ◼ テスト観点 ◆ パスワード、入力内容の画面表示 ◼ テストケース3 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:正しいパスワードの場合、マイページに遷移する ◼ テスト観点 ◆ ログイン判定処理、メールアドレスとパスワードの組み合わせ、画面遷移 ◼ テストケース4 ◆ 手順:メールアドレスとパスワードを入力してログインボタンを押す ◆ 期待結果:1秒以内にマイページに遷移する ◼ テスト観点 ◆ ログイン判定処理、性能 テスト観点の例 10 ここに書いてあるもの以外にも、様々な テスト観点を考える必要がある

Slide 12

Slide 12 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 入力パラメータや、その内容 ◼ パスワード、メールアドレス、文字数、文字種 ➢ テストすべき機能 ◼ ログイン判定処理、文字入力チェック ➢ テスト環境 ◼ 端末のOS、ブラウザ、画面サイズ、など ➢ ユースケース上発生しうる操作 ◼ 複数の端末で同時にログイン、ボタン連打など ➢ 非機能面の確認事項 ◼ 性能、稼働率など ➢ 起こってほしくない問題やテストで見つけたい問題 ◼ SQLインジェクション、文字化け、など ➢ 問題が起きそうな条件や、運用上ありえる状態 ◼ 高負荷、アカウントの状態(ロック中など)、何度も繰り返すなど ➢ 品質特性 ◼ 機能適合性、互換性、使用性、など テスト観点の例 11 ここに書いてあるもの以外にも、様々な テスト観点を考える必要がある

Slide 13

Slide 13 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ①テスト観点を洗い出す、整理する ◼ 使う道具:テスト観点図 ➢ ②テスト観点をまとめて、テストの種類(テストタイプ・テストレベルなど)を整理する ◼ 使う道具:テストコンテナ ➢ ③テスト観点をくっつけて、テストケースのひな形を作る ◼ 使う道具:テストフレーム ➢ ④テストフレームに具体的な値を入れたり、値の組み合わせを作って、テストケースを作る ◼ 使う道具:テスト技法 ※テスト技法はVSTeP独自のものではなく、一般的に知られているものを使えば良い ➢ ⑤(必要に応じて)テストケースの手順を具体化したり、自動化テストコードを書いたりする VSTePの簡単な流れ 12 このあたりが テスト分析に あたる

Slide 14

Slide 14 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 基本はツリー構造。ツリーの親子関係以外に、関連線を引いて、テスト観点同士の関係性を自由に表現できる VSTePで使う道具① テスト観点図 13 テスト対象 テスト観点 <<ステレオタイプ>> テスト対象を表す。基本的 にはトップのノードでのみ使う。 テスト観点を表す。 線に対して記載することで、 テスト観点同士の関係性の 内容を表す。 親子関係を表す。矢印の 先頭のほうが親。 順序依存関係を表す。矢印の 先頭のほうが、順序的に後。 上記以外の関係性を表す。 【記法の説明】

Slide 15

Slide 15 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 複数のテスト観点やテストフレームをまとめた「箱」 ➢ テストタイプ、テストサイクル、テストレベル、などを表現する VSTePで使う道具② テストコンテナ 14 テストコンテナを作るか・作らないか、作る場合どのタイミングで作るかは、 テスト対象の規模やプロジェクトの状況によって変わると思われる → のちほど、作る場合・作らない場合のそれぞれのプロセスを紹介する 性能テスト ログイン機能の機能テスト テストサイクル 1回目 コンテナのイメージ→ システムテスト

Slide 16

Slide 16 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナは入れ子にしたり、線でつないで関係性を表現することができる → テストコンテナ図 ◼ テストの全体像を整理したい、示したい、という場合、作ると良い VSTePで使う道具② テストコンテナ 15 機能テスト ユースケース テスト スモークテスト システムテスト パフォーマンステスト 性能テスト 負荷テスト 回帰テスト

Slide 17

Slide 17 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストフレームを作って、「ある機能に対して、ある入力を与えて、ある出力を確認する」などのテストケースのひな 形を表現する ◼ テスト観点は機能・入力・出力などのさまざまな要素に分けて整理することがあるため、くっつける必要がある ➢ テストフレームを作成するには、テスト観点図からいくつかのテスト観点を取り出して、関連線でつなぐ ➢ テストフレームに名前をつけると、成果物を他の人に共有する際やレビューする際などに認識合わせしやすいと思う VSTePで使う道具③ テストフレーム 16

Slide 18

Slide 18 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ①テスト観点を洗い出す、整理する ◼ 使う道具:テスト観点図 ➢ ②テスト観点をまとめて、テストの種類を整理する ◼ 使う道具:テストコンテナ ➢ ③テスト観点をくっつけて、テストケースのひな形を作る ◼ 使う道具:テストフレーム ➢ ④テストフレームに具体的な値を入れたり、値の組み合わせ を作って、テストケースを作る ◼ 使う道具:テスト技法 ➢ ⑤(必要に応じて)テストケースの手順を具体化したり、 自動化テストコードを書いたりする VSTePの簡単な流れ(再掲) 17

Slide 19

Slide 19 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナを作らない例 ◼ 規模が小さければ、テストコンテナは作らないのもアリ ◼ 実際は一直線ではなく、いったりきたりする ◼ 本日は、このあと、このプロセスに沿ってテストケースを作る例を説明する VSTePを使ったテストづくりのプロセスの一例① 18 テスト観点を 識別・整理す る テスト観点図 テストベース (仕様書 など) テスト観点を くっつけて、テス トフレームを作 る テストフレーム テスト技法を 適用して、テス トケースを作る テストケース あとは、手順を具体化したり、 実行管理用のフォーマットに 入れ込んだりする Step1 Step2 Step3

Slide 20

Slide 20 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナを作る例 ◼ 初めて入ったプロジェクトで、いちからテストづくりする場合、こういうプロセスでやることがある ◆ そこそこの規模になると、1枚のテスト観点図にすべてのテスト観点を書くのが難しいと思われため、2段階に分けている ◼ 西先生に確認したところ、VSTePによるテストづくりのプロセスとして間違っていない、とのこと VSTePを使ったテストづくりのプロセスの一例② 19 抽象度が高め のテスト観点を 識別・整理す る やるべきテスト の種類を決め て、順序などの 関係性を整理 する 抽象的な テスト観点図 テストコンテナ 図 テストベース (仕様書 など) テストコンテナ ごとに、詳細な テスト観点を 識別・整理す る 詳細な テスト観点図 これ以降の、テストフレーム・テストケースを作る プロセスは前ページと同じなので省略

Slide 21

Slide 21 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ あるクラウドサービスではメールアドレスとパスワードを入力してログインできる ➢ メールアドレス入力欄とパスワード入力欄には、半角英数記号のみ入力できる ➢ メールアドレスは256文字以下の場合のみ有効とする ➢ パスワードは8文字以上64文字以下で、英大文字・英小文字・数字をすべて含む場合のみ有効とする ➢ 入力されたメールアドレス・パスワードが上記の文字数・文字種を満たさない場合は、入力欄にエラーを表示する ➢ ログインするとマイページを表示し、「ログインに成功しました」というメッセージを表示する 以下のテストベースを題材に、VSTePによるテストづくりの例を解説 20

Slide 22

Slide 22 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ あるクラウドサービスではメールアドレスとパスワードを入力してログインできる ➢ メールアドレス入力欄とパスワード入力欄には、半角英数記号のみ入力できる ➢ メールアドレスは256文字以下の場合のみ有効とする ➢ パスワードは8文字以上64文字以下で、英大文字・英小文字・数字をすべて含む場合のみ有効とする ➢ 入力されたメールアドレス・パスワードが上記の文字数・文字種を満たさない場合は、入力欄にエラーを表示する ➢ ログインするとマイページを表示し、「ログインに成功しました」というメッセージを表示する Step1.テスト観点を識別する 21 入力はメールアドレス・ パスワードがある。文字 種・文字数を考慮して テストする必要がある ログインの判定処理 や、入力チェックの 機能がある 出力として、エラー表示、 メッセージ表示、マイ ページへの画面遷移が ある

Slide 23

Slide 23 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストベースから識別したテスト観点を列挙 Step1.テスト観点を識別する 22 メールアドレス パスワード ログイン判定 文字種 文字数 入力チェック エラー表示 メッセージ表 示 画面遷移

Slide 24

Slide 24 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 階層構造(ツリー構造)で整理するためにテスト観点をグルーピング Step1.テスト観点を整理する 23 メールアドレス パスワード ログイン判定 文字種 文字数 入力チェック エラー表示 メッセージ表 示 画面遷移 出力に関するもの 入力に関するもの 処理に関するもの

Slide 25

Slide 25 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 親子関係を整理して、ツリー構造の図に書き出す ➢ 親子関係以外の関係があるテスト観点同士は、関連線を繋いでステレオタイプを記載する ◼ 下図の <<組み合わせ>> がステレオタイプの例 Step1. テスト観点を整理する 24

Slide 26

Slide 26 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ ボトムアップ・トップダウンの両面で考えると良い テスト観点を識別・整理するときのポイント 25 ボトムアップ トップダウン 仕様書などに書いていない テスト観点も、必要に応じて 追加する

Slide 27

Slide 27 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テスト観点図の第1階層に何を置くか、下位階層をどんな構造で分解して整理するかは難しい問題 ◼ 決まった型や分解の方針があるとやりやすい ◆ 入力・処理・出力という型で分解 ◆ CIBFW(Condition, Item, Behavior, Fault, World)という型で分解 ◆ 機能をベースに分解 ◆ 画面をベースに分解 ◆ 品質特性をベースに分解 ➢ VSTePのテスト観点図では、テスト観点は単語や熟語のような短めな言葉で書くことが多い ◼ 長めの文章で書いても良いが、短めのほうが図としてスッキリ書くことができる ◼ 文章で長く書くと複数のテスト観点が入り混じる懸念があるので、短く分けて書くと良い テスト観点を識別・整理するときのポイント 26

Slide 28

Slide 28 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ 入力(条件)、処理や機能(テスト対象)、出力(振る舞い)に該当するテスト観点をくっつけると作りやすい ◼ 下図の例・・・入力:色々な文字種(文字数)のメールアドレス、 処理:入力チェック、 出力:エラー表示 Step2. テスト観点をくっつけて、テストフレームを作る 27 テスト観点の配置に決まりは ないが、左から順に、入力・ 処理・出力の順に並べると、 分かりやすいと思う

Slide 29

Slide 29 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストフレームごとにテスト技法を適用してテストケースを作ると良い Step3. テスト技法を適用して、テストケースを作る 28 境界値分析

Slide 30

Slide 30 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 29 ➢ VSTePの適用事例

Slide 31

Slide 31 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ Miro board link: https://miro.com/app/board/uXjVMahyOsA=/ ➢ Password: vstep2023 VSTePの適用事例① 炊飯器の炊飯機能 30

Slide 32

Slide 32 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ Miro board link: https://miro.com/app/board/uXjVMahBOOU=/ ➢ Password: vstep2023 VSTePの適用事例② Webアプリのプロフィール編集画面 31

Slide 33

Slide 33 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ どんなテストをAutifyで作るかを検討する方法の一案 ~VSTeP × Autify でのテストづくり~ ◼ https://qiita.com/ktanizaki/items/d128fb070007471d8404 VSTePの適用事例③ 実務で使ってみた事例 32 テスト観点図 テストフレーム

Slide 34

Slide 34 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 33 ➢ ツールの活用について

Slide 35

Slide 35 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢オンラインテスト技法ツール: (ギホーズ) ◼ VSTePによるテスト分析の機能を2023年3月29日にリリース! ➢ オンラインホワイトボードツール:Miroなど ◼ 付箋・マインドマップ・図形・文字を自由に配置して、テスト観点図・テストフレーム・テストコンテナを作成できる ◼ NGTの記法に沿ったテスト観点図を作ろうとすると、少々手間 ➢ マインドマップツール:FreeMind、XMindなど ◼ テスト観点図を作成できる。ただし、 NGTの記法とは若干異なる。 ◼ テストフレームは何か別のツールで作ることになりそう(ExcelやGoogleスプレッドシートなどを活用?) ➢ ※他にもこういうツールを使えるよ!使っているよ!という方は、ぜひコメントください VSTePを活用したいときに使えるツール 34

Slide 36

Slide 36 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ https://www.veriserve.co.jp/gihoz/ GIHOZのVSTeP機能のご紹介 35

Slide 37

Slide 37 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストフレームへのテスト技法の適用 ◼ GIHOZの既存のテスト技法の機能と連携予定 GIHOZのVSTeP機能のアップデート予定① 36

Slide 38

Slide 38 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テストコンテナの作成 ◼ まずは、テストフレームを整理するための「箱」としてのテストコンテナを作れるように ◼ ゆくゆくは、テストコンテナ図を作成できるようにすることも検討中 GIHOZのVSTeP機能のアップデート予定② 37

Slide 39

Slide 39 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 38 ➢ まとめ

Slide 40

Slide 40 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 ➢ テスト分析について ◼ 必要十分なテストを作るために、仕様書などのテストベースを分析して、テストすべきこと(テスト観 点)を洗い出す活動 ➢ VSTePについて ◼ VSTePは、電気通信大学の西康晴氏が考案したソフトウェアテスト開発方法論 ◼ テスト観点図・テストコンテナ・テストフレームを作って、テストを開発する ➢ ツールの活用について ◼ GIHOZのVSTeP機能を使うと、テスト観点図・テストフレームをさくさく作れる ◼ その他のツールを活用する場合、Miroなどのオンラインホワイトボードツールを使うと良い まとめ 39

Slide 41

Slide 41 text

© 2022 VeriServe Corporation 会社名・製品名・サービス名は、各社の登録商標または商標です。 勉強会は以上で終了です。お疲れさまでした。 参加者アンケートにもご協力をお願いします。 40